Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add github.com/verb/kubectl-debug to plugins #20

Closed
wants to merge 1 commit into from

Conversation

verb
Copy link

@verb verb commented Sep 10, 2019

This creates a directory for experimental plugins and imports https://github.com/verb/kubectl-debug for consideration for inclusion in kubectl itself (https://features.k8s.io/1204).

As discussed in a recent sig-cli meeting, kubectl debug closely resembles kubectl exec and we should consider adding it into kubectl proper. Until this is decided I'd like to make this functionality available as a plugin to facilitate user feedback. Since we will refer to it from https://kubernetes.io I'd like for it to live in an official project repo, and cli-experimental seems like a good place while it's being discussed with sig-cli.

@k8s-ci-robot
Copy link
Contributor

Welcome @verb!

It looks like this is your first PR to kubernetes-sigs/cli-experimental 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/cli-experimental has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Sep 10, 2019
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: verb
To complete the pull request process, please assign pwittrock
You can assign the PR to them by writing /assign @pwittrock in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Sep 10, 2019
@seans3
Copy link

seans3 commented Sep 10, 2019

/assign

@seans3
Copy link

seans3 commented Sep 10, 2019

/sig cli

@k8s-ci-robot k8s-ci-robot added the sig/cli Categorizes an issue or PR as relevant to SIG CLI. label Sep 10, 2019
@verb
Copy link
Author

verb commented Sep 27, 2019

After thinking about it a bit more, I think this is the wrong approach. This should be a separate experimental repo while under consideration by sig-cli. Eventually, one of three things will happen:

  1. sig-cli will adopt this functionality into kubectl and the plugin code will necessarily be rewritten into kubectl, making this code redundant.
  2. sig-cli will decline to adopt this functionality in kubectl but it should remain a plugin. Regardless of whether this plugin continues to existing in kubernetes-sigs, it should migrate to a standalone repo.
  3. Ephemeral containers fails to graduate from alpha and this code is deleted. It's probably easier in this case to just archive the repo.

While we're considering it, I'd like the plugin to be available so we can gather feedback. To integrate with krew I need to be able to make binary releases, which is harder when this is part of cli-experimental. (I'm not sure if I will have permission to make binary releases to a kubernetes-sigs repo, but if not it's still easier for me to maintain a fork with binary releases if this is a standalone repo.)

@seans3 @soltysh @pwittrock Would sig-cli be willing to sponsor a kubernetes-sigs repo for "cli-debug" while this is under consideration? I think this fits well with the goals for the kubernetes-sigs org.

@soltysh
Copy link

soltysh commented Oct 14, 2019

@seans3 @soltysh @pwittrock Would sig-cli be willing to sponsor a kubernetes-sigs repo for "cli-debug" while this is under consideration? I think this fits well with the goals for the kubernetes-sigs org.

I'd suggest creating a kubectl plugin under your private repo but one that will be included in krew's index until sig-cli decides the further steps.

@verb
Copy link
Author

verb commented Oct 21, 2019

I'd suggest creating a kubectl plugin under your private repo but one that will be included in krew's index until sig-cli decides the further steps.

@soltysh This is underway in kubernetes-sigs/krew-index#248, but there was pushback from kubernetes/website approvers to referencing private repos from official documentation (kubernetes/website#15994 (comment))

Right now the documentation on http://kubernetes.io about how to use this feature is unacceptably difficult to follow. It's important that we provide something easier sooner rather than later. Maybe referencing a plugin in the krew-index would be good enough.

@kbhawkey @simplytunde @ahmetb Is it acceptable for https://kubernetes.io to reference krew plugins if they're backed by a private repo?

@ahmetb
Copy link
Member

ahmetb commented Oct 21, 2019

Is it acceptable for kubernetes.io to reference krew plugins if they're backed by a private repo?

In general, the docs are for stuff that are officially maintained. IIRC we even pushed vendor-specific docs out of kubernetes.io. Similarly, I think we would need a repo in one of k8s orgs (with proper code approvals etc) to endorse something in the docs.

For example, we still have not mentioned krew in the documentation for kubectl plugins yet, but there's an open PR about it.

@verb
Copy link
Author

verb commented Oct 25, 2019

At the last sig-cli meeting we agreed to focus on adding a debug command to kubectl proper which would contain this (and other) functionality rather than making an experimental plugin.

I'll close this issue and follow up with sig-docs about possible ways we could document the feature in the interim.

@verb verb closed this Oct 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. sig/cli Categorizes an issue or PR as relevant to SIG CLI. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants