We follow the common KubeBuilder versioning guidelines, and use the corresponding tooling.
For the purposes of the aforementioned guidelines, controller-runtime counts as a "library project", but otherwise follows the guidelines exactly.
For release branches, we generally tend to support backporting one (1)
major release (release-{X-1}
or release-0.{Y-1}
), but may go back
further if the need arises and is very pressing (e.g. security updates).
Note the guidelines on dependency versions. Particularly:
-
We DO guarantee Kubernetes REST API compatibility -- if a given version of controller-runtime stops working with what should be a supported version of Kubernetes, this is almost certainly a bug.
-
We DO NOT guarantee any particular compatibility matrix between kubernetes library dependencies (client-go, apimachinery, etc); Such compatibility is infeasible due to the way those libraries are versioned.