diff --git a/docs/book/src/developer/providers/contracts/bootstrap-config.md b/docs/book/src/developer/providers/contracts/bootstrap-config.md index ec940276c358..53d37f9cb0b9 100644 --- a/docs/book/src/developer/providers/contracts/bootstrap-config.md +++ b/docs/book/src/developer/providers/contracts/bootstrap-config.md @@ -146,6 +146,15 @@ labels: An example of this is in the [Kubeadm Bootstrap provider](https://github.com/kubernetes-sigs/cluster-api/blob/release-1.1/controlplane/kubeadm/config/crd/kustomization.yaml). + + ### BootstrapConfig, BootstrapConfigList resource definition You MUST define a BootstrapConfig resource. diff --git a/docs/book/src/developer/providers/contracts/clusterctl.md b/docs/book/src/developer/providers/contracts/clusterctl.md index f2fd9de61b56..9d21395e2a95 100644 --- a/docs/book/src/developer/providers/contracts/clusterctl.md +++ b/docs/book/src/developer/providers/contracts/clusterctl.md @@ -205,6 +205,20 @@ releaseSeries: contract: v1alpha2 ``` + + #### Validation Rules Starting from clusterctl v1.11, the metadata YAML file is subject to strict validation to ensure consistency and prevent configuration errors. The following validation rules are enforced: diff --git a/docs/book/src/developer/providers/contracts/control-plane.md b/docs/book/src/developer/providers/contracts/control-plane.md index aab4a600e96b..35e455c4f03e 100644 --- a/docs/book/src/developer/providers/contracts/control-plane.md +++ b/docs/book/src/developer/providers/contracts/control-plane.md @@ -172,6 +172,15 @@ labels: An example of this is in the [Kubeadm Bootstrap provider](https://github.com/kubernetes-sigs/cluster-api/blob/release-1.1/controlplane/kubeadm/config/crd/kustomization.yaml). + + ### ControlPlane, ControlPlaneList resource definition You MUST define a ControlPlane resource. diff --git a/docs/book/src/developer/providers/contracts/infra-cluster.md b/docs/book/src/developer/providers/contracts/infra-cluster.md index 12cd9ae040d2..75646145a92a 100644 --- a/docs/book/src/developer/providers/contracts/infra-cluster.md +++ b/docs/book/src/developer/providers/contracts/infra-cluster.md @@ -155,6 +155,15 @@ labels: An example of this is in the [Kubeadm Bootstrap provider](https://github.com/kubernetes-sigs/cluster-api/blob/release-1.1/controlplane/kubeadm/config/crd/kustomization.yaml). + + ### InfraCluster, InfraClusterList resource definition You MUST define a InfraCluster resource. diff --git a/docs/book/src/developer/providers/contracts/infra-machine.md b/docs/book/src/developer/providers/contracts/infra-machine.md index 21463c077059..20ef2db030fc 100644 --- a/docs/book/src/developer/providers/contracts/infra-machine.md +++ b/docs/book/src/developer/providers/contracts/infra-machine.md @@ -147,6 +147,15 @@ labels: An example of this is in the [Kubeadm Bootstrap provider](https://github.com/kubernetes-sigs/cluster-api/blob/release-1.1/controlplane/kubeadm/config/crd/kustomization.yaml). + + ### InfraMachine, InfraMachineList resource definition You MUST define a InfraMachine resource. diff --git a/docs/book/src/developer/providers/contracts/infra-machinepool.md b/docs/book/src/developer/providers/contracts/infra-machinepool.md index d8adbea7e426..68bd66acf959 100644 --- a/docs/book/src/developer/providers/contracts/infra-machinepool.md +++ b/docs/book/src/developer/providers/contracts/infra-machinepool.md @@ -143,6 +143,15 @@ labels: An example of this is in the [AWS infrastructure provider](https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/config/crd/kustomization.yaml). + + ### InfraMachinePool, InfraMachinePoolList resource definition You MUST define a InfraMachinePool resource if you provider supports MachinePools. diff --git a/docs/book/src/developer/providers/migrations/v1.10-to-v1.11.md b/docs/book/src/developer/providers/migrations/v1.10-to-v1.11.md index 020946572cfb..1f05552c036c 100644 --- a/docs/book/src/developer/providers/migrations/v1.10-to-v1.11.md +++ b/docs/book/src/developer/providers/migrations/v1.10-to-v1.11.md @@ -2925,6 +2925,9 @@ metadata: name: ``` +4. If the provider implements the [clusterctl provider contract](../contracts/clusterctl.md), then the contract version defined + in the `metadata.yaml` file must be changed aligning to the contract version the CRD. + ### How to bump to CAPI V1.11 but keep using deprecated v1beta1 conditions A provider can continue to use deprecated v1beta1 conditions also after bumping to CAPI V1.11, but to do