🎉 [Google Summer of Code 2025] - Automating Operator Maintenance: Driving Better Results with Less Overhead #4592
Replies: 9 comments 13 replies
-
Hi @camilamacedo86, will there be a design document for these changes (like these docs) or is writing the document one of the outcomes for this project? |
Beta Was this translation helpful? Give feedback.
-
Hi @vitorfloriano , even i had the same doubt , may be the major changes to be done according to the expected outcomes such as developing a POC implementing GitHub Actions which creates a pull request and introducing the plugin that scaffolds the GitHub Action based POC require documentation as they are major changes. Documentation for AI driven conflict resolution can be done it later phases and other expected outcomes such researching on git merging strategies and AI tools themselves act as documentation. Also https://github.com/kubernetes-sigs/kubebuilder/blob/master/designs/template.md mention that only major changes require docs. |
Beta Was this translation helpful? Give feedback.
-
Hi @camilamacedo86 I had doubt that as completing the proposal successfully for #4302 is one of the expected outcome of the project should we write the proposal for #4302 following the template of https://github.com/kubernetes-sigs/kubebuilder/blob/master/designs/template.md and include it within the project proposal or create a separate proposal for #4302 and submit it along with project proposal separately. |
Beta Was this translation helpful? Give feedback.
-
Hi @vitorfloriano, @chethanm99, We are very excited about your interest! 🎉 |
Beta Was this translation helpful? Give feedback.
-
@camilamacedo86 If the solution from this proposal is built on top of v3 or newer versions, can we safely assume that the PROJECT file will always be available? If so, would relying on that file be a good design decision for the solution? |
Beta Was this translation helpful? Give feedback.
-
Hey @camilamacedo86 what do you prefer google doc or markdown file for proposal reviewing |
Beta Was this translation helpful? Give feedback.
-
Hey folks, Just a quick guide to help with your application. The application should be short and clear (not too verbose). To keep it simple, mainly answering questions like:
Keep it simple and focus on your own ideas. |
Beta Was this translation helpful? Give feedback.
-
Hi @vitorfloriano @Kuzuri247 @chethanm99 @drnic, @Kavinjsir, @varshaprasad96, and I discussed this and have added guidance in the description for the application. Thank you so much for your interest in the project! 🙌 |
Beta Was this translation helpful? Give feedback.
-
Idea for Document InternationalizationOverviewI would like to implement internationalization changes for our documentation. Current Tools
Proposed Workflow
|
Beta Was this translation helpful? Give feedback.
-
Kubebuilder is participating in Google Summer of Code 2025 under the CNCF organization.
📅 Proposal Submission: March 24 - April 8 (1800 UTC)
🚀 Project Overview
Code-generation tools like Kubebuilder and Operator-SDK have transformed cloud-native application development by providing scalable, community-driven frameworks. These tools simplify complexity, accelerate results, and enable developers to create tailored solutions while avoiding common pitfalls, laying a strong foundation for innovation.
However, as these tools evolve with ecosystem changes and new features, projects risk becoming outdated. Manual updates are time-consuming, error-prone, and make it challenging to maintain security, adopt advancements, and stay aligned with modern standards.
This project introduces an automated solution for Kubebuilder, with potential applications for similar tools or those built on its foundation. By streamlining maintenance, projects remain aligned with modern standards, improve security, and adopt the latest advancements. It fosters growth and innovation across the ecosystem, letting developers focus on what matters most: building great solutions.
Note that the initial idea is to solve this with 3-way Git merges. However, users will face conflicts, and in the first phase, we want to study whether AI could help resolve these conflicts in a future phase to achieve this goal.
Expected Outcome
Recommendation Before Submitting Your Proposal
Before submitting your proposal, it is highly recommended to go through the following steps to ensure you understand what will be required:
1️⃣ QuickStart Guide (10 min) – Follow this tutorial to build a basic project.
2️⃣ Hands-on Experimentation (20 min) – Try re-scaffolding a project using an older Kubebuilder release, simulate custom changes, and observe how updates impact user-defined code.
a) Clone the Project and Checkout an Older Release
Clone the Kubebuilder repository and switch to an older release (e.g.,
release-4.1
):This will allow you to work with an older version of Kubebuilder's scaffolded project.
📌 See: https://github.com/kubernetes-sigs/kubebuilder/tree/release-4.1/testdata/project-v4
b) Modify the Controller Code
Navigate to the test data project directory in your local environment:
Then, open the following file in a text editor:
📌 admiral_controller.go
Replace:
// TODO(user): your logic here
With:
c) Run Kubebuilder to Re-generate the Project
Using the latest release of Kubebuilder (ensure that you have it installed), inside the project directory, run:
After execution, the project will be re-generated and will look the same as before—except your custom code will be missing. To restore the user-defined code, developers usually compare their local branch with the main branch in GitHub and manually re-add their modifications.
3️⃣ Check out the WIP Design Doc for this feature (15 min) – Read the WIP PEP.
💡 Pro Tip: If you're new to Operators, and I want to know more about check the Getting Started - 30 min.
Also, feel free to check some extra references:
🚀 Guidance for the Application
The application is yours to shape as you see fit! To provide some guidance, we’ve created a template with a few questions, but feel free to approach it however you like. Be creative if you wish* Just ensure you include the key information while keeping it concise and to the point—no need for technical details or excessive verbosity. Our main goal is to understand your motivations and learn more about you.
You must submit your application through the Google Summer of Code platform.
The format doesn’t matter to us—just make sure all the necessary details are there.
Looking forward to your applications! 🚀
❓ FAQ
📌 Getting Started with Contributions
💡 New to Open Source? Start with:
📌 CONTRIBUTING Guide
📌 VERSIONING
📌 Good First Issues
🆘 Need Help?
💬 Join us in #kubebuilder on Kubernetes Slack.
🐛 Open an issue in the Kubebuilder GitHub Repo.
👥 Mentors
📌 @Kavinjsir | @varshaprasad96 | @camilamacedo86
Beta Was this translation helpful? Give feedback.
All reactions