Linux Foundation 2023 Program Timeline

Full-Time Terms:

  • Spring Term: March 1st - May 31st
    • mentorships available on LFX Mentorship: Jan 15th, 2023
    • applications open: Jan 15th - Feb 12th (4 weeks)
    • application review/admission decisions/HR paperwork: Feb 15th - Feb 26th
  • Summer Term: June 1st - August 31st
    • mentorships available on LFX Mentorship: April 15th, 2023
    • applications open: May 10th - May 23rd (2 weeks)
    • application review/admission decisions/HR paperwork: May 24th - May 29th
  • Fall Term: September 1st - Nov 30th
    • mentorships available on LFX Mentorship: July 27th, 2023
    • applications open: August 2nd - August 15th (2 weeks)
    • application review/admission decisions/HR paperwork: August 16th - August 29th
Part-time terms will start on the same schedule and last six versus three months.

About Layer5 and its projects

The Layer5 community embraces developer-defined infrastructure. We empower developers to change how they write applications, support operators in rethinking how they run modern infrastructure, and enable product owners to regain full-control over their product portfolio. Our cloud native application and infrastructure management software enables organizations to expect more from their infrastructure.

Our inclusive and diverse community stewards projects to provide learning environments, create and implement cloud native industry standards, deployment and operational best practices, benchmarks and abstractions, and more. Our pay-it-forward mentality with every contributor (mentee or not) is a shared commitment by all maintainers (and MeshMates - contributor onboarding buddies) to the open source spirit that pushes Layer5 projects like Meshery forward. New members are always welcome.

About Meshery

Meshery is the open source, service mesh management plane for enabling the adoption, operation, and management of any service mesh and their workloads. There are many service meshes available. Software-defined networking is difficult to understand. Meshery’s aim is to make the power of the network available to the rest of us.

About our Community

Layer5 is all about its community of contributors. We have designed an onboarding program customized to meet newcomers where they’re at and developed an onboarding buddy program, MeshMates with individuals dedicated to assisting contributors. Layer5 and Meshery have been around for a year and half and have a healthy, growing community of 800+ contributors. The layer5.io website itself is open source and created by 400+ of our contributors.

Technical writers and other contributors are what comprise Layer5 - an open organization, built for the community by the community. Many student contributors have been placed into new jobs with technology companies like Red Hat, Microsoft, and VMware to name a few of the larger organizations. Layer5 expects much from interns and in return, we put them on stage at DockerCon and KubeCon. We promote them and uplift their works. There are many, many examples of this on the layer5.io websites. A number of former interns are now project maintainers.

LFX Mentorship 2023 Spring Projects


Meshery


Distributed workflow engine

Description: Integrate a new architectural component into Meshery: a workflow engine. This project involves shifting Meshery off of bitcask and off of sqlite over to postgres using gorm (golang). Interns will familiarize with concepts of orchestration engines, including chaining workflows, and content lifecycle management.

Multi-user cloud native playground

Description: Advance the cloud native playground in which any CNCF project can be explored. Meshery’s genesis is that of helping teach people about cloud native technology and enabling to operate various types of cloud native infrastructure confidently. The proposed project is aimed at furthering this mission by infusing multi-user collaboration as a pervasisve feature so that users can learn together in a running instance of Meshery.

Distributed client-side policy evaluation in WASM and Rego

Description: Meshery's highly dynamic infrastructure configuration capabilities require real-time evaluation of complex policies. Policies of various types and with a high number of parameters need to be evaluted client-side. With policies expressed in Rego, the goal of this project is to incorporate use of the https://github.com/open-policy-agent/golang-opa-wasm project into Meshery UI, so that a powerful, real-time user experience is possible.

Service Mesh Performance


Adaptive Load Controller II

Description: The adaptive load controller is to execute optimization routines recursivley to determine the maximum load a system can sustain. The maximum load is usually defined by the maximum requests per second (rps) the system can handle. The metrics (CPU usage, latency etc) collected from the system under test are the constraints we provide to judge whether a system under test (SUT) is sustaining the load.

A use-case that fits very well is be the ability to use it to run performance tests on a schedule and track the maximum load a system can handle over time. This could give insights to performance improvements or degradations.

CNCF TAG Network


Representing Kubernetes ontology in MeshModel

Description: Network topologies and graph databases go hand-in-hand. The OpenAPI specifications for Kubernetes provides taxonomy, but augmenting a graph data model with formalized ontologies enables any number of capabilities, one of the more straightforward is the inferencing requisite for natural language processing, and consequently, a human-centric query / response interaction becomes becomes possible. More importantly, more advanced systems can be built when a graph data model of connected systems is upgraded to be a knowledge semantic graph. Deliverables (among other items):

  1. MeshModel capabilities browser
  2. Import/export of MeshModel models and components as OCI images
  3. Augmentation of cuelang-based component generator

LFX Mentorship 2023 Summer Projects


Meshery


Meshery UI Permissions Framework

Description: Meshery UI lacks a permissions framework. The existing internal implementation is simple, fragile and must be completely rewritten. The approach to implemention a permmissions framework includes using React.js and CASL.js. Meshery UI's approach needs to be extensible given that this framework will be an extension point for Remote Providers to supply their own permissions.

Expected Outcome: Definition of permissions and their enforcement in Meshery with an aim for deep granularity and extensibility with each user interface input component carrying a unique permission key id. Each key is then put into a group of keys in a keychain, keychains assigned to user roles, in turn, roles assigned to users. With users having the ability to create own custom roles, the framework will be dynamic based on the associated server-side permissions for the currently auth’ed user.

OPA policy evaluation in-browser using WebAssembly and Rego

Description: Meshery's highly dynamic infrastructure configuration capabilities require real-time evaluation of complex policies. Policies of various types and with a high number of parameters need to be evaluted client-side. With policies expressed in Rego, the goal of this project is to incorporate use of the https://github.com/open-policy-agent/golang-opa-wasm project into Meshery UI.

Expected Outcome: a powerful real-time multi-user collaboration experience.

Adopt OCI as the packaging and distribution format for Meshery MeshModels

Description: Meshery MeshModels represent a schema-based description of cloud native infratructure. MeshModels need to be portable between Meshery deployments as well as easily versionable in external repositories.

Expected Outcome:

  1. Meshery clients (mesheryctl and Meshery UI) should be able to import/export MeshModels as OCI images.
  2. Meshery clients (mesheryctl and Meshery UI) should be able to push/pull from OCI-compatible registries.
  3. Stretch Goal: OCI image signing; Verify the authenticity of MeshModels using cosign (https://github.com/sigstore/cosign).
  4. Target registries: Meshery Catalog (https://meshery.io/catalog), Artifact Hub.

OCI compatible Kubernetes ontology

Description: Network topologies and graph databases go hand-in-hand. The OpenAPI specifications for Kubernetes provides taxonomy, but augmenting a graph data model with formalized ontologies enables any number of capabilities, one of the more straightforward is the inferencing requisite for natural language processing, and consequently, a human-centric query / response interaction becomes becomes possible. More importantly, more advanced systems can be built when a graph data model of connected systems is upgraded to be a knowledge semantic graph. Deliverables (among other items):

  1. MeshModel capabilities browser
  2. Import/export of MeshModel models and components as OCI images
  3. Augmentation of cuelang-based component generator

Service Mesh Performance


Service Mesh Performance IDE Plugin

Description: The objective of this project is to develop IDE plugins that can enhance the developer experience while working with Service Mesh Performance Performance Profiles. The proposed plugins will leverage technologies such as golang and cuelang to provide features such as syntax highlighting, auto-completion, validation, and rendering previews for Service Mesh Performance profile and model definitions.

Expected Outcome:

  1. Release VS Code Extension
  2. Syntax Highlighting and Auto-completion: The plugin can fetch SMP Model definitions such as cloud-native components and their relationships. This information can be used to provide syntax highlighting and auto-completion for these definitions in the JSON files, making it easier for developers to write error-free code.
  3. Validation and Reference: For Meshery MeshModel definitions such as cloud-native components and their relationships, the plugin can use the CUE language to provide validation for the CUE input and preview the rendering result. The plugin can also fetch the SMP Model schemas and display them in the IDE for reference.

Additional information


Previous experience with technical writers or documentation

Our mentors have managed teams of technical writers working on documenting enterprise-grade software at large technology companies (Cisco, Seagate, SolarWinds). During the span of time, they have worked with technical writers in DITA and post-DITA environments (from Word to FrameMaker, structured writing, online help, various CMSes, git). Our mentors have worked with technical writers on documentation strategy, creating document sets, covering the full spectrum of reader personas.

We interact daily over Slack, and have an open source project meeting everyday, which are posted to the community YouTube channel.

Layer5, the cloud native management company

An empowerer of engineers, Layer5 helps you extract more value from your infrastructure. Creator and maintainer of cloud native standards. Maker of Meshery, the cloud native manager.