After an exciting Spring term, 36 interns have graduated from the latest LFX mentorship program funded by CNCF! 15 of CNCF’s Graduated, Incubating, and Sandbox projects joined this round with projects including Chaos Mesh, Kubernetes, KubeEdge and Pixie. 

Additional details on the CNCF projects, mentors, and students who successfully completed the program can be found below and on GitHub

Intern profile highlights

KubeVela

Enhance multi-cluster observability of KubeVela

Mentee: Kunshuai Zhu (Blog post on internship experience)

Mentor: Jianbo Sun & Da Yin

“Participating in the LFX Mentorship this time was a great experience, not only the mentors provided very patient guidance, but I also met many friendly friends in the KubeVela community. This experience has taught me a lot about cloud native and KubeVela, and has also brought me into the KubeVela community.”

Vitess

Parsing support for MySQL functions

Kushal Kumar

Mentee: Kushal Kumar (Blog post on internship experience)

Mentor: Manan Gupta

“My experience working with CNCF: Vitess was excellent. I learned a lot from the community, made connections, and also gained valuable experiences (technical and fun) which will surely help me in the future.”

KubeEdge

The goal of this project is to make an open platform to enable Edge computing, extending native containerized application orchestration capabilities to hosts at Edge, which is built upon Kubernetes and provides fundamental infrastructure support for network, app deployment, and metadata synchronization between cloud and edge.

Nilisha Jaiswal

Mentee: Nilisha Jaiswal

Mentor: Fisher Xu

“The journey was quite fruitful. These 3 months were full of learning new things, figuring out stuff, reading documentation, and tackling unexpected obstacles that came along the way. Learning about KubeEdge was fun. I even got to know how these open source organizations like Linux Foundation work and build these projects which are impacting billions of lives. This opportunity helped me become a better communicator, timezone friendly, and a better open source contributor. It made me realize that open source is more than just code, it’s about community.”

Kubernetes: Gateway API 

​​Gateway API is an evolution of Kubernetes Ingress and Service networking that aims to upgrade and improve these APIs. This project is to have a docs assessment performed, to help us come up with a plan for improving our documentation. In particular, I was to look at the content organization, the clarity of the language and concepts, and to make sure it’s as readable as possible for both implementors and end users. I worked with the mentors and maintainers of the project, with a stretch goal being to make the changes we produce in the initial assessment.

Meha Bhadoliya

Mentee: Meha Bhalodiya (Blog post on internship experience)

Mentor: Nate Waddington, Nick Young

“In addition to technical things, this mentorship also helped me evolve my soft skills, it made me a better communicator (which I feel is more important sometimes than coding itself) and all this eventually contributed to making me a better open source citizen.”

Kyverno

Kyverno is a Kubernetes0native policy engine that secures and automates Kubernetes configurations. A Kyverno policy is a collection of rules. Each rule consists of a validate, mutate, generate, or verify image declaration. The Kyverno CLI test command is used to test if a policy is behaving as expected. Before the start of my LFX Mentorship program, the test command could only support testing validate and mutate rule types. My project in the mentorship aimed at extending the test command to support testing generate rule types as well. The enhancement also involved creating test YAML files for previously uncovered policies with generate rules.

Shubham Nazare

Mentee: Shubham Nazare (Blog post on internship experience)

Mentor: Prateek Pandey, Vyankatesh Kudtarkar

“The mentorship officially began on the 1st of March. Every week on Thursday, the Kyverno community has a contributor’s meeting on Zoom wherein all the contributors discuss their work, project, and future releases. At my first contributor’s meeting, one of the maintainers introduced all the accepted mentees who were present in the call. Everyone was so welcoming and greeted us quite well. My mentors and I fixed up a weekly meeting every Friday for updates and to discuss issues if any. I was supposed to think out of the box because generate rule types are implemented quite differently from other rule types. I was told to prepare a design proposal and make a presentation in the contributor’s meeting in front of all the maintainers to get their approval. If I’m honest, I was quite nervous about it because I’ve never done a presentation before in front of such a crowd. Fortunately, the presentation went extremely well. After I did the presentation and got their approval along with minor changes, I began the work on implementation i.e. the coding phase. I played around with the codebase and made progress step by step. It was not as easy as it sounds because the codebase is huge and as structured as it looked, it was still complicated to understand the first time. My mentors played a huge role in helping me during this period. After I successfully built an initial proof-of-concept, I presented a demonstration of my work at the contributor’s meeting. I was praised by everyone for my work and it felt really good. Near the end of the mentorship program, my PR got merged and there are no words to explain how it feels when your 3 long months of work finally get implemented! The mentorship was an amazing journey that I never wanted to end. I got to learn a lot about technologies such as Kubernetes, how big projects work in general, and most importantly, I networked with people who are well experienced in this field. My mentors have motivated me to keep on doing open source contributions whether in Kyverno or any other project. Despite the official end of the mentorship program, I’m still going to contribute to Kyverno and my mentors have promised me that they will be always available to help me. I encourage everyone (whether beginner or intermediate) to apply to this mentorship program because the learnings and experiences you get are invaluable.”

Kyverno

My project was to improve security posture, OSSF Security Scorecard results, and processes for Kyverno. I also worked on a provenance generator tool to achieve SLSA level 3 compliance for Kyverno.

Shubham Gupta

Mentee: Shubham Gupta 

Mentor: Jim Bugwadia

“I am glad that I got this opportunity and have learned a lot during the span of mentorship. I had an amazing experience working on this project and being mentored by Jim Bugwadia. We had weekly sync-up calls where we discussed projects and resolved any road blocks I faced during the implementation of the same.”

Kyverno

Kyverno is a policy engine designed for Kubernetes. With Kyverno, policies are managed as Kubernetes resources, and no new language is required to write policies. Kyverno policies can validate, mutate, and generate Kubernetes resources plus ensure OCI image supply chain security. The Kyverno CLI can be used to test policies and validate resources as part of a CI/CD pipeline.

Oshi Gupta

Mentee: Oshi Gupta (Blog post on internship experience)

Mentor: Prateek Pandey and Vyankatesh Kudtarkar

“Being an LFX mentee and working on Kyverno was one of the most wonderful experiences for me. It was the first time I worked on such a large project. I am super grateful to my mentors, maintainers, and the Kyverno community for the support they have given me whenever I used to get stuck while working.”

Pixie

My project for the LFX Mentorship was to add support for parsing messages for AMQ protocol into Pixie. I had to develop a mechanism that would take raw binary stream, being captured by Pixie’s eBPF probe, as input and provide parsed messages along with relevant headers and metadata to Pixie UI. This would enable developers to use Pixie to monitor AMQP messages being communicated between their pods. 

Anubhav Choudhary

Mentee: Anubhav Choudhary

Mentor: Yaxiong Zhao

“My LFX Mentorship experience has been very awesome. I learned so many things in the last few months that I wouldn’t have learned even in double the time by myself. LFX Mentorship is a very good opportunity for every newbie developer. Highly recommended.”

Service Mesh Performance

I worked on the frontend for Layer5 projects. I contributed to the MeshMap UI and learned a lot about frontend development concepts and technologies such as Reactjs, cytoscape, Figma, and Javascript, and many more.

Nikhil Sharma

Mentee: Nikhil Sharma

Mentor: Lee Calcote

“I had a great experience at the LFX mentorship program as an LFX Mentee. I met a lot of wonderful people and learned a lot from their experiences. My gained knowledge will undoubtedly benefit me in my future career. I would strongly advise students who want to improve their skills to join the LFX mentorship program.”

Tremor

I automated tremor’s release process from a big manual checklist to one-click automation using github-actions and some bash scripting.

Mentee: Prashant (Blog post on internship experience)
Mentor: Heinz N. Gies

“It was a great experience to be a part of the Tremor project. The community mentors were really friendly and helpful and they helped me grow in many ways. I look forward to contributing more to open source projects!”

Tremor

As a mentee, I was tasked to add support for the ClickHouse database to the Tremor event processing system. The goal is to allow events to store Tremor events in a ClickHouse database. I had to create a configuration syntax that was as user-friendly as possible. This mentorship involved both Rust and SQL knowledge.

Mentee: Sasha Pourcelot (Blog post about internship experience)

Mentor: Matthias Wahl

“Everyone was super kind to me. The maintainers were doing their best to create a friendly and peaceful place to work in. They provided me with plenty of explanations about how their software works under the hood and gave me a lot of valuable feedback on the code I wrote. This was, without any doubt, the most work-friendly environment I have ever seen.”

WasmEdge Runtime

The main goal is running miniruby to improve the whole runtime performance

Mentee: yao bing

Mentor: Hung-Ying Tai

“I am very lucky to work with mentors. They give me much help and I learned much knowledge that cannot get directly from books/ videos. (Like measure performance method). Thanks to this mentorship!!”

Below is a list of all successful interns:

Mentoring ProjectMentor(s)Mentee
CNCF – Chaos Mesh: Interactive Katacoda Playground for Chaos Experiment ExamplesZhiqiang ZhouChengwei Guo
CNCF – Karmada: Dashboard developmentHongcai RenChinmay Mehta
CNCF – Karmada: Enhancement for controllers scalabilityHongcai RenWenQing Dai
CNCF – Karmada: Refactor get command to leverage aggregated APIHongcai RenZhe Cheng
CNCF – Karmada: Refactor the scheduler frameworkKevin WangFei Gao
CNCF – KubeArmor: Extending kubearmor-cli-tool filtering optionsRahul JadhavSachin Maurya
CNCF – KubeArmor: Using mutating webhooks for applying pod/container kubearmor annotationsRahul JadhavAchref BEN SAAD
CNCF – KubeEdge: Plans for Node Group ManagementKevin Wang(zefeng) Yifei Zhang
CNCF – Kubernetes and Elekto: Elections Security ImprovementsJosh BerkusVedant Raghuwanshi
CNCF – Kubernetes SIG ContribEx: Creating Katacoda Scenarios To Help New ContributorsDebabrata PanigrahiHarshita Verma
CNCF – Kubernetes SIG ContribEx: Improvements to Kubernetes maintainers-related automationNikhita RaghunathRaghav Roy
CNCF – Kubernetes SIG Network: Documentation assessmentNick YoungMeha Bhalodyia
CNCF – Kubernetes: Automation of AMI build/test/publish pipelines for Cluster API Provider AWSSedef SavasAbhinav Sinha
CNCF – Kubernetes: Improving unit test coverage(CAPV)Geetika BatraTushar Malik
CNCF – Kubevela: Enhance multi-cluster observabilityJianbo SunKunshuai Zhu
CNCF – Kubevela: Management of Terraform stateZhengXi ZhouNan Li
CNCF – Kyverno: Automate Performance TestingShuting ZhaoHusni Alhamdani
CNCF – Kyverno: e2e tests and CLI tests to cover sample policiesPrateek PandeyOshi Gupta
CNCF – Kyverno: Extend Kyverno CLI test command for Generate policy rulesPrateek PandeyShubham Nazare
CNCF – Kyverno: OpenTelemetry exporter for KyvernoShuting ZhaoTathagata Paul
CNCF – Kyverno: Security enhancementsJim BugwadiaShubham Gupta
CNCF – LitmusChaos: Develop new feature and add integration tests for LitmusCTLRaj Babu DasPrayag Savsani
CNCF – Meshery: Service mesh playground (extended)Lee CalcoteAditya Chatterjee
CNCF – Meshery: Workflow engine (extended)Lee CalcoteAadhitya Amarendiran
CNCF – Pixie: Add support for new protocols in protocol tracerOmid AziziAnubhav Choudhary
CNCF – Service Mesh Interface: Conformance Program (extended)Lee CalcotePranav Singh
CNCF – Service Mesh Performance: Definition of MeshMark (extended)Lee CalcoteNikhil Sharma
CNCF – Thanos: Run a community Thanos demo instanceGiedrius StatkevičiusSoumya Singh
CNCF – TremorHeinz GiesPrashant Mishra
CNCF – Tremor: Database ConnectorsMatthias WahlSasha Pourcelot
CNCF – Updating the kubeedge docsFei XuNilisha Jaiswal
CNCF – Vitess: Add complete parsing support for MySQL functionsManan GuptaKushal Kumar
CNCF – WasmEdge: Enable OpenVINO backend for WASI-NNHung-Ying TaiJianbai Ye
CNCF – WasmEdge: Improving the performance of running minirubyHung-Ying Taiyao bing
CNCF – WasmEdge: Improving the performance of running rustpythonHung-Ying TaiYiming WenJ