-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
KEP: Add kubectl plugin manager (krew) #2340
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Assign the PR to them by writing The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
||
The kubectl plugin system allows users to extend kubectl by placing extension | ||
executables in a plugin directory. This allows new subcommands and subcommand | ||
trees to be added in the kubectl CLI interface under `kubectl plugin <NAME>`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's really see if we can remove the "plugin" word from the cmd line - that's a pretty big UX issue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
save the "plugin" word for managing plugins
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That makes sense. I think that issue is out of scope for this KEP and is related to https://github.com/kubernetes/community/blob/a6dcf8678b5c3febaacf079b28174b4a2cbd88e2/contributors/design-proposals/cli/kubectl-extension.md
/ok-to-test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/hold
As part of 1.12 release plugins are undergoing significant refactoring, due to this factor I'd prefer to hold this proposal until after that initial effort is implemented. Additionally, from the several discussion we've had during past several months I haven't heard of anyone bringing the topic of managing plugins to the table for sig-cli. Moreover, each time we discussed plugins we clearly stated we don't want to manage them, at least not yet.
Before proceeding this further I'd like to see this topic being presented during one of sig-cli meetings and most importantly take into account planned changes to the plugins mechanism.
#### Capabilities | ||
|
||
Note: This proposal has already been implemented in | ||
`github.com/GoogleContainerTools/krew` as a proof of concept. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does not exist.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The repository is now publicly accessible 😄
Same URL: https://github.com/GoogleContainerTools/krew
@lbb: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@lbb now that we can plugins up and ready can you update the current proposal and this can land? |
@soltysh are you referring to https://github.com/kubernetes/community/blob/master/keps/sig-cli/0024-kubectl-plugins.md? I'm finding it difficult to track the status of that KEP. |
I'm tempted to hold off on this KEP until there is a kubectl release with the new plugin model shipped:
After we feel confident, we should come back to make progress on the KEP. |
The implementation for that KEP will be available as part of the 1.12 release |
Now that we have the plugin implementation ready as part of 1.12 release, this can continue. |
Small status update: we're still working on porting krew to the new plugin model introduced in 1.12. There are quite a lot of blocking changes, but we're close to releasing a krew v0.2 that's testable. |
/kind kep |
editor: lbb | ||
creation-date: 2018-07-03 | ||
last-updated: yyyy-mm-dd | ||
status: provisional |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given the discussion on the issue it sounds like this KEP is in the implementable
status. See https://github.com/kubernetes/community/blob/master/keps/0001-kubernetes-enhancement-proposal-process.md#kep-workflow
### Scenarios (standalone only) | ||
|
||
* User wants to install krew. They can run one `curl` command to install the | ||
plugin manager, the plugin manager should then be able to function properly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will the install scenario be the case or will it be apart of kubectl as earlier stated? Should this define the process for the proof of concept or what's going to be part of the toolchain?
@@ -0,0 +1,237 @@ | |||
--- | |||
kep-number: 14 | |||
title: Krew |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The name confused me when I first looked at this. I understand that krew is the name of the proof of concept. Should the title be more expressive of the purpose?
plugin manager to discover and manage plugins. | ||
* Developer wants to update their plugin and make those changes public. | ||
They create a new PR against the index repository updating their plugin meta | ||
description file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do developers pin or otherwise deal with versions of plugins?
@soltysh Where is this at in terms of its lifecycle? How far is it from being merged where updates can be via other PRs? Is krew going to be moved under k8s control? |
REMINDER: KEPs are moving to k/enhancements on November 30. Please attempt to merge this KEP before then to signal consensus. Any questions regarding this move should be directed to that thread and not asked on GitHub. |
KEPs have moved to k/enhancements. Any questions regarding this move should be directed to that thread and not asked on GitHub. |
@justaugustus: Closed this PR. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@lbb I understand this PR should have been moved to k/enhancements. When will this happen? |
No description provided.