-
Notifications
You must be signed in to change notification settings - Fork 497
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 backup-diff plugin to index #3449
Conversation
🤖 Beep beep! I’m a robot speaking on behalf of @ahmetb. 🤖 Thanks for submitting your kubectl plugin to Krew! In the meanwhile, here are a few tips to make your plugin manifest better:
Thanks for your patience! |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: milapj 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 |
Welcome @milapj! |
Thanks for the submission. Based on your description, this is not too different than what a few UNIX tools and existing plugins offer, e.g.
In these situations, we typically encourage use of existing tools and UNIX tool composability principle instead of creating a separate plugin for every combination tools. These plugins tend to go unmaintained over time, which benefits neither the users nor the maintainer. |
well, there are quite a few plugins in the index whose behavior can be replicated using stock kubectl + unix commands. This plugin offers a way to keep track of the state per time per resource, which can be accessed via a pointer. Your proposed solution can get messy really quickly, users might want to write a shell script anyway (like I did). That's the reason I wrote this plugin. Just to gather some feedback -
|
We try to keep those to a minimum (and they might be added before we started questioning usefulness of plugins). We historically rejected many plugins because they could be achieved by putting together 1-2 commands or pipes, or using other kubectl plugins. If you look at label You cited scenarios like disaster recovery, but I am assuming the plugin works on only one resource at a time. I don't think this is all that much different than the snipped I listed above. For example, if I wanted to back up all resources, I would use In the past, I've given plugin authors advice to do some user research, and listen to feedback to come up with actually useful plugins that solve an actual problem. It's really easy to implement some plugin idea by hacking a few lines of a bash script, but that doesn't make the tool broadly useful. Hope you understand my point –if we accepted every single plugin, it would be an enormous dumping ground. So we try to do our best to curate the list. Also, you can still distribute your plugin via Krew using custom indexes: https://krew.sigs.k8s.io/docs/developer-guide/custom-indexes/ That way, users can still install your plugin via Krew, but they'll be downloading the plugin manifest from your repository instead of krew-index. |
I do understand your point and I agree with it. Wouldn't want krew to become like npm hah. Well, I guess I'll come back with some other new idea for a plugin. Cheers! |
closing this PR, thanks @ahmetb, for your feedback |
backup-diff
creates a backup of a resource and compares the change between the backed-up state at a specific point in time and the current state, showing the state drift.Functions similar to git diff. This can be pretty useful during disaster recovery or debugging to recover previous states of resources that were updated on the fly w/o having to re-release.
The backup is stored at
/tmp/backups/<resource-type>
by default, but it can be stored at a user-specified path. The resources can also be re-created using the backup files.github repo
kubectl-backup-diff-compressed.mp4