-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Phase 2 Plugins - Meta Issue #2600
Comments
For we accomplish the goal: a) Add samples b) Add the e2e test to build the binary from the samples added and check that the kubebuilder CLI is capable of to properly using them by creating a project with the external plugin and verifying the result ( very simple we do not need to check all details. ) c) Add the docs and a tutorial to let people know how to create their own plugins that can be consumed by
Could we update the description of this issue as well accordingly? Also, I am adding it as a priority for the project since we accepted the implementation but we are missing these parts which can make it harder we ensure its maintainability and usability. c/c @everettraven |
We have now the PR"#2810 |
@rashmigottipati sorry to ping you but do you happen to have an example of a python plugin as mentioned in this comment? No worries if its not ready for a PR I've just been looking into implementing a kubebuilder plugin in python and would love a look at how someone else approached it. |
@HonakerM Absolutely. I will create a PR with the example of a python plugin. |
@HonakerM https://github.com/rashmigottipati/POC-Phase2-Plugins here's a sample example python plugin. Please let me know if you have any questions or need any help with this! |
@rashmigottipati thank you so much for putting that repo together. It's really helpful in understanding the plugin structure and process. I had one question regarding how kubebuilder discovers these external plugins/executables? Will I have to extended the kubebuilder executable and bundle my plugin with it? I see your PR for implementing the discovery process but I'm unsure how to use it in the [EDIT] After further investigating your PR I see how kubebuilder has a few set folder paths that it checks. Do you think it would be viable to add a new cli option like |
Hi @HonakerM, That is described here: https://github.com/kubernetes-sigs/kubebuilder/blob/master/designs/extensible-cli-and-scaffolding-plugins-phase-2.md#discovery-of-plugin-binaries (but basically you need to have a binary) |
@camilamacedo86 I'm not that much confident but I'd like to join and develop the items you listed. |
/assign @Kavinjsir |
@Kavinjsir Thanks for taking this on. I am happy to answer any questions you may have and help any way I can. I would take this on myself but I just haven't had the time available to dedicate to writing the e2e tests and documentation :( |
/remove-lifecycle frozen |
Why did you remove the |
This issue is labeled with You can:
For more details on the triage process, see https://www.kubernetes.dev/docs/guide/issue-triage/ /remove-triage accepted |
/unassign |
/assign @Eileen-Yu |
All is done. Great work @Eileen-Yu 🥇 |
What do you want to happen?
The propose of this issue is to track Phase 2 Plugins effort and centralize all related discussions here so that the goals and next steps are aligned, and also share with the community on features to expect from Phase 2 Plugins Implementation.
This is the original feature request created that discusses the main requirements for Phase 2 plugins, which is to have a plugin architecture that supports:
Phase 2 Design Proposal
This proposal discusses how to discover and use external plugins, also referred to as out-of-tree plugins (which can be implemented in any language).
Phase 2 Plugins implementation
This PR handles discovery and chaining of external plugins.
Another goal of this this issue is to track the remaining work that needs to be completed for Phase 2 Plugins:
documentation; we need to update Plugin Section on how to create and run an external plugin.
Provide an example of an external plugin for users. This example could reside under the testdata dir.
e2e tests discovering and running the sample plugin.
Extra Labels
No response
The text was updated successfully, but these errors were encountered: