Please do! Thanks for your help! 🎈
This project is community-built and welcomes collaboration. Contributors are expected to adhere to the CNCF’s Code of Conduct.
Not sure where to start?
Follow these steps and you’ll be right at home.
See the Community Welcome Guide for how, where, and why to contribute.
Sign up for a MeshMate to find the perfect Mentor to help you explore the Layer5 projects and find your place in the community:
- Familiarize yourself with all the Layer5 projects (Take a look at the Community Drive and the Layer5 Repository Overview: Spend time understanding each of the Layer5 initiatives through high-level overviews available in the community drive and through discussions with your MeshMate.
- Identify your area of interest: Use the time with your MeshMate to familiarize yourself with the architecture and technologies used in the projects. Inform your MeshMate of your current skills and what skills you aim to develop.
- Run Meshery: Put on your user hat and walk-through all of Meshery’s features and functions as a user.
- Build Meshery: Confirm that you have a usable development environment.
- Communicate with the Layer5 community by joining the Slack account.
- Contribute by grabbing any open issue with the help-wanted label and jump in. If needed, create a new issue. All pull requests should reference an open issue. Include keywords in your pull request descriptions, as well as commit messages, to automatically close issues in GitHub.
- General Contribution Flow
- Developer Certificate of Origin
- Meshery Contribution Flow
To contribute to Meshery, please follow the fork-and-pull request workflow described here.
To contribute to this project, you must agree to the Developer Certificate of Origin (DCO) for each commit you make. The DCO is a simple statement that you, as a contributor, have the legal right to make the contribution.
Signed-off-by: Jane Smith <email@example.com>
In most cases, you can add this signoff to your commit automatically with the
--signoff flag to
git commit. You must use your real name and a reachable email
address (sorry, no pseudonyms or anonymous contributions). An example of signing off on a commit:
$ commit -s -m “my commit message w/signoff”
To ensure all your commits are signed, you may choose to add this alias to your global
[alias] amend = commit -s --amend cm = commit -s -m commit = commit -s
Or you may configure your IDE, for example, Visual Studio Code to automatically sign-off commits for you:
Meshery is written in
Go (Golang) and leverages Go Modules. UI is built on React and Next.js. To make building and packaging easier a
Makefile is included in the main repository folder.
Please note: All
make commands should be run in a terminal from within the Meshery’s main folder.
Prerequisites for building Meshery in your development environment:
Goversion 1.11+ installed if you want to build and/or make changes to the existing code.
GOPATHenvironment variable should be configured appropriately
nodeshould be installed on your machine, preferably the latest versions.
- Fork this repository (
git clone https://github.com/layer5io/meshery.git), clone your forked version of Meshery to your local, preferably outside
GOPATH. If you happen to checkout Meshery inside your
GOPATHand you have a version of
Goprior to version 1.13, please set an environment variable
GO111MODULE=onto enable GO Modules.
Build and run Meshery server
To build & run the Meshery server code, run the following command:
Any time changes are made to the GO code, you will have to stop the server and run the above command again.
Once the Meshery server is up and running, you should be able to access Meshery on your
localhost on port
http://localhost:9081. One thing to note, you might NOT see the Meshery UI until the UI code is built as well.
After running Meshery server, you will need to select your Cloud Provider by navigating to
localhost:9081. Only then you will be able to use the Meshery UI on port
Building Docker image
To build a Docker image of Meshery, please ensure you have
Docker installed to be able to build the image. Now, run the following command to build the Docker image:
- Contributing to Meshery UI
- Meshery Contributing Guidelines
- Contributing to Meshery Docs
- Contributing to Meshery CLI
- Contributing to Meshery Adapters
- Contributing to Meshery using git