controller-tools

module
v0.16.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2024 License: Apache-2.0

README

Go Reference Build Status Go Report Card

Kubernetes controller-tools Project

The Kubernetes controller-tools Project is a set of go libraries for building Controllers.

Development

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.

Releasing and Versioning

See VERSIONING.md.

Compatibility

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

Community, discussion, contribution, and support

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:

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

Directories

Path Synopsis
cmd
pkg
crd
Package crd contains utilities for generating CustomResourceDefinitions and their corresponding OpenAPI validation schemata.
Package crd contains utilities for generating CustomResourceDefinitions and their corresponding OpenAPI validation schemata.
crd/markers
Package markers defines markers for generating schema valiation and CRD structure.
Package markers defines markers for generating schema valiation and CRD structure.
deepcopy
Package deepcopy generates DeepCopy, DeepCopyInto, and DeepCopyObject implementations for types.
Package deepcopy generates DeepCopy, DeepCopyInto, and DeepCopyObject implementations for types.
genall
Package genall defines entrypoints for generation tools to hook into and share the same set of parsing, typechecking, and marker information.
Package genall defines entrypoints for generation tools to hook into and share the same set of parsing, typechecking, and marker information.
genall/help
Package help contains utilities for actually writing out marker help.
Package help contains utilities for actually writing out marker help.
genall/help/pretty
Package pretty contains utilities for formatting terminal help output, and a use of those to display marker help.
Package pretty contains utilities for formatting terminal help output, and a use of those to display marker help.
loader
Package loader defines helpers for loading packages from sources.
Package loader defines helpers for loading packages from sources.
loader/testutils
Package testutils defines utilities for using loader.Packages in tests.
Package testutils defines utilities for using loader.Packages in tests.
markers
Package markers contains utilities for defining and parsing "marker comments", also occasionally called tag comments (we use the term marker to avoid confusing with struct tags).
Package markers contains utilities for defining and parsing "marker comments", also occasionally called tag comments (we use the term marker to avoid confusing with struct tags).
rbac
Package rbac contain libraries for generating RBAC manifests from RBAC markers in Go source files.
Package rbac contain libraries for generating RBAC manifests from RBAC markers in Go source files.
version
Package version provides the version of the main module.
Package version provides the version of the main module.
webhook
Package webhook contains libraries for generating webhookconfig manifests from markers in Go source files.
Package webhook contains libraries for generating webhookconfig manifests from markers in Go source files.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL