A self-service engineering platform, Meshery, is the open source, cloud native manager that enables the design and management of all Kubernetes-based infrastructure and applications. Among other features, as an extensible platform, Meshery offers visual and collaborative GitOps, freeing you from the chains of YAML while managing Kubernetes multi-cluster deployments.
Meshery Operator (docs) is a Kubernetes Operator that deploys and manages the lifecycle of two Meshery components critical to Meshery’s operations of Kubernetes clusters. Deploy one Meshery Operator per Kubernetes cluster under management - whether Meshery Server is deploy inside or outside of the clusters under management.
MeshSync (docs) is an event-driven, continuous synchronization controller responsibe for the task of ensuring that the state of configuration and status of operation of any infrastructure under management are known to Meshery. MeshSync runs as a Kubernetes custom controller under the control of Meshery Operator.
Meshery Broker (docs) is a custom Kubernetes controller that provides data streaming across independent components of Meshery whether those components are running inside or outside of the Kubernetes cluster.
To contribute to the Meshery Operator, please follow the steps below to set up your development environment and begin making contributions:
Ensure the following are installed on your local machine:
- Docker
- kubectl
- Kubernetes (e.g., Minikube or Kind)
- Golang (v1.25 or later)
- Make
- Git
git clone https://github.com/<your-username>/meshery-operator.git
cd meshery-operatorEnsure that Docker and your Kubernetes cluster (such as Minikube or Kind) are installed and running.
curl -L https://meshery.io/install | bashmeshery startTo build the Meshery Operator locally, run:
make buildTo run the operator outside the cluster, execute:
make runTo deploy the Meshery Operator to your Kubernetes cluster, use:
kubectl apply -f https://raw.githubusercontent.com/meshery/meshery/master/install/deployment_yamls/k8s/meshery-operator-deployment.yamlAnother method for deploying the operator is through helm.
To verify that the operator is running:
kubectl get pods -n mesheryTo run tests locally, execute:
make testStart by creating a new branch from master:
git checkout -b <feature-or-fix-name>Ensure that all your commits follow the Developer Certificate of Origin (DCO). Sign off your commits with:
git commit -s -m "your message"Push your changes to your fork:
git push origin <your-branch-name>Open a Pull Request (PR) to the meshery-operator repository. Make sure your PR adheres to the contribution guidelines.
Refer to the following for more details:
Our projects are community-built and welcome collaboration. 👍 Be sure to see the Contributor Welcome Guide and Community Handbook for a tour of resources available to you and the Repository Overview for a cursory description of repository by technology and programming language. Jump into community Slack or discussion forum to participate.
MeshMates are experienced Meshery community members, who will help you learn your way around, discover live projects, and expand your community network. Conneect with a Meshmate today!
Find out more on the Meshery community.
✔️ Join any or all of the weekly meetings on community calendar.
✔️ Watch community meeting recordings.
✔️ Fill-in a community member form to gain access to community resources.
✔️ Discuss in the Community Forum.
✔️ Explore more in the Community Handbook.
This repository and site are available as open-source under the terms of the Apache 2.0 License.

