Skip to content

Latest commit

 

History

History
477 lines (363 loc) · 37.6 KB

File metadata and controls

477 lines (363 loc) · 37.6 KB

Q1

Status: Complete

Timeline

Spring Term: March 1st - May 31st

  • project applications open: Jan 26th - Feb 1st (1 week)
  • mentees applications open: Feb 2nd - Feb 13th (2 weeks)
  • application review by the mentors/admission decisions/HR paperwork: Feb 15th - Feb 25th

Mentorship duration - three months (12 weeks - full-time schedule)

  • March 1 (Week 1): Mentorship program begins with the initial work assignments
  • April 12 (End of Week 6): Midterm mentee evaluations and first stipend payments
  • May 31 (End of Week 12): Final mentee evaluations and mentee feedback/blog submission due, second and final stipend payment approvals

Accepted projects

LitmusChaos

Develop new feature and add integration tests for LitmusCTL

KubeArmor

Extending kubearmor-cli-tool filtering options
  • Description: KubeArmor is Cloud Native Runtime Security Enforcement System that restricts the behavior (such as process execution, file access, and networking operation) of containers and nodes at the system level using Linux Kernel LSMs (Linux Security Modules) and eBPF. KubeArmor cli-tool (aka karmor) connects to the kubearmor-relay service to provide command-line telemetry/observability. Karmor cli options could be extended to support various other parameters as described in the given issue.

  • Recommended Skills: golang, k8s

  • Mentor(s): Barun Acharya (@daemon1024), Rahul Jadhav (@nyrahul)

  • Upstream Issue (URL): kubearmor/kubearmor-client#40

  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/aebb67b1-c918-4eee-8c25-df0cf7e38bee

  • Description: KubeArmor is Cloud Native Runtime Security Enforcement System that restricts the behavior of containers and nodes at the system level using Linux Kernel LSMs (Linux Security Modules) and eBPF. KubeArmor applies container/pod annotations to achieve some of the goals. Currently, these annotations are applied using k8s rolling update feature that results in pod getting terminated and recreated. Mutating webhooks could achieve the same functionality in a much cleaner way without having to terminate the pods.

  • Recommended Skills: golang, k8s

  • Mentor(s): Jaehyun Nam (@nam-jaehyun), Rahul Jadhav (@nyrahul), Barun Acharya (@daemon1024)

  • Upstream Issue (URL): kubearmor/KubeArmor#360

  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/81f0d863-30ca-43b5-a368-fd422ec681a6

Chaos Mesh

Interactive Katacoda Playground for Chaos Experiment Examples

KubeVela

Enhance multi-cluster observability
  • Description: KubeVela is a modern application delivery platform based on Kubernetes. It is currently a CNCF Sandbox project. KubeVela supports managing application delivery in multi-clusters. One of the basic problem is to validate the health status of managed clusters. Besides, it is also useful to integrate other metrics like CPU core usage or number of available graphical cards. This project aims to establish a mechanism to support these features.
  • Recommended Skills: golang, k8s
  • Mentor(s): Jianbo Sun (@wonderflow), Da Yin (@somefive)
  • Upstream Issue (URL): kubevela/kubevela#3177
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/d4cca618-f091-415e-a74d-bb11267795e7
Extend monitoring through VelaQL
  • Description: KubeVela is a modern application delivery platform based on Kubernetes. It is currently a CNCF Sandbox project. In KubeVela, a CUE-based query mechanism is developed to satisfy the demands of advanced queries behind Kubernetes resources, which is called VelaQL. This project aims to make extensions to this mechanism and support monitoring Kubernetes resources through VelaQL. For example, monitoring the logs of pods in KubeVela Application behind Grafana.
  • Recommended Skills: golang, k8s
  • Mentor(s): Jianbo Sun (@wonderflow), Da Yin (@somefive)
  • Upstream Issue (URL): kubevela/kubevela#3178
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/849ac80c-2086-4df6-b2f8-b57b0a78b51d
Management of Terraform state

WasmEdge

Improving the performance of running miniruby
  • Description: WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. WasmEdge is an official sandbox project hosted by the CNCF. WasmEdge is designed for the general purpose wasm runtime. However, when running miniruby, we found the performance is worse than other runtimes such as wasmtime, even after using the ahead-of-time compilation.
  • Recommended Skills: profiling tools, c++
  • Mentor(s): Hung-Ying Tai (@hydai), Shen-Ta Hsieh (@ibmibmibm)
  • Upstream Issue (URL): WasmEdge/WasmEdge#1062
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/4fe23ece-633c-488a-93a4-0501cae5a6f5
Improving the performance of running rustpython
  • Description: WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. WasmEdge is an official sandbox project hosted by the CNCF. WasmEdge is designed for the general purpose wasm runtime. However, when running rustpython, we found the performance is worse than other runtimes such as wasmtime, even after using the ahead-of-time compilation.
  • Recommended Skills: profiling tools, c++
  • Mentor(s): Hung-Ying Tai (@hydai), Shen-Ta Hsieh (@ibmibmibm)
  • Upstream Issue (URL): WasmEdge/WasmEdge#1061
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/08d37da9-56cb-42bd-ae17-99fec51c9e1d
Enable OpenVINO backend for WASI-NN
  • Description: WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. WasmEdge is an official sandbox project hosted by the CNCF. WasmEdge has implemented some features of WASI-NN. However, the backend is using ONNX. In this ticket, we would like to have both ONNX and OpenVINO backend.
  • Recommended Skills: c++, OpenVINO
  • Mentor(s): Hung-Ying Tai (@hydai), Yi-Ying He (@q82419)
  • Upstream Issue (URL): WasmEdge/WasmEdge#1063
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/3d219bc9-0d8f-4ca3-b2fb-9058aad4067d
Implement typed function references proposal
  • Description: WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. WasmEdge is an official sandbox project hosted by the CNCF. This proposal is one of the requirements for GC proposal. Typed function references proposal adds function references that are typed and can be called directly.
  • Recommended Skills: c++
  • Mentor(s): Hung-Ying Tai (@hydai), Yi-Ying He (@q82419)
  • Upstream Issue (URL): WasmEdge/WasmEdge#1123
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/47dbcdfb-7468-4f31-8701-a51f705ac87f

Kyverno

Extend Kyverno CLI test command for Generate policy rules
  • Description: Kyverno is a Kubernetes native policy engine that secures and automates Kubernetes configurations. This project extends the Kyverno CLI to cover generate policies and improve tests coverage for Kyverno, based on the test results. The enhancement will involve extending the test command for generate policy rules, adding more test cases for the samples, and automating execution of tests.
  • Recommended Skills: Golang, Kubernetes, Test, Automation
  • Mentor(s): Prateek Pandey (@prateekpandey14)
  • Upstream Issue (URL): kyverno/kyverno#3114
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/6b79b7b7-7f30-4891-bdb1-5798ea207bef
e2e tests and CLI tests to cover sample policies
  • Description: Kyverno is a Kubernetes native policy engine that secures and automates Kubernetes configurations. This project will create automated test cases for the samples policies which are missing, and automating execution of tests.The enhancement will involve adding more unit/E2E tests.
  • Recommended Skills: Golang, Kubernetes, Test, Automation
  • Mentor(s): Vyankatesh Kudtarkar (@vyankyGH), Prateek Pandey (@prateekpandey14)
  • Upstream Issue (URL): kyverno/kyverno#3121
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/5eb8e708-86e6-4650-b5ed-1614f1cbfc0e
Automate Performance Testing
  • Description: Kyverno is a Kubernetes native policy engine that secures and automates Kubernetes configurations. This project automates scalability tests for Kyverno on large Kubernetes clusters with several namespaces and resources. The candidate has to propose an automation plan to create clusters and resources and help optimize resource usage of Kyverno for different loads for large Kubernetes clusters.
  • Recommended Skills: Golang, Kubernetes, Test, Automation
  • Mentor(s): Shuting Zhao (@realshuting)
  • Upstream Issue (URL): kyverno/kyverno#3113
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/2d65b3c2-bf6c-4290-bb9b-4edf181a4d97
Security enhancements
OpenTelemetry exporter for Kyverno
  • Description: Kyverno is a Kubernetes native policy engine that secures and automates Kubernetes configurations. This project will instrument Kyverno to export OpenTelemetry data for metrics, logs, flows, and policy reports. The project will include testing with OpenTelemetry collectors and documenting the integration steps.
  • Recommended Skills: Observability, Prometheus, OpenTelemetry, Golang
  • Mentor(s): Shuting Zhao (@realshuting), Jim Bugwadia (@JimBugwadia)
  • Upstream Issue (URL): kyverno/kyverno#3120
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/e5515661-956e-49f2-8cef-8e9a14d52052

Kuma

Active monitoring of Cross Zone communication
  • Description: Kuma is a modern Envoy-based service mesh that can run on every cloud, in a single or multi-zone capacity, across both Kubernetes and VMs. It is currently a CNCF Sandbox project. Because Kuma is heavily built with multi zones in mind it is needed for Kuma to provide a good level of observability of connectivity between these zones. This project aims to provide active monitoring of connections between each zone and create new apis to bubble up this information in the GUI and in our Grafana dashboards. This project goes from design to complete implementation, documentation and demonstration.
  • Recommended Skills: golang, k8s
  • Mentor(s): Jakub Dyszkiewicz (@jakubdyszkiewicz), Bart Smykla (@bartsmykla), Charly Molter (@lahabana)
  • Upstream Issue (URL): kumahq/kuma#1907
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/bf31f5d2-21a3-4dc4-bd85-c23f9088bad3
Add status infos in Kubernetes CRDs
  • Description: Kuma is a modern Envoy-based service mesh that can run on every cloud, in a single or multi-zone capacity, across both Kubernetes and VMs. It is currently a CNCF Sandbox project. While Kuma currently exposes information about status in its api Kubernetes users usualy expect these to be also present in the Status fields of their resources. This project aims in adding status to all Kuma CRD and to improve our controllers to set these as cluster state changes.
  • Recommended Skills: golang, k8s
  • Mentor(s): Jakub Dyszkiewicz (@jakubdyszkiewicz), Bart Smykla (@bartsmykla), Charly Molter (@lahabana)
  • Upstream Issue (URL): kumahq/kuma#3734
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/c70ff3c2-f145-4396-bc48-559a03000a3c

Karmada

Refactor get command to leverage aggregated API
Refactor the scheduler framework
Enhancement for controllers scalability
Dashboard development

Kubernetes

Documentation assessment (SIG-Network Gateway API)
  • Description: 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 with a plan for improving our documentaion. In particular, we're looking for someone 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. You'll be working with the mentors and maintainers of the project, with a stretch goal being to make the changes you produce in the initial assessment.
  • Please provide a writing sample with the application.
  • Recommended Skills:
    • Technical Writing
    • Documentation
    • English
    • git/GitHub
      • Familiarity with Kubernetes and Ingress may also be helpful, but are not required.
  • Mentor(s):
  • Upstream Issue (URL): kubernetes-sigs/gateway-api#1003
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/0e4c9797-2dc5-4621-b46a-f1b7371a2495
Automation of AMI build/test/publish pipelines for Cluster API Provider AWS (CAPA)
  • Description: Cluster API (CAPI) is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify lifecycle management of Kubernetes clusters. CAPA is the infrastructure provider that extends Cluster API to manage Kubernetes clusters on AWS. As a mentee, you will start with learning CAPI/CAPA concepts and then, will work on the main project which is to automate AMI build, test, and publish workflows using Prow, Github, and other Kubernetes automation tools.
  • Recommended Skills: Golang, GitHub, Test, Automation, CI/CD pipelines
  • Mentor(s): Sedef Savas (@sedefsavas)
  • Upstream Issue (URL): kubernetes-sigs/cluster-api-provider-aws#1982
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/ce535d43-16a5-4db8-a048-2f56327b7939
Improvements to Kubernetes maintainers-related automation (SIG Contributor Experience)
  • Description: Kubernetes uses OWNERS files to delegate responsibility over different parts of the codebase. These files are also used in the code review process. Unfortunately, over time, there are lots of OWNERS files which have languished and have stale information. Since the velocity of a project is also determined by the number of people reviewing code, it is essential to keep the OWNERS files up-to-date. To ensure this, the maintainers project was created. This internship involves improving maintainers through adding new features and integrating the tool in suitable automation so that it is actively used by the community to signal out-of-date OWNERS files. A stretch goal would also be to improve similar automation tools used to handle github membership for the community.
  • Recommended Skills: golang (required), experience with GitHub APIs (preferred but not required)
  • Mentor(s): Nikhita Raghunath (@nikhita), Nabarun Pal (@palnabarun)
  • Upstream Issue (URL): kubernetes/org#3208
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/1db3f29c-30cb-4018-82c9-63b135caa6d5
Kubernetes (SIG Contribex: Mentoring Subproject)
Creating Katacoda Scenarios To Help New Contributors
  • Description: There are various Katacoda scenarios available for diverse aspects of Kubernetes, but they focus on an end-user perspective. There is a need to create interactive tutorials to help folks interested in contributing to the project. As a first step, a Katacoda scenario to set up Kubernetes and run tests locally was created that can be found here.

This internship involves improving the existing Katacoda scenario and adding new scenarios to further include aspects of contributing such as spinning up a kind cluster with the changes made and testing those changes out. Through the course of this internship, you will also learn how one can contribute to other projects of the Kubernetes community such as the Kubernetes website, and document these processes as Katacoda scenarios to help new contributors get started in their contribution journey.

Kubernetes (SIG Cluster Lifecycle)
Improvising unit test coverage(CAPV)
  • Description: Cluster API (CAPI) is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify lifecycle management of Kubernetes clusters. CAPV is the infrastructure provider that extends Cluster API to manage Kubernetes clusters on vSphere. As a mentee, you will start with learning CAPI/CAPV concepts and then, will work on the main project which is to improve unit test coverage. The ideal percentage is 70%. This project aims to either achieve that or come close to it.
  • Recommended Skills: Golang, GitHub, Test, Automation, CI/CD pipelines
  • Mentor(s): Ankita Swamy(@Ankitasw),Geetika Batra(@geetikabatra)
  • Upstream Issue (URL): kubernetes-sigs/cluster-api-provider-vsphere#1392
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/fcf265aa-57d4-4ec4-aa2d-365ca2d97349

Elekto and Kubernetes SIG-ContribEx

Elections Security Improvements
  • Description: Elekto is a project for running preference elections for open source projects hosted by the CNCF. It is used for elections for the Kubernetes and Knative projects, and will soon be used by others. During the 2021 elections, a security audit identified several areas of improvement in both in the security and privacy of Elekto, and in the security of the Kubernetes deployment. The mentee for this project would be implementing those recommendations in order to make Elekto and Kubernetes elections more secure.
  • Recommended Skills:
    • Python/Flask programming
    • Understand basic HTML/CSS
    • Moderate knowledge of SQL and database migrations
    • How to use basic cryptographic functions available in existing libraries
  • Mentor(s): Josh Berkus (@jberkus)
  • Issue: Implement Security Recommendations
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/63faaa29-00a2-43af-b874-fa1b90630318

Vitess

Add complete parsing support for MySQL functions
  • Description: Vitess is a database clustering system for horizontal scaling of MySQL. One of the key goals of Vitess is to emulate MySQL behavior even while running multiple MySQL instances so that ORMs and frameworks work seamlessly. Vitess has its own in-built SQL-parser which it uses to understand the query and represent as structs for further processing. As of now, a lot of MySQL functions are not parsed correctly and result in syntax errors. Parsing for a lot of the newer features in MySQL 8.0 is also missing. The task of the mentee would be to add parsing support for such functions and features.
  • Recommended Skills: go, SQL, yacc, compilers and lexers
  • Mentor(s): Manan Gupta (@GuptaManan100)
  • Issue: vitessio/vitess#8604
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/759a56fe-5e07-4078-9ad9-165ae85a0939

Tremor

Database Connectors
  • Description: Connectors are tremors interface to the outside world, they allow us to integrate with third-party systems. Currently, tremor only has a limited set of connectors for databases, we support s3 and google cloud storage for object stores, and have a k/v connector that offers a simple integrated key-value store. While this is a good starting point interfacing with more databases will make tremor easier to use for our end users. The primary target will be integrating with Yandex Clickhouse.
  • Recommended Skills: Rust, Databases, Testing
  • Mentor(s): Matthias Wahl, Darach Ennis
  • Upstream Issue (URL):tremor-rs/tremor-runtime#1453
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/5c828028-f91c-4969-b4de-9efdb27bb869
CI and Release process improvements
  • Description: Tremor has a lot of headroom when it comes to improving the CI and the build process. Those improvements will make the day-to-day life of contributors better and gives end-users more frequent and up-to-date builds allowing them to be used in a more cloud-native fashion. The goal is to make the general developer and user experience around contributing and releasing better. This project is well suited for someone interested in the DevOps/SRE world but offer stretch goals to reach into other topics.
  • Recommended Skills: Make, Git/GitHub, CI/GitHub Actions, GitOps, DevOps, Packaging
  • Mentor(s): Heinz Gies, Darach Ennis
  • Upstream Issue (URL): tremor-rs/tremor-runtime#1452
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/06ecd0e0-8d29-44e4-b249-80dd07704564

KubeEdge

Plans for Node Group Management
Move edge native k8s api interface GA
Design and add more e2e tests especially for edge scenarios
Updating the kubeedge docs

Thanos

Run a community Thanos demo instance

OpenTelemetry PHP

Help drive OpenTelemetry PHP to Beta

Pixie

Add support for new protocols in protocol tracer

Service Mesh Performance

Definition of MeshMark
  • Description: Create MeshMark provides a universal performance index to gauge your mesh’s efficiency against deployments in other organizations’ environments. MeshMark functions as a service mesh performance index (a scale) to provide people the ability to weigh the value of their service mesh versus the overhead of their service mesh and assess whether they are getting out of the mesh what they are “paying” for in it. Work with maintainers from Layer5, Intel, Red Hat, and HashiCorp on researching cloud native infrastructure performance. Internship involves: machine learning, adaptive algorithms, running and analyzing performance statistics.
  • Recommended Skills: Analytics, Algorithms, Data Science, (Golang and/or C++ helpful, but not necessary)
  • Mentor(s): Lee Calcote (@lcalcote), Aditya Chatterjee
  • Issue: service-mesh-performance/service-mesh-performance#227
  • LFX URL: https://mentorship.lfx.linuxfoundation.org/project/2ba7b837-6385-46d7-9bdd-f8f5d4d570c5

Meshery

Service mesh playground
Workflow engine

Service Mesh Interface

Conformance Program