The Kubernetes controller-tools Project is a set of go libraries for building Controllers.
Clone this project, and iterate on changes by running ./test.sh
.
This project uses Go modules to manage its dependencies, so feel free to work from outside
of your GOPATH
. However, if you'd like to continue to work from within your GOPATH
, please
export GO111MODULE=on
.
See VERSIONING.md.
Every minor version of controller-tools has been tested with a specific minor version of client-go. A controller-tools minor version may be compatible with other client-go minor versions, but this is by chance and neither supported nor tested. In general, we create one minor version of controller-tools for each minor version of client-go and other k8s.io/* dependencies.
The minimum Go version of controller-tools is the highest minimum Go version of our Go dependencies. Usually, this will be identical to the minimum Go version of the corresponding k8s.io/* dependencies.
Compatible k8s.io/*, client-go and minimum Go versions can be looked up in our go.mod file.
k8s.io/*, client-go | minimum Go version | |
---|---|---|
CR v0.16 | v0.31 | 1.22 |
CR v0.15 | v0.30 | 1.22 |
CR v0.14 | v0.29 | 1.20 |
CR v0.13 | v0.28 | 1.20 |
CR v0.12 | v0.27 | 1.20 |
Learn how to engage with the Kubernetes community on the community page.
controller-tools is a subproject of the kubebuilder project in sig apimachinery.
You can reach the maintainers of this project at:
- Slack channel: #kubebuilder
- Google Group: kubebuilder@googlegroups.com
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.