Linux Foundation Mentorship: My LFX Journey with Openkruise Project 2023

Linux Foundation Mentorship: My LFX Journey with Openkruise Project 2023

Hello, I am Mahesh Kasbe (GitHub: maheshkasabe), currently a sophomore majoring in Computer Science. In this blog post, I will share my experiences as a Linux Foundation Mentorship mentee: from applying for the project to becoming part of the community.

What is LFX Mentorship?

LFX Mentorship is a remote learning program that provides 12 weeks of learning opportunities for open source contributors. It is led by specific mentors (usually the maintainers of the projects) who help mentees contribute to the community and projects.

Many open-source organizations or foundations use LFX Mentorship to announce projects and recruit students for development and contributions. I focused on the cloud-native and noticed that CNCF started its spring projects on LFX in August 2023. I began to explore and apply for projects that interested me.

What is Openkruise?

OpenKruise is an extended component suite for Kubernetes, which mainly focuses on application automations, such as deployment, upgrade, ops and availability protection. Mostly features provided by OpenKruise are built primarily based on CRD extensions. They can work in pure Kubernetes clusters without any other dependences.

It is worth mentioning that, Openkruise is promoted to a CNCF incubation project, further proving the stability and flexibility of Openkruise in production environments.

Project Details

Project Name: Integrate Openkruise workload with ArgoCD and Helm

Project Description: ArgoCD and Helm are popular tools to delivery k8s workload, yet currently only the k8s built-in workload are supported out-of-box for ArgoCD and Helm. OpenKruise provide advanced worklood that resemble with the built-in workload, users can use OpenKruise workload with ArgoCD and Helm, yet they cannot tell ArgoCD and Helm whether Openkruise workload is ready or not. - Expected Outcome: - Improve ArgoCD integration by writing custom lua script to tell whether OpenKruise workload is healthy. The lua script can be submited to the Argo-CD repository. - Improve Helm intergration by building a job container that can check whether OpenKruise workload is healthy during helm install/upgrade process.

Project Outcome: Improve ArgoCD integration by writing custom lua script to tell whether OpenKruise workload is healthy. The lua script can be submited to the Argo-CD repository. - Improve Helm intergration by building a job container that can check whether OpenKruise workload is healthy during helm install/upgrade process.

Project Mentors: Zhen Zhang

Project Link: https://mentorship.lfx.linuxfoundation.org/project/f603a2e7-9af2-40b2-a74f-109cad843de1

Project Work Product: https://gist.github.com/maheshkasabe/60c24be3bec735d52477d841ec6e3073

Application and Development

Phase 1: Application and Selection

The journey commenced with the application process—a nerve-wracking yet exciting moment. I poured my heart into crafting my resume, meticulously detailing my experiences and aspirations. Submitting my application, along with a project proposal that mirrored my zeal for open-source contributions, was both a leap of faith and a moment of anticipation.

When I received the news of being selected for the program, euphoria washed over me. The Linux Foundation team saw potential in my vision and skills, offering me the opportunity to partake in a mentorship experience I had long dreamed of.

Phase 2: Onboarding and Project Assignment

The onboarding process was enlightening. I was introduced to the program's tools, guidelines, and the platform that would serve as the nexus for communication and project management. It was an essential orientation that set the stage for the journey ahead.

My project assignment aligned seamlessly with my interests and skills. Collaborating with my mentor, we charted a roadmap, delineating project goals, milestones, and communication channels. The project, a challenging yet invigorating endeavor, became my focus and passion.

Phase 3: Project Work

The development phase was where the rubber met the road. Engrossed in coding, testing, and documentation, I encountered obstacles that, with my mentor's guidance, transformed into invaluable learning opportunities. Regular check-ins provided clarity and direction, enabling me to navigate complexities and make steady progress.

Phase 4: Final Evaluation

Approaching the program's culmination, I channelled all my efforts into finalizing the project. Documenting every milestone achieved and learning acquired, I prepared meticulously for the final evaluation. Crafting presentations and reports to showcase my contributions and project functionality became a testament to the growth and dedication invested throughout the mentorship.

Phase 5: Completion and Graduation

The final evaluation was an amalgamation of nerves and excitement. Presenting my project, explaining my contributions, and demonstrating its functionality encapsulated the culmination of months of hard work and mentorship. The feedback and assessment that followed were invaluable, providing insights into my journey's evolution.

Graduating from the Linux Foundation Mentorship Program was a watershed moment. Holding the certificate in my hands felt like a testament to the skills honed, the knowledge gained, and the impact made within the open-source community.

Final Outcome

As the mentorship ended the final outcome was something like this:

  1. Created a command line tool in order to check the openkruise workload health.

  2. Developed a helm post-upgrade hook to check workload health after the upgrade using the command line tool

  3. Completed the integraion & Added the support for Openkruise inside Argocd.

Did you find this article valuable?

Support Mahesh Kasbe by becoming a sponsor. Any amount is appreciated!