Welcome to Kmesh!
- Contributing
- Before you get started
- Getting started
- Your First Contribution
- Contributor Workflow
- Membership
Please make sure to read and observe our Code of Conduct.
Kmesh is a community project driven by its community which strives to promote a healthy, friendly and productive environment. Kmesh aims to provide turnkey automation for multi-cluster application management in multi-cloud and hybrid cloud scenarios, and intended to realize multi-cloud centralized management, high availability, failure recovery and traffic scheduling.
- Fork the repository on GitHub.
- Make your changes on your fork repository.
- Submit a PR.
We will help you to contribute in different areas like filing issues, developing features, fixing critical bugs and getting your work reviewed and merged.
If you have questions about the development process, feel free to file an issue.
We are always in need of help, be it fixing documentation, reporting bugs or writing some code. Look at places where you feel best coding practices aren't followed, code refactoring is needed or tests are missing. Here is how you get started.
There are multiple repositories within the Kmesh organization. Each repository has beginner-friendly issues that provide a good first issue. For example, Kmesh-net/Kmesh has help wanted and good first issue labels for issues that should not need deep knowledge of the system. We can help new contributors who wish to work on such issues.
Another good way to contribute is to find a documentation improvement, such as a missing/broken link. Please see Contributing below for the workflow.
When you are willing to take on an issue, just reply on the issue. The maintainer will assign it to you.
While we encourage everyone to contribute code, it is also appreciated when someone reports an issue. Issues should be filed under the appropriate Kmesh sub-repository.
Example: a Kmesh issue should be opened to Kmesh-net/Kmesh.
Please follow the prompted submission guidelines while opening an issue.
Please do not ever hesitate to ask a question or send a pull request.
This is a rough outline of what a contributor's workflow looks like:
- Create a topic branch from where to base the contribution. This is usually master.
- Make commits of logical units.
- Push changes in a topic branch to a personal fork of the repository.
- Submit a pull request to Kmesh-net/Kmesh.
Pull requests are often called simply "PR". Kmesh generally follows the standard github pull request process. To submit a proposed change, please develop the code/fix and add new test cases. After that, run these local verifications before submitting pull request to predict the pass or fail of continuous integration.
- Run and pass
make gen-check
- To compile, refer to Compile and Build Kmesh
- To run unit test, refer to Run Unit Test
- To run e2e test, refer to Run E2E Test
To make it easier for your PR to receive reviews, consider the reviewers will need you to:
- follow good coding guidelines.
- write good commit messages.
- break large changes into a logical series of smaller patches which individually make easily understandable changes, and in aggregate solve a broader issue.
We encourage all contributors to become members. Learn more about requirements and responsibilities of membership in our Community Membership doc.
If you have made contributions that meet the requirements of becoming KMesh member, simply file an issue to apply.
Kmesh community welcomes all interested developers to become members of the Kmesh community!