From 4e2d5cbbe691d14c1fb0bd83e2dc825e6dfd74d7 Mon Sep 17 00:00:00 2001 From: killianmuldoon Date: Thu, 30 Sep 2021 19:36:44 +0100 Subject: [PATCH] Add clusterclass contract changes to v1alpha3-v1alpha4 conversion guide Signed-off-by: killianmuldoon --- .../providers/v1alpha3-to-v1alpha4.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/book/src/developer/providers/v1alpha3-to-v1alpha4.md b/docs/book/src/developer/providers/v1alpha3-to-v1alpha4.md index 6887b6220318..f6918a67c035 100644 --- a/docs/book/src/developer/providers/v1alpha3-to-v1alpha4.md +++ b/docs/book/src/developer/providers/v1alpha3-to-v1alpha4.md @@ -334,3 +334,21 @@ should be executed before this changes. - `spec.infrastructureTemplate` has been moved to `spec.machineTemplate.infrastructureRef`. Thus, cluster templates which include `KubeadmControlPlane` have to be adjusted accordingly. - `spec.nodeDrainTimeout` has been moved to `spec.machineTemplate.nodeDrainTimeout`. + +## Required spec and status fields for Control Planes using 'version' for ClusterClass support +ControlPlane implementations using version must now [include a 'version' field as defined below in both its spec and its status](../architecture/controllers/control-plane.html#required-spec-fields-for-implementations-using-version). + + `version` - is a string representing the Kubernetes version to be used + by the control plane machines. The value must be a valid semantic version; + also if the value provided by the user does not start with the v prefix, it + must be added. + +This field is a requirement for ClusterClass compatibility. + +## Required spec fields for Control Planes using 'Machines' for ClusterClass support +ControlPlane implementations that use an underlying MachineInfrastructure must now [include a 'machineTemplate' as defined below, with subordinate fields, in its Spec.](../architecture/controllers/control-plane.html#required-spec-fields-for-implementations-using-machines) + + `machineTemplate` - is a struct containing details of the control plane + machine template. + +This field is a requirement for ClusterClass compatibility.