-
Notifications
You must be signed in to change notification settings - Fork 511
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 plugin view-allocations 0.5.0 #294
Add plugin view-allocations 0.5.0 #294
Conversation
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA. It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.
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. I understand the commands that are listed here. |
Welcome @davidB! |
I signed it |
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.
Thanks for submitting this great helper! I'll definitely use it :)
I left a few comments in-line. Mainly, I think you should improve the documentation which will also help for plugin adoption. It's easy to get started, but you should take some time to think how to explain the meaning of the output. Otherwise, many potential users will lose interest and not use it.
plugins/view-allocations.yaml
Outdated
shortDescription: Prints the environment variables. | ||
homepage: /~https://github.com/davidB/kubectl-view-allocations # optional, url for the project homepage | ||
description: | | ||
This plugin lists allocations (cpu, memory, gpu,... X requested, limit, allocatable,...). |
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.
I think it would be worth to briefly explain the difference between kubectl top nodes
and your plugin.
Also, could you explain a little more what is the meaning of the columns in your output (should not be here but on the project page). It will help the adoption of your tool, if you elaborate on Request
, Limit
and how that connects to a given container resource request spec.
@davidB Also you should think about distributing statically linked binaries. I'm on a pretty normal Linux system and I get:
|
Thanks for your useful the feedback, I'll fix them. |
Also please make sure you import the Rust equivalent of Go package:
so cloud k8s clusters work with this plugin. I assume you use api directly and not shell out to kubectl. |
For changes related to the README/documentation of the project and compilation (why openssl is not statictly linked,...) they will be part of the next release of the plugin (after this week, I'm in biz trip and I don't have access to dektop config to debug the linking issue,...). |
Doesn't work well on GCP. :( |
I also don't think you should need static linking for sure, I'm ok with having dynamically linking plugin binaries, especially given the benefits of OS package manager updating those common libraries on the client machine frequently. |
/hold Until the auth issues are fixed. We can get the plugin in, but I don't think most users on cloud providers will be able to take advantage of it. I left a comment at kube-rs/kube#84 on how client-go authenticates to GCP. Hope someone implements it. |
I should release a new version next week(end) with more static-linked dependency, and maybe a workaround to manage expired token (until kube-rs include a cleaner solution, may I'll made a PR). |
/hold |
kubectl-view-allocations 0.5.0 was released, with fixes for reported issue
feedbacks are welcome. |
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.
Hi! Thanks for submitting a second revision. This revision I could test on my machine, and it looks pretty neat!
My major point about improving the documentation still stands, though. I see that you added some more sections on the plugins README, but this still does not explain what that means. In particular, you should think about how you can explain the meaning of the columns. Please see my comment above how you could improve this.
We can merge without the docs improvements, but you really should invest some time here, if you want your plugin to be used.
There is one more important change to make: please include and install a LICENSE file.
Finally, can you comment about the GKE auth status? I could not test this -- so is it working already?
plugins/view-allocations.yaml
Outdated
matchLabels: | ||
os: darwin | ||
arch: amd64 | ||
uri: /~https://github.com/davidB/kubectl-view-allocations/releases/download/0.5.0/kubectl-view-allocations_0.5.0-x86_64-apple-darwin.tar.gz |
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.
You should also install a license file. As you are defaulting to the copy-all rule, it will be sufficient to just include the LICENSE
file in your plugin archive.
Hi do not have access to any GKE cluster, but I guess my workaround should work, @ahmetb can give a quick try to this version please ? @corneliusweig I include the LICENSE.txt for the next version (0.5.1), I'll release it this week after adding info to the README. Can you update the /~https://github.com/kubernetes-sigs/krew/blob/master/docs/DEVELOPER_GUIDE.md with the requirement about LICENSE file for coming developer ? Thanks for your valuable feedback. |
@davidB kubernetes-sigs/krew#394 was merged yesterday. Would you see the need for more information around this? Btw, you were just unlucky with regards to the license. We are in the process of making this a requirement for plugins. |
the file is named |
Yes absolutely. Ensuring that the license is there is part of the review. As long as it is clear that this is a license file, you can pick whatever you like. |
I also update the README.md (description) on github. |
Hi @davidB, login on GKE looks good now 👍. My recommendation would be to also include more help text in the command itself, i.e. when running /lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: corneliusweig, davidB 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 |
This plugin lists allocations (cpu, memory, gpu,... X requested, limit, allocatable,...).
[x] Make sure you read the Plugin Naming Guide: https://sigs.k8s.io/krew/docs/NAMING_GUIDE.md
[x] Verify you can install your plugin locally: kubectl krew install --manifest=[...] --archive=[...]
Thanks