🎉 [Google Summer of Code 2023] - Leverage Phase 2 Plugins API to allow creation and usage of external plugins #3309
Replies: 4 comments 1 reply
-
So excited when finding the idea and glad to see it for GSoC! I have great interest in this project, and would love to apply. Noticed that there is already a detailed proposal, as well as a prototype. It seems the rest task is mainly about testing and docs as listed in this meta issue. |
Beta Was this translation helpful? Give feedback.
-
🎉 We're also excited to announce that @Eileen-Yu will be working on this one under the Google Summer Code Program. |
Beta Was this translation helpful? Give feedback.
-
A record has been created to showcase the outcomes of this project. You can view it here: https://youtu.be/ksMUkIgfpXA?si=vPTMx0JP5eAy3Ixe 🎉 We'd like to congratulate the outstanding student behind this achievement, @Eileen-Yu. A big shoutout to @everettraven for the excellent mentoring throughout this project. We also extend special recognition to @Kavinjsir, who co-mentored and provided unwavering support to @Eileen-Yu alongside @rashmigottipati . Great work, team! 🌟 |
Beta Was this translation helpful? Give feedback.
-
Closing since the project finished |
Beta Was this translation helpful? Give feedback.
-
🔈 Kubebuilder is part of the Google Summer Code Program 2023. This project is applied under the CNFC organization.
This discussion is meant to help talk about Phase 2 Plugins for the Google Summer of Code.
Contributor Proposal Submission period: March 20 - April 4 (1800 UTC)
To attend the program, you must be an open-source beginner or a student. Check out the GSoC FAQ entry for eligibility requirements. Also, you can check out some videos to know more about.
You must apply as a student (GSoC Contributor) to the program and propose this project. It does not need to be big or verbose. Then, you can be stunned by its timeline to know if your proposal was accepted and when you should begin to work on the project. We recommend you make a few small contributions against contributors to check how that works and see if that fits your purposes to apply.
Leverage Phase 2 Plugins API to allow the creation and usage of external plugins
Kubebuilder introduced Phase 2 Plugins to make itself more extensible as a CLI and as a library. This enables the community to develop, use, maintain and release their own plugins independently. Phase 2 Plugins have been available for a few releases. To further increase and help facilitate the adoption of this functionality, we need to create an extensive sample, documentation and tutorial on how to build and use external plugins. To achieve this goal, we can use Go, Ansible, Python or Helm to create the sample external plugin that will be used as a central reference plugin that serves as an example of an external plugin that leverages Phase 2 Plugins.
Expected outcome:
Mentors: @rashmigottipati and @everettraven (myself) will be the mentors for this idea and are happy to answer any questions!
FAQ:
💁♀️ What does Kubebuilder? How is it used?
Kubebuilder is often used as a CLI tool that generates projects and provides features to help people create "Operator Solutions".
"Operator solutions" are projects which follow the Operator pattern and extend the K8S API and has the purpose of managing solutions on K8s clusters.
TL'DR:
See:
💡 Examples of its usage:
See https://operatorhub.io/ to have a better idea
❓ Why Operators?
By using operators, it’s possible to provide all expected resources and manage them dynamically, programmatically, and at execution time. To illustrate this idea, imagine if someone accidentally changed a configuration or removed a resource by mistake; in this case, the operator could fix it without human intervention.
What is the difference between Kubebuilder and SDK?
See: https://sdk.operatorframework.io/docs/faqs/#what-are-the-the-differences-between-kubebuilder-and-operator-sdk
🚀 How can I begin to become familiarized with the Project?
OpenSource projects usually have a Contribution guide; see CONTRIBUTING and also VERSIONING for further details.
Also, feel free to check the open issues in the project and begin to work and contribute with anything you wish.
Your help and contributions 🥇 are very welcome.
The maintainers actively manage the issues list and try to highlight issues suitable for newcomers (You can filter by good+first+issue also contributions to help on the docs can fit well for the first ones), but you are free to help as please you. The project follows the typical GitHub pull request model. Before you start any work, please either comment on a current issue or file a new one.
✋ How to get help?
Feel free to ping us and join the #kubebuilder channel in the kubernetes.slack.com slack.
You also can open issues in its repo if you see that fits.
💡 How to skill up and get started?
How are the mentors of this project?
Mentors: @rashmigottipati and @everettraven (myself) will be the mentors for this idea and are happy to answer any questions!
However, if you need to contact us, please create a group and add us to them so we can answer as soon as possible.
Students who reached out so far.
Beta Was this translation helpful? Give feedback.
All reactions