Read the following guide if you're interested in contributing to cluster-api.
We'd love to accept your patches! Before we can take them, we have to jump a couple of legal hurdles.
Please fill out either the individual or corporate Contributor License Agreement (CLA). More information about the CLA and instructions for signing it can be found here.
NOTE: Only original source code from you and other people that have signed the CLA can be accepted into the repository.
If you're new to the project and want to help, but don't know where to start, we have a semi-curated list of issues that should not need deep knowledge of the system. Have a look and see if anything sounds interesting. Alternatively, read some of the docs on other controllers and try to write your own, file and fix any/all issues that come up, including gaps in documentation!
- If you haven't already done so, sign a Contributor License Agreement (see details above).
- TODO: Read the cluster-api development guide.
- Fork the desired repo, develop and test your code changes. (TODO: we don't have tests yet. See
cluster-api-gcp
README for manual testing for now.) - Submit a pull request.
All changes must be code reviewed. Coding conventions and standards are explained in the official developer docs. Expect reviewers to request that you avoid common go style mistakes in your PRs.
Cluster API maintainers may add "LGTM" (Looks Good To Me) or an equivalent comment to indicate that a PR is acceptable. Any change requires at least one LGTM. No pull requests can be merged until at least one Cluster API maintainer signs off with an LGTM.
Whether you are a user or contributor, official support channels include:
- GitHub issues: https://github.com/kubernetes/kube-deploy/issues/new
- Slack: Chat with us on Slack: #cluster-api
- Email: kubernetes-sig-cluster-lifecycle mailing list
Before opening a new issue or submitting a new pull request, it's helpful to search the project - it's likely that another user has already reported the issue you're facing, or it's a known issue that we're already aware of.