LFX Mentorship 2024 Spring Projects

UI Migration from MUI v4 to MUI v5 and Next.js 13

Description:

Meshery's UI is powerful and utilizes frameworks like Next.js and Material-UI. However, it relies on outdated technology stacks, resulting in performance inefficiencies and increased maintenance overhead.

Recommended Skills:

ReactJs, NextJs, familiarity with Material UI, Redux and Redux Toolkit

Expected Outcome:

  • Migrate from MUI v4 to MUI v5 and fully utilize features of Nextjs v13.
  • Migrate all class based components to function based component.
  • Reduced code complexity and improved maintainability for long-term sustainability.
  • Responsive and accessible UI that adapts to diverse devices and user needs.

Mentors:

Issue:

https://github.com/meshery/meshery/issues/6680

Expand CLI capabilities for registry management

Description:

Meshery CLI is a powerful tool to manage all your cloud native resources, Meshery has internal capability called Registry to store and manage models, categories, component and relationship, presently Meshery’s v0.7 release allow users to view all this information from Meshery UI. We also need to expose Meshery’s registry capability through mesheryctl

Recommended Skills:

Golang, familiarity with Golang CLI framework Cobra

Expected Outcome:

  • Design mesheryctl subcommands and flags for registering, listing, retrieving, updating, and deleting models, components and relationships.
  • Implement validation and error handling for user input and API responses.
  • Integrate with relevant Meshery APIs to interact with the registry backend.

Mentors:

Issue:

https://github.com/meshery/meshery/issues/8176

Expand integration with Artifact Hub

Description:

While Meshery has made significant strides, its integration with Artifact Hub requires expansion and enhancement to maximize users experience. The goal is expand integration between Meshery and Artifact Hub which starts with making Meshery designs as a new Artifact Hub kind.

Recommended Skills:

Familiarity with Helm charts and Artifact Hub, basic familiarity with Kubernetes

Expected Outcome:

  • Definition and implementation of Meshery patterns as a distinct category within Artifact Hub.
  • Design features to showcase Meshery's unique design patterns, enhancing visibility and accessibility.
  • Collaborate with select publishers to integrate Meshery snapshots into Artifact Hub entries.
  • Enhance user experience by providing visual representations of Meshery-related artifacts.

Mentors:

Issue:

https://github.com/meshery/meshery/issues/9966

LFX Mentorship 2024 Summer Projects

Meshery: Project tutorials, design patterns, & publish reference architectures

Description:

Meshery the CNCF’s 10th fastest growing project. As a cloud native manager, Meshery integrates with 250+ projects and technologies. For each CNCF project integrated with Meshery, tutorials, sample designs, and deployment patterns with reference architectures need to be created. For the earnest, DevOps-minded intern, this internship represents a vast opportunity to learn, document, and publish tutorials and best practices not only around Meshery, but for any number of the other CNCF projects, too. You will use the Meshery Playground

Recommended Skills:

written English, Kubernetes, DevOps, and familiarity with any number of other CNCF projects, like Jaeger, Helm, Harbor, Flux, Argo, Flux, Falco, etc., Jekyll, strong organizational skills

Expected Outcome:

  • 25+ new design patterns published in Meshery Catalog and Artifact Hub.
  • 5 new Meshery tutorials published in Meshery Docs.
  • Bonus: Extend one or more of Meshery’s Learning Paths.

Mentors:

Issue:

https://github.com/meshery/meshery/issues/10888

End-to-End Testing with Playwright

Description:

Meshery integrates with many other CNCF projects and technologies. Sustaining those integrations is only possible through automation. End-to-end testing with Playwright, GitHub Workflows, and self-documenting test reports is the means to the end of maintaining a healthy state of each of these Meshery integrations.

Recommended Skills:

JavaScript, Playwright, GitHub Workflows, Jekyll, Markdown, familiarity with React or Nextjs would be helpful, CI/CD

Expected Outcome:

  • Successful migration of E2E tests from Cypress to the Playwright test library within the Meshery project.
  • Implementation of robust and reliable test cases using Playwright to cover a wide range of Meshery's E2E scenarios.
  • Documentation detailing the migration process, and guidelines for future contributions to maintain test quality.
  • Integration of Playwright test suite into the Meshery CI/CD pipeline to ensure continuous testing and reliability of the platform.

Mentors:

Issue:

https://github.com/meshery/meshery/issues/10890

Support versioning for Meshery designs

Description:

Meshery design is a common practice of both configuring and operating cloud native infrastructure functionality in a single, universal file. We are seeking to enhance Meshery's capabilities by supporting automatic versioning of Meshery designs based on user sessions. This functionality will enable users to track changes made to their designs by individuals, facilitating the ability to rollback changes at any time.

Recommended Skills:

Golang, Kubernetes, Meshery, Familiarity with Helm charts and Artifact Hub, familiarity with React, Nextjs would be helpful

Expected Outcome:

  • Update Meshery server and pattern engine to support Meshery design versioning.
  • Update UI to allow users to perform actions related to design versioning.
  • Document changes made in pattern engine and server.

Mentors:

Issue:

https://github.com/meshery/meshery/issues/10889

LFX Mentorship 2024 Fall Projects

End-to-End Testing with Playwright (Round 2)

Description:

Meshery integrates with many other CNCF projects and technologies. Sustaining those integrations is only possible through automation. End-to-end testing with Playwright, GitHub Workflows, and self-documenting test reports is the means to the end of maintaining a healthy state of each of these Meshery integrations.

Recommended Skills:

JavaScript, Playwright, GitHub Workflows, Jekyll, Markdown, familiarity with React or Nextjs would be helpful, CI/CD

Expected Outcome:

  • Successful migration of E2E tests from Cypress to the Playwright test library within the Meshery project.
  • Implementation of robust and reliable test cases using Playwright to cover a wide range of Meshery's E2E scenarios.
  • Documentation detailing the migration process, and guidelines for future contributions to maintain test quality.
  • Integration of Playwright test suite into the Meshery CI/CD pipeline to ensure continuous testing and reliability of the platform.

Mentors:

Issue:

https://github.com/meshery/meshery/issues/11494

Migrate APIs to be schema-driven

Description:

Enhance Meshery’s APIs capability by migrating to a schema-driven approach, which will ensure consistency, validation, and easier integration. It involves versioning and defining API schemas using OpenAPI/Swagger at https://github.com/meshery/schemas and auto generating structs. You will be ensuring all Meshery APIs aligns with defined schemas and are consistent.

Recommended Skills:

Golang, Kubernetes, Swagger, JSON schemas, familiarity with React, Nextjs would be helpful

Expected Outcome:

  • Identifying APIs and updating them to conform these schemas.
  • Enhance API documentation to reflect the schema-driven approach.
  • Updating APIs to ensure they are consistent and doing validation against defined schemas.

Mentors:

Issue:

https://github.com/meshery/meshery/issues/11495

UI Migration from MUI v4 to MUI v5 and Sistent

Description:

Meshery's UI is powerful and utilizes frameworks like Next.js and Material-UI. However, it relies on outdated technology stacks, resulting in performance inefficiencies and increased maintenance overhead.

Recommended Skills:

React.js, Next.js, familiarity with Material UI, Redux and Redux Toolkit

Expected Outcome:

  • Migrate from MUI v4 to MUI v5 and fully utilize features of Nextjs v13 and Sistent.
  • Migrate all class based components to function based components.
  • Reduced code complexity and improved maintainability for long-term sustainability.
  • Responsive and accessible UI that adapts to diverse devices and user needs.

Mentors:

Issue:

https://github.com/meshery/meshery/issues/11493

LFX Mentorship 2024 Program Timeline

Full-Time Terms:

Spring Term: March 4th - May 31st

  • Mentorships available on LFX Mentorship: Jan 8th, 2024
  • Applications open: Jan 29th - Feb 13th
  • Application review/admission decisions/HR paperwork: Feb 14th - Feb 27th

Summer Term: June 17th - August 30th

  • Mentorships available on LFX Mentorship: April 8th, 2024
  • Applications open: May 13th - May 28th
  • Application review/admission decisions/HR paperwork: May 29th - June 11th

Fall Term: September 9th - Nov 29th

  • Mentorships available on LFX Mentorship: July 3rd, 2024
  • Applications open: July 31st - August 13th
  • Application review/admission decisions/HR paperwork: August 14th - August 27th

About the Community

The Meshery 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 the project forward. New members are always welcome.