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

Proposal: Add Homepage, License and Author fields to Plugin #157

Closed
superbrothers opened this issue Mar 6, 2019 · 2 comments · Fixed by #158
Closed

Proposal: Add Homepage, License and Author fields to Plugin #157

superbrothers opened this issue Mar 6, 2019 · 2 comments · Fixed by #158

Comments

@superbrothers
Copy link
Contributor

I propose new three fields for Plugin.

  • spec.homepage: Optional project homepage, only for documentation purposes
    • Motivation: When I find bugs in a plugin, I’d like to know the repository of the plugin easily in order to send an issue.
  • spec.license: Optional license such as Apache-2.0 or MIT, only for documentation purposes
    • Motivation: When I find a plugin as it seems convenient, I’d like to know the license of the plugin easily.
  • spec.author: Optional project author, only for documentation purposes
    • Motivation: When I find an awesome plugin, I’d like to know the author of the plugin easily.

Along with adding the new fields, krew info command will be changed to show homepage, license, and author as follows:

$ kubectl krew info krew
NAME: krew
URI: https://storage.googleapis.com/krew/v0.2.1/krew.tar.gz
SHA256: dc2f2e1ec8a0acb6f3e23580d4a8b38c44823e948c40342e13ff6e8e12edb15a
VERSION: v0.2.1
HOMEPAGE: https://github.com/GoogleContainerTools/krew
LICENSE: Apache-2.0
AUTHOR: https://github.com/ahmetb
CAVEATS:
\
 |  krew is now installed! To start using kubectl plugins, you need to add
 |  krew's installation directory to your PATH:
 |    * macOS/Linux:
 |      - Add the following to your ~/.bashrc or ~/.zshrc:
 |          export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
 |      - Restart your shell.
 |    * Windows: Add %USERPROFILE%\.krew\bin to your PATH environment variable
 |  Run "kubectl krew" to list krew commands and get help.
 |  You can find documentation at https://github.com/GoogleContainerTools/krew.
/

The below is krew.yaml which is added the new three fields:

diff --git a/plugins/krew.yaml b/plugins/krew.yaml
index dca2408..e811ac0 100644
--- a/plugins/krew.yaml
+++ b/plugins/krew.yaml
@@ -19,6 +19,9 @@ metadata:
 spec:
   version: "v0.2.1"
   shortDescription: Package manager for kubectl plugins.
+  homepage: https://github.com/GoogleContainerTools/krew
+  license: Apache-2.0
+  author: https://github.com/ahmetb
   caveats: |
     krew is now installed! To start using kubectl plugins, you need to add
     krew's installation directory to your PATH:

https://github.com/superbrothers/krew/tree/homepage-license-author is PoC of this proposal.

@ahmetb
Copy link
Member

ahmetb commented Mar 6, 2019

Thanks for the proposal. I think in the immediate term we need a link that goes to documentation or project home page so that we can point users to the documentation that way. So +1 for that.

As for author, in many cases there will be multiple, so I think we should leave the author out.

Similarly with license, I am erring on the side of not including it as almost any package manager (unless it's a language module manager like npm, pip etc), won't tell you what’s the involved license.

So I'm okay with adding a homepage field and proactively update existing plugins. 👍

@superbrothers
Copy link
Contributor Author

Thank you for your feedback. I understand your opinion. So I will create a PR which adds a homepage field. 😊

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

Successfully merging a pull request may close this issue.

2 participants