A huge number of successful CNCF interns have graduated from this term’s LFX Program: 57!
We had a great showing from the CNCF community with involvement across Graduated, Incubating, and Sandbox projects as well as TAGs (Technical Advisory Groups), which included Cilium, Cloud Native Buildpacks, TAG Network, Karmada, KubeEdge, Kubernetes, Litmus Chaos and many more!
Additional details on the CNCF projects, mentors, and students who successfully completed the program can be found below and on GitHub.
Intern profile highlights
Cloud Native Buildpacks
My project was adding muli-architecture builds support to the Cloud Native Buildpacks (CNB) project’s ecosystem. There are two parts to achieving this goal. The first is to add the tools required to handle multi-platform images and the second part is to cross-compile applications for multiple platforms. For the duration of the mentorship, we worked on writing packages to handle Image Index (aka Manifest List) in CNB imgutil library and add a new set of commands for the pack-cli to create and manipulate Manifest Lists from existing images for various platforms. The end goal is making `pack` users being able to create a build for an arbitrary architecture and operating system, regardless of the host system they used to run the command.
Mentee: Husni Faiz (Personal blog post about mentorship experience)
Mentors: Juan Bustamante, Aidan Delaney, Jerico Pena
“When I was applying for the mentorship program, I only had experience in the embedded systems domain and I was new to cloud technologies. So I was not very optimistic that I would get selected for this mentorship. When I got the email from CNCF saying that I got selected to work with the Cloud Native Buildpacks project I was so excited. I have participated in several other mentorship programs and my experience with the LFX Mentorship and CNCF community is unique. Especially the pair programming sessions I had with my mentors. I am hoping to be an active contributor to the Cloud Native Buildpack project.”Husni Faiz
I have worked on creating a unique Port and Service Discovery Scanner for Kubernetes called Kubescape Network Scanner. This scanner utilizes various OSI layers to identify the services running on the network. It employs a sequential approach, starting from the Transport layer (TCP/UDP), then moving to the Session Layer (TLS/SSL), followed by the Presentation Layer (HTTP), and finally reaching the Application layer (Kubelet, PostgreSQL, MySQL, etcd, etc.) with authentication support to determine whether it is enabled or not. Additionally, the tool allows exporting the results to a JSON file and can be used as a standalone API. In the future, we plan to incorporate vulnerability scanning capabilities within the scanner.
Mentee: Karanjot Singh (Personal blog post will post here)
Mentor: Ben Hirschberg
“I am delighted to have successfully completed the LFX Mentorship program. It has been an incredibly rewarding journey that has allowed me to learn many new skills and explore unfamiliar areas. Working on a significant project has been especially beneficial in improving my Golang skills and becoming more comfortable integrating a large codebase into a controlled environment. Additionally, it has emphasised the importance of effective communication and regular attendance at meetings. I am extremely grateful to my mentor, Ben, for his invaluable guidance and expertise. Under his mentorship, I have gained extensive knowledge not only about Kubernetes but also about efficient task management and other things.”Karanjot Singh
To make sense of the large amount of telemetry data emitted by KubeArmor, we integrated Syslog support with the E(F/L)K or PLG visualization stacks. These stacks allow parsing, filtering, and visualizing KubeArmor telemetry data in a dashboard, making it easier for users to monitor and analyze unwanted, malicious behaviour of cloud-native workloads at runtime, as checked by KubeArmor.
Mentee: Sibasish Behera (Personal blog post about the mentorship)
Mentors: Barun Acharya, Rahul Jadhav, Anurag Kumar, and Ankur Kothiwal
“The LFX Mentorship program has provided me with an exceptional learning experience. Throughout the duration of the program, I have had the privilege of gaining in-depth knowledge and expertise in various areas, including the Go programming language, the Kubernetes ecosystem, observability, and container security. The guidance and support from my mentors have been invaluable in navigating these complex subjects, and I am grateful for their unwavering dedication and commitment to my growth. I extend my heartfelt thanks to the LFX Mentorship program for offering such an enriching and transformative opportunity.”Sibasish Behera
My project was on adding open telemetry support to KubeArmor. Opentelemetry is a collection of APIs and SDKs that provides a vendor-agnostic way of obtaining metrics, traces, and logs from software making applications more flexible to observability backends. KubeArmor emits three kinds of logs, host visibility logs, alerts, and its own application logs. My task was to create an adapter to make these logs follow the open telemetry specification. I did this by creating an opentelemetry log based receiver.
Mentee: Ononiwu Maureen Chiamaka (Personal blog post about the mentorship)
Mentors: Anurag Kumar, Barun Acharya, Ankur Kothiwal, Rahul Jahdav
“I learned a lot as a result of this experience. I gained practical experience creating a component for opentelemetry and through this process, gained more insight into how these components work under the hood. I also learned more about kubearmor and the different kinds of logs it emits. I also delved a bit into the realm of data analysis as I learned the logQL querying language and used Grafana to create a visualization for Kubearmor logs. Thanks to my awesome mentors, I always had someone to run to when I was experiencing any doubt or had any questions. I had weekly meetings with my mentors where I kept them updated about my progress, ran over my ideas with them, and communicated any blockers to them. Apart from the weekly meetings I could also easily reach out to them on Slack and communicate any issues or update as well. All these led to a great internship experience and the successful completion of my project.”Ononiwu Maureen Chiamaka
The Kubewarden project is a security policy engine for Kubernetes, a popular container orchestration platform. As more and more businesses move their applications to the cloud, containers have become an increasingly popular way to manage and deploy applications. However, with this rise in popularity, there has also been a corresponding rise in security concerns. The Kubewarden project addresses these concerns by providing a way to enforce security policies in Kubernetes.
My task was to implement the Go SDK to bring it parity with the existing Rust SDK. This was a challenging task because the Rust SDK had more features and was more mature than the Go SDK.
Mentee: Khaled Emara (Personal blog post about the mentorship)
Mentor: José Guilherme Vanz
“The LFX mentorship program was an incredible experience. I received support from my mentor and other experienced developers in the Kubewarden community. We had regular meetings and code reviews, and I was able to get feedback on my work and learn from others’ expertise.”Khaled Emara
In KubeVela’s provider system, we can use our defined Go functions in CUE schema. The Go providers usually have a parameter and return. Fields in Go providers are the same as fields in CUE schema, so it is possible and important to support automatic generation of CUE schemas and documents from Go structs.
Mentee: Junyu Liu (Personal blog post about the mentorship)
Mentors: FogDong, Da Yin
“This is my first participation in the LFX Mentorship program, and throughout the three months of communication and collaboration, both mentors have provided me with a lot of help and guidance in terms of details and decision-making. We also conducted a complete demonstration of the functionality and discussed the future direction of the community through online meetings. Open source is a process driven by interests and self-motivation. Developers can continuously improve themselves through their experiences in different communities and grow together with the community. I am very grateful to have encountered the KubeVela community through LFX Mentorship, and I look forward to further deepening my involvement and contributions to the community in the future!”Junyu Liu
Bundle third-party resources into the Resource Interpreter framework
Mentee: Yike Bu
Mentors: Tiecheng Shen, Ren Hongcai
“The instructors are enthusiastic and professional, and the lively community atmosphere is unforgettable. Participating in the LFX Mentorship program has been an invaluable experience for me.”Yike Bu
Kubescape is an open source Kubernetes security platform for DevSecOps. I focused on introducing Kubescape to commonly-requested package managers, including OpenSUSE Build Service (DEB and RPM), Ubuntu Launchpad PPA, Homebrew Tap, Chocolatey, Snapcraft, Arch User Repository (AUR), and Gentoo Portage. Additionally, I improved existing packages such as Homebrew, Krew, Scoop. I also improved the GitHub Actions release CI workflow by adding building and testing Linux AArch64 binaries support and cross-compiling binaries for macOS M1/M2. Apart from the main project, the most noticeable contribution is that I implemented the fix object of the SARIF specification for Kubescape using Golang, then implemented the Kubescape enhanced code review process for GitHub pull requests using the generated SARIF report and Reviewdog, so that it can automatically post review comments with fix suggestions generated by Kubescape. Throughout the project, I actively engaged with the community by addressing bug reports, resolving issues, and assisting with feature additions.
Mentee: Songlin Jiang (Personal blog post about internship)
Mentor: Craig Box
“Throughout my participation in the LFX Mentorship program, I had a highly productive and fulfilling experience working on the CNCF Kubescape project. The mentorship program allowed me to make substantial contributions to the Kubescape project and collaborate effectively with my mentor and the community, enhancing my skills and knowledge in the process, and I’m proud that I could have such kind of an experience!”Songlin Jiang
Artifact Hub listing of Kyverno Policy Library
- Added existing policies to Artifact Hub and ensure 100% completeness with respect to metadata.
- Devised a system/application so new policies can be easily added in the future.
- Wrote documentation and tutorial for future contributors to remind them of steps about adding Kyverno policies.
Mentee: Haoyu Guo
Mentor: Chip Zoller
“My LFX Mentorship with CNCF on the Kyverno project was an incredibly rewarding and enriching experience. The project focused on developing a system to make all Kyverno policies searchable on Artifact Hub, aiming for an extensible system for future use. I was engaged in the design and implementation of this system. Throughout the term, I not only honed my technical skills but also gained valuable insights into the open source community’s workings. The mentorship further reinforced the significance of maintaining a robust system infrastructure. The guidance and support from my mentor Chip Zoller were instrumental in achieving the project’s expected outcome. I am grateful for this opportunity, and I look forward to contributing more to the open source community.”Haoyu Guo
The LFX Mentorship project I’m working on is centered around enhancing the Kubernetes ecosystem by integrating the OpenKruise rollout API into Advanced DaemonSet operations. The goal of this project is to facilitate batch updates of Advanced DaemonSet within Kubernetes clusters, thus streamlining deployment and scaling processes for administrators and developers alike. This initiative will encompass the development of the necessary software components, followed by rigorous unit and end-to-end testing to ensure its functionality, stability, and ease of use. Upon completion, this project will make a significant contribution to Kubernetes’ operational efficiency and improve its capacity to handle complex, large-scale deployments.
Mentee: Yadan Wei
Mentor: Zhen Zhang
“Participating in the LFX Mentorship program has been a truly transformative experience. Through my involvement, I’ve had the opportunity to dive into advanced Kubernetes technologies and apply them in practical, real-world scenarios. The hands-on experience has been invaluable, providing a platform for me to contribute to a project that serves real users, and in the process, deepening my understanding and skill set. Additionally, this program has opened my eyes to the vibrant, collaborative nature of the open source community. It has been inspiring to see and be a part of a network of developers from all over the world, working together to create impactful solutions. This experience has instilled in me a desire to contribute more significantly to open source projects in the future.”Yadan Wei
Add Profiling to the Linkerd Policy Controller. It will enable users to dynamically profile the running application, which can aid significantly in debugging and diagnostics. This will allow users to identify and address performance bottlenecks or other issues in real-time and they can act accordingly. With the new CLI arguments that enable pprof, users will be able to profile the resource consumption of individual controllers and gain insights into how the
policy-controller is operating.
I have also worked on issues related to the CNI plugin. The objective was to enhance the CNI plugin’s functionality by incorporating the –set flag, which expands the set of configuration options available to install the CNI plugin by including all the values from the plugin’s Helm chart. This allowed for achieving feature parity between the CNI CLI tool and the other CLI tools.
Mentee: Amit Kumar
Mentor: Alejandro Pedraza
“LFX mentorship provided me with an incredible opportunity for growth and development. Participating in the program has significantly enhanced my knowledge and skills, enriching my professional profile. Throughout the mentorship, I received invaluable support and guidance from my mentor, which greatly contributed to my learning experience. One of the most valuable aspects of the program was the exposure to new technologies. I had the chance to explore and work with various tech stacks, expanding my understanding of different tools and frameworks. This hands-on experience allowed me to gain practical insights and develop a broader perspective on the ever-evolving tech landscape.”Amit Kumar
The focus of my project was the development of a new website for the ORAS Project. Unlike the old website built with MKDocs, the new website featured a completely redesigned interface using Docusaurus. The primary objective was to provide a user-friendly platform for both new and existing contributors, facilitating their understanding of ORAS CLI and the supportive community. By simplifying the developer experience, the new website aimed to encourage more engagement and participation within the project.
Mentee: Asmit Malakannawar (Personal blog post about mentorship)
Mentor: Feynman Zhou
“The LFX Mentorship program has been an incredibly valuable experience for me. The program has not only enhanced my technical skills but also allowed me to develop important soft skills such as communication and teamwork. I am grateful for the opportunity to be a part of the LFX Mentorship program and highly recommend it to anyone looking to expand their horizons in the open source world.”Asmit Malakannawar
Frontend development inside Lit Component Framework
Mentee: Ankur Ashok Patil (Personal blog post about the mentorship)
Mentors: Michelle Shepardson and Sean Chase
“I’m really grateful to my mentors Michelle Shepardson and Sean Chase for helping me throughout the project. Additionally, a big thanks to Sultan Duisenbay, who helped me a lot as well! I would like to express my sincere gratitude to the Kubernetes, LFX, and CNCF communities. Without their support, neither this project nor this program would have been possible.”Ankur Ashok Patil
My project was to add query observability to the Thanos PromQL Engine
Mentee: Pradyumna Krishna (Personal blog post about mentorship experience)
Mentor: Giedrius Statkevičius and Saswata Mukherjee
“Great experience overall, I highly recommend this program to others who are looking for a mentorship program. I developed new skillsets in Golang and TypeScript. Received technical as well as career guidance from mentors.”Pradyumna Krishna
Thanos is used for monitoring. Monitoring data is kept in TSDB block format. During the mentorship, we wanted to convert a particular TSDB block to parquet files and do queries on top of that parquet file. Why it helps us is due to Parquet being a columnar format and TSDB being a row format. Doing this can help us query quickly. If this is done, we can query any arbitrary format also using Promql.
Mentee: Shubham Kumar Diwakar (Personal blog post about the mentorship)
Mentor: Filip Petkovski and Prem Saraswat
“Life’s most extraordinary experiences often emerge from unexpected encounters and profound connections. My journey as a mentee in the LFX mentorship program with Thanos was one such remarkable chapter. My mentors helped me learn a lot in terms of Software Engineering and soft skills. They helped me get started with open source contribution in the best way possible.”Shubham Kumar Diwakar