MeshSync, an event-driven, continuous discovery and synchronization engine performs the task of ensuring that the state of configuration and status of operation of any supported Meshery platform (e.g. Kubernetes) and environment are known to Meshery Server. When deployed into Kubernetes enviroments, MeshSync runs as a Kubernetes custom controller under the control of Meshery Operator.
See MeshSync in Meshery Docs for additional information.
Could be run in two modes:
- nats (default)
- file
See details on input params in command help output:
meshsync --help
NATS mode is the default mode.
In that mode, MeshSync expects a NATS connection and outputs Kubernetes resources updates into NATS queue, which is how MeshSync runs when deployed in Kubernetes cluster in conjuction with Meshery Broker.
File mode is an option to run meshsync without dependency on nats and CRD.
In that mode meshsync outputs k8s resources updates into file in kubernetes manifest yaml format.
The result of run is two files:
- meshery-cluster-snapshot-YYYYMMDD-00.yaml
- meshery-cluster-snapshot-YYYYMMDD-00-extended.yaml
meshery-cluster-snapshot-YYYYMMDD-00-extended.yaml contains all events meshsync produces as output;
meshery-cluster-snapshot-YYYYMMDD-00.yaml contains a deduplicated version where each resource is presented with one entity.
Deduplication is done by metadata.uid
field.
Right now the format of the generated files is very close to kubernetes manifest yaml format, but not exactly the same.
Generated files contain metadata.labels
as array while in kubernetes manifest it should be an object.
It is due to the format of KubernetesResourceObjectMeta.
kubectl apply --dry-run
returns corresponding error:
kubectl apply --dry-run=client -f meshery-cluster-snapshot-YYYYMMDD-00.yaml
unable to decode "meshery-cluster-snapshot-YYYYMMDD-00.yaml": json: cannot unmarshal array into Go struct field ObjectMeta.metadata.labels of type map[string]string
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 community members, who will help you learn your way around, discover live projects, and expand your community network. Connect with a Meshmate today!
Learn more about the MeshMates program.
✔️ Join any or all of the weekly meetings on community calendar.
✔️ Watch community meeting recordings.
✔️ Fill-in a member form and gain access to community resources.
✔️ Discuss in the Community Forum.
✔️ Explore more in the Community Handbook.
Not sure where to start? Grab an open issue with the help-wanted label.
Please do! We're a warm and welcoming community of open source contributors. Please join. All types of contributions are welcome. Be sure to read the Contributor Guides for a tour of resources available to you and how to get started.