Kubernetes projects require that you sign a Contributor License Agreement (CLA) before we can accept your pull requests.
Please see https://git.k8s.io/community/CLA.md for more info.
- go version v1.13+.
- dep dep v0.5+
- docker version 17.03+.
- kubectl version v1.11.3+.
- kustomize v3.1.0+
- Access to a Kubernetes v1.11.3+ cluster.
- Submit an issue describing your proposed change to the repo in question.
- The repo owners will respond to your issue promptly.
- If your proposed change is accepted, and you haven't already done so, sign a Contributor License Agreement (see details above).
- Fork the desired repo, develop and test your code changes.
- Submit a pull request.
- Run the following command to clone your fork of the project locally in the dir /src/sigs.k8s.io/kubebuilder
$ git clone [email protected]:<user>/kubebuilder.git $GOPATH/src/sigs.k8s.io/kubebuilder
- Ensure you activate module support before continue (
$ export GO111MODULE=on
) - Build the project by using the command
make build
- Run the command
make install
to create a bin with the source code
- Run the tests by using the command
make test
. It will execute unit tests. - Run the script
make generate
to update/generate the mock data used in the e2e test in$GOPATH/src/sigs.k8s.io/kubebuilder/testdata/
IMPORTANT: The make generate
is very helpful. By using it, you can check if good part of the commands still working successfully after the changes. Also, note that its usage is a pre-requirement to submit a PR.
NOTE To run make lint
is required to install golangci-lint
locally it. More info: https://github.com/golangci/golangci-lint#install
- See the Travis file to check its tests and the scripts used on it.
- Note that the prow tests used in the CI are configured in kubernetes-sigs/kubebuilder/kubebuilder-presubmits.yaml.
- Check that all scripts used by the CI are defined in the project.
We currently have 2 production branches, book-v2
and book-v1
. book-v2
maps
to book.kubebuilder.io
which contains our latest released features, while
book-v1
maps to book-v1.book.kubebuilder.io
, which contains our legacy docs
for kubebuilder V1.
Docs for unreleased features live in the master
branch. We merge the master
branch into the book-v2
branch when doing the releases.
If adding doc for an unreleased feature, the PR should target master
branch.
If updating existing docs, the PR should target master
branch and then
cherry-picked into book-v2
branch.
Check the CI job after to do the Pull Request and then, click on in the Details
of netlify/kubebuilder/deploy-preview
Learn how to engage with the Kubernetes community on the community page.
You can reach the maintainers of this project at:
Contributors may eventually become official reviewers or approvers in KubeBuilder and the related repositories. See CONTRIBUTING-ROLES.md for more information.
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.