...
1[](https://goreportcard.com/report/sigs.k8s.io/controller-runtime)
2[](https://pkg.go.dev/sigs.k8s.io/controller-runtime)
3
4# Kubernetes controller-runtime Project
5
6The Kubernetes controller-runtime Project is a set of go libraries for building
7Controllers. It is leveraged by [Kubebuilder](https://book.kubebuilder.io/) and
8[Operator SDK](https://github.com/operator-framework/operator-sdk). Both are
9a great place to start for new projects. See
10[Kubebuilder's Quick Start](https://book.kubebuilder.io/quick-start.html) to
11see how it can be used.
12
13Documentation:
14
15- [Package overview](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg)
16- [Basic controller using builder](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/builder#example-Builder)
17- [Creating a manager](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/manager#example-New)
18- [Creating a controller](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/controller#example-New)
19- [Examples](https://github.com/kubernetes-sigs/controller-runtime/blob/main/examples)
20- [Designs](https://github.com/kubernetes-sigs/controller-runtime/blob/main/designs)
21
22# Versioning, Maintenance, and Compatibility
23
24The full documentation can be found at [VERSIONING.md](VERSIONING.md), but TL;DR:
25
26Users:
27
28- We follow [Semantic Versioning (semver)](https://semver.org)
29- Use releases with your dependency management to ensure that you get compatible code
30- The main branch contains all the latest code, some of which may break compatibility (so "normal" `go get` is not recommended)
31
32Contributors:
33
34- All code PR must be labeled with :bug: (patch fixes), :sparkles: (backwards-compatible features), or :warning: (breaking changes)
35- Breaking changes will find their way into the next major release, other changes will go into an semi-immediate patch or minor release
36- For a quick PR template suggesting the right information, use one of these PR templates:
37 * [Breaking Changes/Features](/.github/PULL_REQUEST_TEMPLATE/breaking_change.md)
38 * [Backwards-Compatible Features](/.github/PULL_REQUEST_TEMPLATE/compat_feature.md)
39 * [Bug fixes](/.github/PULL_REQUEST_TEMPLATE/bug_fix.md)
40 * [Documentation Changes](/.github/PULL_REQUEST_TEMPLATE/docs.md)
41 * [Test/Build/Other Changes](/.github/PULL_REQUEST_TEMPLATE/other.md)
42
43## FAQ
44
45See [FAQ.md](FAQ.md)
46
47## Community, discussion, contribution, and support
48
49Learn how to engage with the Kubernetes community on the [community page](http://kubernetes.io/community/).
50
51controller-runtime is a subproject of the [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder) project
52in sig apimachinery.
53
54You can reach the maintainers of this project at:
55
56- Slack channel: [#controller-runtime](https://kubernetes.slack.com/archives/C02MRBMN00Z)
57- Google Group: [kubebuilder@googlegroups.com](https://groups.google.com/forum/#!forum/kubebuilder)
58
59## Contributing
60Contributions are greatly appreciated. The maintainers actively manage the issues list, and try to highlight issues suitable for newcomers.
61The project follows the typical GitHub pull request model. See [CONTRIBUTING.md](CONTRIBUTING.md) for more details.
62Before starting any work, please either comment on an existing issue, or file a new one.
63
64## Code of conduct
65
66Participation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md).
View as plain text