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

Closed
wants to merge 2 commits into
base: master
from

Conversation

Projects
10 participants
@lbb

lbb commented Jul 3, 2018

No description provided.

lbb added some commits Jul 3, 2018

@k8s-ci-robot

This comment has been minimized.

Contributor

k8s-ci-robot commented Jul 3, 2018

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: idvoretskyi

Assign the PR to them by writing /assign @idvoretskyi in a comment when ready.

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

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>`.

This comment has been minimized.

@duglin

duglin Jul 3, 2018

Contributor

let's really see if we can remove the "plugin" word from the cmd line - that's a pretty big UX issue

This comment has been minimized.

@duglin

duglin Jul 3, 2018

Contributor

save the "plugin" word for managing plugins

This comment has been minimized.

@lbb
@idealhack

This comment has been minimized.

Member

idealhack commented Jul 4, 2018

/ok-to-test

@soltysh

/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.

This comment has been minimized.

@soltysh

soltysh Jul 4, 2018

Contributor

Does not exist.

This comment has been minimized.

@lbb

lbb Jul 16, 2018

The repository is now publicly accessible 😄
Same URL: https://github.com/GoogleContainerTools/krew

@k8s-ci-robot

This comment has been minimized.

Contributor

k8s-ci-robot commented Jul 20, 2018

@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.

@soltysh

This comment has been minimized.

Contributor

soltysh commented Aug 24, 2018

@lbb now that we can plugins up and ready can you update the current proposal and this can land?

@errordeveloper

This comment has been minimized.

Member

errordeveloper commented Aug 31, 2018

@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.

@ahmetb

This comment has been minimized.

Member

ahmetb commented Aug 31, 2018

I'm tempted to hold off on this KEP until there is a kubectl release with the new plugin model shipped:

  1. The plugin model change breaks krew and renders it unusable. We need to refactor krew and its plugin manifest to install plugins to somewhere in PATH.
  2. We don't have enough plugins to understand if the manifest, installation system and the upgrade model is sufficient and satisfies users and packaging across multiple platforms (esp. Windows). We are working on getting more plugin devs to adopt the krew packaging format.

After we feel confident, we should come back to make progress on the KEP.

@juanvallejo

This comment has been minimized.

Member

juanvallejo commented Aug 31, 2018

@errordeveloper

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.

The implementation for that KEP will be available as part of the 1.12 release

@soltysh

This comment has been minimized.

Contributor

soltysh commented Sep 25, 2018

Now that we have the plugin implementation ready as part of 1.12 release, this can continue.
/hold cancel

@ahmetb

This comment has been minimized.

Member

ahmetb commented Sep 25, 2018

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.

@justaugustus

This comment has been minimized.

Member

justaugustus commented Oct 13, 2018

/kind kep

@thockin thockin changed the title from Add kubectl plugin manager (krew) KEP to KEP: Add kubectl plugin manager (krew) Oct 18, 2018

editor: lbb
creation-date: 2018-07-03
last-updated: yyyy-mm-dd
status: provisional

This comment has been minimized.

@mattfarina

mattfarina Oct 31, 2018

Member

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.

This comment has been minimized.

@mattfarina

mattfarina Oct 31, 2018

Member

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

This comment has been minimized.

@mattfarina

mattfarina Oct 31, 2018

Member

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.

This comment has been minimized.

@mattfarina

mattfarina Oct 31, 2018

Member

How do developers pin or otherwise deal with versions of plugins?

@mattfarina

This comment has been minimized.

Member

mattfarina commented Oct 31, 2018

@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?

@m1kola m1kola referenced this pull request Nov 15, 2018

Open

kryp as a kubectl plugin #12

@justaugustus

This comment has been minimized.

Member

justaugustus commented Nov 20, 2018

REMINDER: KEPs are moving to k/enhancements on November 30. Please attempt to merge this KEP before then to signal consensus.
For more details on this change, review this thread.

Any questions regarding this move should be directed to that thread and not asked on GitHub.

@justaugustus

This comment has been minimized.

Member

justaugustus commented Dec 1, 2018

KEPs have moved to k/enhancements.
This PR will be closed and any additional changes to this KEP should be submitted to k/enhancements.
For more details on this change, review this thread.

Any questions regarding this move should be directed to that thread and not asked on GitHub.
/close

@k8s-ci-robot

This comment has been minimized.

Contributor

k8s-ci-robot commented Dec 1, 2018

@justaugustus: Closed this PR.

In response to this:

KEPs have moved to k/enhancements.
This PR will be closed and any additional changes to this KEP should be submitted to k/enhancements.
For more details on this change, review this thread.

Any questions regarding this move should be directed to that thread and not asked on GitHub.
/close

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment