[Kubernetes][Kubebuilder] New Golang plugin to help Operator authors skill up #571
Replies: 1 comment
-
Following are a summary of the questions/answers made so far and that you might have. I hope that helps you out. FAQ:💁♀️ What does Kubebuilder? How it is used?Kubebuilder is often used as a CLI tool that generates projects and provides features to help people create "Operator Solutions". TL'DR:
Also, Kubebuilder can be used as a lib to help other projects extend their features and/or create nice plugins which can be used as specific helpers. For example, Operator-SDK uses Kubebuilder and scaffolds the same plugins/projects but also provide additional features and others plugins on top. See: 💡 Examples of its usage:See https://operatorhub.io/ to have a better idea ❓ Why Operators?By using operators, it’s possible not only to provide all expected resources but also to 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 any human intervention. What is the difference between Kubebuilder and SDK?💁 Why should we do the proposed new plugin? What are its motivations?Many authors create a project to deploy/manage an image ( app ) on the cluster then, with this new proposed plugin that you will help us to have we ought to be able to scaffold all that is required to get the deployment of this image managed on the cluster. So, that means ( e.g. ):
So that, we can help users to skill up in the good practices and how to do the things. Also, we can help users deliver their needs faster and by spending lower effort. 💁♀️ How to know more about the plugins and how to write them?See the doc: https://book.kubebuilder.io/plugins/plugins.html 🚀 How can I begin to be 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 began to work and contribute with anything that you wish. 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 starting any work, please either comment on an existing 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. How can I provide the flags for the plugins? Where they are defined?In the plugin layout, we have some interfaces for the commands which like Then, for each plugin, we implement these interfaces (subCommands), e.g.:
Then see that we are biding the flags for each subCommand implementation, e.g.
💡 How to skill up and getting started with?
Who are the students that reached out so far:
|
Beta Was this translation helpful? Give feedback.
-
Your goal is to develop a Kubebuilder Plugin which generates the files with all possible common desired source code implementation for an Operator Author to achieve the goal of deploying an Operand(image/Pod) following the Operator pattern and common best practices and recommendations such as using StatusConditionals, tests, etc. Note that we can begin implementing this plugin with basic implementation and then start to provide many follow-ups as much we wish to grow it incrementally. This plugin can help a lot of Operator Authors save time and give good direction and start to point to them. You can begin by following, for example, the quick tutorial Golang Operator and the document Common recommendations and suggestions to have an idea of how Operators works and what code this plugin would generate by default. It is ideal for those who are looking to know more about Operator pattern and its good practices, how to develop tests and ensure the quality and maintainability of solutions.
Mentor(s): Camila Macedo (@camilamacedo86) and Rashmi Gottipati(@rashmigottipati)
https://github.com/cncf/mentoring/blob/main/summerofcode/2022.md#new-golang-plugin-to-help-operator-authors-skill-up-size-medium
Beta Was this translation helpful? Give feedback.
All reactions