The Kubernetes controller-runtime Project is a set of go libraries for building Controllers. It is leveraged by Kubebuilder and Operator SDK. Both are a great place to start for new projects. See Kubebuilder's Quick Start to see how it can be used.
Documentation:
- Package overview
- Basic controller using builder
- Creating a manager
- Creating a controller
- Examples
- Designs
The full documentation can be found at VERSIONING.md, but TL;DR:
Users:
- We follow Semantic Versioning (semver)
- Use releases with your dependency management to ensure that you get compatible code
- The main branch contains all the latest code, some of which may break compatibility (so "normal"
go get
is not recommended)
Contributors:
- All code PR must be labeled with 🐛 (patch fixes), ✨ (backwards-compatible features), or
⚠️ (breaking changes) - Breaking changes will find their way into the next major release, other changes will go into an semi-immediate patch or minor release
- For a quick PR template suggesting the right information, use one of these PR templates:
See FAQ.md
Learn how to engage with the Kubernetes community on the community page.
controller-runtime is a subproject of the kubebuilder project in sig apimachinery.
You can reach the maintainers of this project at:
- Slack channel: #controller-runtime
- Google Group: