Skip to content

Latest commit

 

History

History
240 lines (163 loc) · 10.6 KB

File metadata and controls

240 lines (163 loc) · 10.6 KB

Shows an illustrated light mode meshery logo in light color mode and a dark mode meshery logo dark color mode.

Docker Pulls Go Report Card Build Status GitHub codecov Website Twitter Follow Discuss Users Slack CII Best Practices


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

Layer5 Community 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

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

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.





Contributing

Contributor Guide

To contribute to the Meshery Operator, please follow the steps below to set up your development environment and begin making contributions:

1. Prerequisites

Ensure the following are installed on your local machine:

  • Docker
  • kubectl
  • Kubernetes (e.g., Minikube or Kind)
  • Golang (v1.25 or later)
  • Make
  • Git

2. Fork and Clone the Repository

git clone https://github.com/<your-username>/meshery-operator.git
cd meshery-operator

3. Set Up Your Environment

Ensure that Docker and your Kubernetes cluster (such as Minikube or Kind) are installed and running.

Install Meshery CLI

curl -L https://meshery.io/install | bash

Start Meshery

meshery start

4. Build Meshery Operator

Build Locally

To build the Meshery Operator locally, run:

make build

Run Locally (Outside the Cluster)

To run the operator outside the cluster, execute:

make run

5. Run Meshery Operator on Kubernetes

Deploy to Cluster

To 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.yaml

Another method for deploying the operator is through helm.

Verify Deployment

To verify that the operator is running:

kubectl get pods -n meshery

6. Testing

To run tests locally, execute:

make test

7. Contribution Workflow

Create a New Branch

Start by creating a new branch from master:

git checkout -b <feature-or-fix-name>

Make Changes and Commit

Ensure that all your commits follow the Developer Certificate of Origin (DCO). Sign off your commits with:

git commit -s -m "your message"

Push Changes

Push your changes to your fork:

git push origin <your-branch-name>

Open a Pull Request

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:


Join the Meshery community!

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

Find your MeshMate

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.



Meshery Cloud Native 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.



Shows an illustrated light mode meshery logo in light color mode and a dark mode meshery logo dark color mode.

Not sure where to start? Grab an open issue with the help-wanted label.



 

License

This repository and site are available as open-source under the terms of the Apache 2.0 License.