You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*[Cluster API Contract changes](#cluster-api-contract-changes)
27
30
*[Contract rules for InfraCluster](#contract-rules-for-infracluster)
28
31
*[Contract rules for InfraMachine](#contract-rules-for-inframachine)
@@ -182,16 +185,65 @@ proposal because most of the changes described below are a consequence of the wo
182
185
183
186
- KubeadmConfig (and the entire CABPK provider) now implements the v1beta2 Cluster API contract.
184
187
- See changes that apply to [all CRDs](#all-crds)
185
-
- The `spec.useExperimentalRetryJoin` field (deprecated in CAPI v1.2!) has been removed.
188
+
- ExtraArg field types have been changed from `map[string]sting` to `[]Arg`, thus aligning with kubeadm v1beta4 API;
189
+
however, using multiple args with the same name will be enabled only when v1beta1 is removed, tentatively tentatively in August 2026
190
+
-`spec.clusterConfiguration.apiServer.extraArgs` type has been changed to `[]Arg`
191
+
-`spec.clusterConfiguration.controllerManager.extraArgs` type has been changed to `[]Arg`
192
+
-`spec.clusterConfiguration.scheduler.extraArgs` type has been changed to `[]Arg`
193
+
-`spec.clusterConfiguration.etcd.local.nodeRegistration.extraArgs` type has been changed to `[]Arg`
194
+
-`spec.initConfiguration.nodeRegistration.kubeletExtraArgs` type has been changed to `[]Arg`
195
+
-`spec.joinConfiguration.nodeRegistration.kubeletExtraArgs` type has been changed to `[]Arg`
196
+
- ImagePullPolicy field types have been changed from `string` to `corev1.PullPolicy`, thus aligning with kubeadm v1beta4 API
197
+
-`spec.initConfiguration.nodeRegistration.imagePullPolicy` type has been changed to `corev1.PullPolicy`
198
+
-`spec.joinConfiguration.nodeRegistration.imagePullPolicy` type has been changed to `corev1.PullPolicy`
199
+
- Timeout fields have been aligned with kubeadm v1beta4 API, but filed name and type has been adapted according to API guidelines.
200
+
-`spec.initConfiguration.timeouts` struct has been added with the following fields:
201
+
-`controlPlaneComponentHealthCheckSeconds`
202
+
-`kubeletHealthCheckSeconds`
203
+
-`kubernetesAPICallSeconds`
204
+
-`etcdAPICallSeconds`
205
+
-`tlsBootstrapSeconds`
206
+
-`discoverySeconds`
207
+
-`spec.joinConfiguration.timeouts` field has been added with the same set of timeouts listed above.
208
+
-`spec.clusterConfiguration.apiServer.timeoutForControlPlane` field has been removed. Use `spec.initConfiguration.timeouts.controlPlaneComponentHealthCheckSeconds` instead.
209
+
-`spec.joinConfiguration.discovery.timeout` field has been removed. Use `spec.joinConfiguration.timeouts.tlsBootstrapSeconds` instead.
210
+
- The `spec.useExperimentalRetryJoin` field (deprecated in CAPI v1.2!) has been removed.
186
211
- Information about the initial provisioning process is now surfacing under the new `status.initialization` field.
187
212
-`status.ready` has been replaced by `status.initialization.dataSecretCreated`
188
213
- Support for terminal errors has been dropped (see [dataSecretCreated](#cluster-api-contract-changes)).
189
214
-`status.failureReason` and `status.failureMessage` will continue to exist temporarily under `status.deprecated.v1beta1`.
215
+
216
+
### KubeadmConfigTemplate
217
+
218
+
KubeadmConfigTemplate `spcc.template.spec` has been aligned to changes in the [KubeadmConfig](#kubeadmconfig)`spcc` struct.
190
219
191
220
### KubeadmControlPlane
192
221
193
222
- KubeadmControlPlane (and the entire KCP provider) now implements the v1beta2 Cluster API contract.
194
223
- See changes that apply to [all CRDs](#all-crds)
224
+
- ExtraArg field types have been changed from `map[string]sting` to `[]Arg`, thus aligning with kubeadm v1beta4 API;
225
+
however, using multiple args with the same name will be enabled only when v1beta1 is removed, tentatively tentatively in August 2026
226
+
-`spec.kubeadmConfigSpec.clusterConfiguration.apiServer.extraArgs` type has been changed to `[]Arg`
227
+
-`spec.kubeadmConfigSpec.clusterConfiguration.controllerManager.extraArgs` type has been changed to `[]Arg`
228
+
-`spec.kubeadmConfigSpec.clusterConfiguration.scheduler.extraArgs` type has been changed to `[]Arg`
229
+
-`spec.kubeadmConfigSpec.clusterConfiguration.etcd.local.nodeRegistration.extraArgs` type has been changed to `[]Arg`
230
+
-`spec.kubeadmConfigSpec.initConfiguration.nodeRegistration.kubeletExtraArgs` type has been changed to `[]Arg`
231
+
-`spec.kubeadmConfigSpec.joinConfiguration.nodeRegistration.kubeletExtraArgs` type has been changed to `[]Arg`
232
+
- ImagePullPolicy field types have been changed from `string` to `corev1.PullPolicy`, thus aligning with kubeadm v1beta4 API
233
+
-`spec.kubeadmConfigSpec.initConfiguration.nodeRegistration.imagePullPolicy` type has been changed to `corev1.PullPolicy`
234
+
-`spec.kubeadmConfigSpec.joinConfiguration.nodeRegistration.imagePullPolicy` type has been changed to `corev1.PullPolicy`
235
+
- Timeout fields have been aligned with kubeadm v1beta4 API, but filed name and type has been adapted according to API guidelines.
236
+
-`spec.kubeadmConfigSpec.initConfiguration.timeouts` struct has been added with the following fields:
237
+
-`controlPlaneComponentHealthCheckSeconds`
238
+
-`kubeletHealthCheckSeconds`
239
+
-`kubernetesAPICallSeconds`
240
+
-`etcdAPICallSeconds`
241
+
-`tlsBootstrapSeconds`
242
+
-`discoverySeconds`
243
+
-`spec.kubeadmConfigSpec.joinConfiguration.timeouts` field has been added with the same set of timeouts listed above.
244
+
-`spec.kubeadmConfigSpec.clusterConfiguration.apiServer.timeoutForControlPlane` field has been removed. Use `spec.kubeadmConfigSpec.initConfiguration.timeouts.controlPlaneComponentHealthCheckSeconds` instead.
245
+
-`spec.kubeadmConfigSpec.joinConfiguration.discovery.timeout` field has been removed. Use `spec.kubeadmConfigSpec.joinConfiguration.timeouts.tlsBootstrapSeconds` instead.
246
+
- The `spec.kubeadmConfigSpec.useExperimentalRetryJoin` field (deprecated in CAPI v1.2!) has been removed.
195
247
- Replica counters fields are now consistent with replica counters from other resources.
196
248
-`status.replicas` was made a pointer and omitempty was added
197
249
-`status.readyReplicas` has now a new semantic based on machine's `Ready` condition
@@ -204,6 +256,10 @@ proposal because most of the changes described below are a consequence of the wo
204
256
- Support for terminal errors has been dropped.
205
257
-`status.failureReason` and `status.failureMessage` will continue to exist temporarily under `status.deprecated.v1beta1`.
206
258
259
+
### KubeadmControlPlaneTemplate
260
+
261
+
KubeadmControlPlaneTemplate `spcc.template.spec` has been aligned to changes in the [KubeadmControlPlane](#kubeadmcontrolplane)`spcc` struct.
0 commit comments