This document provides an overview over relevant changes between Cluster API v1.5 and v1.6 for maintainers of providers and consumers of our Go API.
- The Go version used by Cluster API is Go 1.20.x
Note: Only the most relevant dependencies are listed,
gomega dependencies in Cluster API are kept in sync with the versions used by
- sigs.k8s.io/kind: v0.20.x
- sigs.k8s.io/controller-runtime: v0.15.x => v0.16.x
- sigs.k8s.io/controller-tools: v0.12.x
v1beta1for ipam.cluster.x-k8s.io IPAddresses and IPAddressClaims. Conversion webhooks handle translation between the hub version
- The function
DeleteBindinghas been deprecated. Please use
RemoveBindingfrom the same package instead.
- API version
v1alpha4is not served in v1.6 (users can enable it manually in case they are lagging behind with deprecation cycles). Important:
v1alpha4will be completely removed in 1.7.
- The function(s):
ClusterToObjectsMapperis removed, please use
PollImmediateare removed, please use utils from “k8s.io/apimachinery/pkg/util/wait” instead.
- The variable
DefaultIndexesis removed, please use
ProviderIDtype and all related methods/construct have been removed. Please see this PR for a reference.
- Several public functions in
context.Contextas the first parameter.
clusterctl movecan be blocked temporarily by a provider when an object to be moved is annotated with
mdbook releaselinkhas been changed to require a
repotag when used in markdown files for generating a book with
framework.DumpKubeSystemPodsForClusterwas renamed to
framework.DumpResourcesForClusterto facilitate the gathering of additional workload cluster resources. Pods in all namespaces and Nodes are gathered from workload clusters. Pod yamls are available in
clusters/*/resources/Podand Node yaml is available in
- In order to reduce dependencies for API package consumers, CAPI has diverged from the default kubebuilder scheme builder. This new pattern may also be useful for reducing dependencies in provider API packages. For more information see the implementers guide.
- We deprecated the
--metrics-bind-addrflag and introduced the new
--insecure-diagnosticflags. These flags allow exposing metrics, a pprof endpoint and an endpoint to change log levels securely in production. It is recommended to implement the same changes in providers, please see #9264 for more details.