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
Copy file name to clipboardExpand all lines: docs/book/src/developer/providers/migrations/v1.10-to-v1.11.md
+25-6Lines changed: 25 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -430,6 +430,7 @@ status:
430
430
</table>
431
431
432
432
- See changes that apply to [all CRDs](#all-crds)
433
+
- Pointers have been removed from various struct fields. See [#12545](https://github.com/kubernetes-sigs/cluster-api/pull/12545) for details (drop unnecessary pointers)
433
434
- The type of the `spec.paused` field has been changed from `bool` to `*bool`(compliance with K8s API guidelines)
434
435
- The `spec.controlPlaneRef` and `spec.infrastructureRef` fields are now using `ContractVersionedObjectReference` type instead
435
436
of `corev1.ObjectReference` (improve object references)
@@ -468,7 +469,7 @@ status:
468
469
- Also the `spec.topology.workers.machineDeployments[].healthCheck.remediation.maxInFlight` field has been moved from `spec.topology.workers.machineDeployments[].strategy.remediation.maxInFlight`
469
470
- All fields of type Duration in `spec.topology.{controlPlane.healthCheck.checks,workers.machineDeployments[].healthCheck.checks}`, previously
- All the `remediation.templateRef` fields have been migrated from type `corev1.ObjectReference` to `MachineHealthCheckRemediationTemplateReference`:
@@ -640,6 +641,7 @@ status:
640
641
</table>
641
642
642
643
- See changes that apply to [all CRDs](#all-crds)
644
+
- Pointers have been removed from various struct fields. See [#12545](https://github.com/kubernetes-sigs/cluster-api/pull/12545) for details (drop unnecessary pointers)
643
645
- The `spec.machineNamingStrategy` field was renamed to `spec.machineNaming` and is now using `MachineNamingSpec` type instead of `*MachineNamingStrategy` (improve consistency, drop unnecessary pointers)
644
646
- The `spec.template.spec.bootstrap.configRef` and `spec.template.spec.infrastructureRef` fields are now using `ContractVersionedObjectReference` type instead
645
647
of `corev1.ObjectReference` (improve object references)
@@ -796,6 +798,7 @@ status:
796
798
</table>
797
799
798
800
- See changes that apply to [all CRDs](#all-crds)
801
+
- Pointers have been removed from various struct fields. See [#12545](https://github.com/kubernetes-sigs/cluster-api/pull/12545) for details (drop unnecessary pointers)
799
802
- The `spec.machineNamingStrategy` field was renamed to `spec.machineNaming` and is now using `MachineNamingSpec` type instead of `*MachineNamingStrategy` (improve consistency, drop unnecessary pointers)
800
803
- The `spec.template.spec.bootstrap.configRef` and `spec.template.spec.infrastructureRef` fields are now using `ContractVersionedObjectReference` type instead
801
804
of `corev1.ObjectReference` (improve object references)
@@ -944,6 +947,7 @@ status:
944
947
</table>
945
948
946
949
- See changes that apply to [all CRDs](#all-crds)
950
+
- Pointers have been removed from various struct fields. See [#12545](https://github.com/kubernetes-sigs/cluster-api/pull/12545) for details (drop unnecessary pointers)
947
951
- The `spec.template.spec.bootstrap.configRef` and `spec.template.spec.infrastructureRef` fields are now using `ContractVersionedObjectReference` type instead
948
952
of `corev1.ObjectReference` (improve object references)
949
953
- The following fields have been removed: `namespace`, `uid`, `resourceVersion`, `fieldPath`
@@ -1072,6 +1076,7 @@ status:
1072
1076
</table>
1073
1077
1074
1078
- See changes that apply to [all CRDs](#all-crds)
1079
+
- Pointers have been removed from various struct fields. See [#12545](https://github.com/kubernetes-sigs/cluster-api/pull/12545) for details (drop unnecessary pointers)
1075
1080
- The `spec.bootstrap.configRef` and `spec.infrastructureRef` fields are now using `ContractVersionedObjectReference` type instead
1076
1081
of `corev1.ObjectReference` (improve object references)
1077
1082
- The following fields have been removed: `namespace`, `uid`, `resourceVersion`, `fieldPath`
@@ -1177,14 +1182,15 @@ status:
1177
1182
</table>
1178
1183
1179
1184
- See changes that apply to [all CRDs](#all-crds)
1185
+
- Pointers have been removed from various struct fields. See [#12545](https://github.com/kubernetes-sigs/cluster-api/pull/12545) for details (drop unnecessary pointers)
1180
1186
- The `spec` has been restructured and made consistent across all resources. Notably fields for checks and remediation
1181
1187
are now well identified under corresponding fields.
1182
1188
The Go structs have been modified accordingly. For more details see YAML above (improve consistency).
1183
1189
- The type of the `spec.checks.nodeStartupTimeoutSeconds` field, previously `spec.nodeStartupTimeout`,
1184
1190
was changed to int32 (compliance with K8s API guidelines)
1185
1191
- The `spec.unhealthyConditions` field has been renamed to `spec.checks.unhealthyNodeConditions` (improve consistency)
1186
1192
- The type of the `spec.checks.unhealthyNodeConditions[].timeoutSeconds` field, previously `spec.unhealthyConditions[].timeout`,
1187
-
was changed to int32 (compliance with K8s API guidelines)
1193
+
was changed to `*int32` (compliance with K8s API guidelines)
1188
1194
- The type of the `spec.remediation.templateRef` field, previously `spec.remediationTemplate`, was changed from
1189
1195
`corev1.ObjectReference` to `MachineHealthCheckRemediationTemplateReference` (improve object references):
1190
1196
- The following fields have been removed from `templateRef`: `namespace`, `uid`, `resourceVersion`, `fieldPath`
@@ -1492,14 +1498,15 @@ status:
1492
1498
</table>
1493
1499
1494
1500
- See changes that apply to [all CRDs](#all-crds)
1501
+
- Pointers have been removed from various struct fields. See [#12545](https://github.com/kubernetes-sigs/cluster-api/pull/12545) for details (drop unnecessary pointers)
1495
1502
- All fields of type Duration in `spec.{controlPlane,workers.machineDeployments[],workers.machinePools[]}` have
1496
1503
been renamed by adding the `Seconds` suffix, moved into the `deletion` section and their type was changed to int32 (compliance with K8s API guidelines)
- All fields implementing or embedding a reference to a template are now using the `ClusterClassTemplateReference` type instead
@@ -1519,7 +1526,7 @@ status:
1519
1526
- Also the `spec.workers.machineDeployments[].healthCheck.remediation.maxInFlight` field has been moved from `spec.workers.machineDeployments[].strategy.remediation.maxInFlight`
1520
1527
- All fields of type Duration in `spec.{controlPlane.healthCheck.checks,workers.machineDeployments[].healthCheck.checks}`, previously
- All the `remediation.templateRef` fields have been migrated from type `corev1.ObjectReference` to `MachineHealthCheckRemediationTemplateReference`:
@@ -1554,8 +1561,8 @@ status:
1554
1561
to `spec.variables[].deprecatedV1Beta1Metadata` and `.status.variables[].definitions[].deprecatedV1Beta1Metadata`
1555
1562
- These fields are deprecated and will be removed when support for v1beta1 will be dropped
1556
1563
- Please use `XMetadata` in `JSONSchemaProps` instead
1557
-
- The type of the `spec.variables[].schema.openAPIV3Schema.uniqueItems`, `spec.variables[].schema.openAPIV3Schema.exclusiveMaximum`, `spec.variables[].schema.openAPIV3Schema.exclusiveMinimum`,
- The type of the `spec.variables[].required`, `spec.variables[].schema.openAPIV3Schema.uniqueItems`, `spec.variables[].schema.openAPIV3Schema.exclusiveMaximum`, `spec.variables[].schema.openAPIV3Schema.exclusiveMinimum`,
- KubeadmConfig (and the entire CABPK provider) now implements the v1beta2 Cluster API contract
1827
1834
- See changes that apply to [all CRDs](#all-crds)
1835
+
- Pointers have been removed from various struct fields. See [#12545](https://github.com/kubernetes-sigs/cluster-api/pull/12545) and
1836
+
[#12560](https://github.com/kubernetes-sigs/cluster-api/pull/12560) for details (drop unnecessary pointers)
1828
1837
- `extraArg`field types have been changed from `map[string]sting` to `[]Arg`, thus aligning with kubeadm v1beta4 API;
1829
1838
however, using multiple args with the same name will be enabled only when v1beta1 is removed, tentatively in August 2026
1830
1839
- `spec.clusterConfiguration.apiServer.extraArgs`type has been changed to `[]Arg`
@@ -1859,6 +1868,7 @@ status:
1859
1868
`spec.clusterConfiguration.scheduler`and `spec.clusterConfiguration.etcd.local` has been changed from `[]EnvVar` to `*[]EnvVar` (compliance with K8s API guidelines)
1860
1869
- The type of the `spec.clusterConfiguration.apiServer.extraVolumes.readOnly`, `spec.clusterConfiguration.controllerManager.extraVolumes.readOnly`
1861
1870
, `spec.clusterConfiguration.scheduler.extraVolumes.readOnly` fields have been changed from `bool` to `*bool` (compliance with K8s API guidelines)
1871
+
- The type of the `spec.initConfiguration.bootstrapTokens[].token` field has been changed from `*BootstrapTokenString` to `BootstrapTokenString` (drop unnecessary pointers)
1862
1872
- The type of the `spec.initConfiguration.nodeRegistration`, `spec.joinConfiguration.nodeRegistration` fields have been changed from `[]corev1.Taint` to `*[]corev1.Taint` (avoid custom serialization)
1863
1873
- The type of the `spec.joinConfiguration.discovery.bootstrapToken.unsafeSkipCAVerification` field has been changed from `bool` to `*bool` (compliance with K8s API guidelines)
1864
1874
- The type of the `spec.joinConfiguration.discovery.file.kubeConfig.cluster.insecureSkipTLSVerify` field has been changed from `bool` to `*bool` (compliance with K8s API guidelines)
@@ -1868,6 +1878,7 @@ status:
1868
1878
`spec.users[].pr`, `spec.users[].sudo` fields have been changed from `*string` to `string` (drop unnecessary pointers)
1869
1879
- The type of the `spec.diskSetup.filesystems[].partition`, `spec.diskSetup.filesystems[].replaceFS` fields have been changed from `*string` to `string` (drop unnecessary pointers)
1870
1880
- The type of the `spec.diskSetup.partitions[].tableType` field has been changed from `*string` to `string` (drop unnecessary pointers)
1881
+
- The type of the `spec.diskSetup.partitions[].layout` field has been changed from `bool` to `*bool` (compliance with K8s API guidelines)
1871
1882
- The type of the `spec.ignition.containerLinuxConfig.strict` field has been changed from `bool` to `*bool` (compliance with K8s API guidelines)
1872
1883
- The `spec.useExperimentalRetryJoin` field (deprecated in CAPI v1.2!) has been removed
1873
1884
- The following `spec` fields have been removed because they are not necessary because Cluster API automatically applies the right gvk when generating kubeadm config files:
@@ -2236,6 +2247,8 @@ status:
2236
2247
2237
2248
- KubeadmControlPlane (and the entire KCP provider) now implements the v1beta2 Cluster API contract
2238
2249
- See changes that apply to [all CRDs](#all-crds)
2250
+
- Pointers have been removed from various struct fields. See [#12545](https://github.com/kubernetes-sigs/cluster-api/pull/12545) and
2251
+
[#12560](https://github.com/kubernetes-sigs/cluster-api/pull/12560) for details (drop unnecessary pointers)
2239
2252
- The `spec.machineNamingStrategy` field was renamed to `spec.machineNaming` and is now using `MachineNamingSpec` type instead of `*MachineNamingStrategy` (improve consistency, drop unnecessary pointers)
2240
2253
- The `spec.machineTemplate.infrastructureRef` field was moved to `spec.machineTemplate.spec.infrastructureRef` and is now using `ContractVersionedObjectReference` type instead
2241
2254
of `corev1.ObjectReference`
@@ -2276,6 +2289,7 @@ status:
2276
2289
`spec.kubeadmConfigSpec.clusterConfiguration.scheduler`and `spec.kubeadmConfigSpec.clusterConfiguration.etcd.local` has been changed from `[]EnvVar` to `*[]EnvVar` (compliance with K8s API guidelines)
2277
2290
- The type of the `spec.kubeadmConfigSpec.clusterConfiguration.apiServer.extraVolumes.readOnly`, `spec.kubeadmConfigSpec.clusterConfiguration.controllerManager.extraVolumes.readOnly`
2278
2291
, `spec.kubeadmConfigSpec.clusterConfiguration.scheduler.extraVolumes.readOnly` fields have been changed from `bool` to `*bool` (avoid custom serialization)
2292
+
- The type of the `spec.kubeadmConfigSpec.initConfiguration.bootstrapTokens[].token` field has been changed from `*BootstrapTokenString` to `BootstrapTokenString` (drop unnecessary pointers)
2279
2293
- The type of the `spec.kubeadmConfigSpec.initConfiguration.nodeRegistration`, `spec.kubeadmConfigSpec.joinConfiguration.nodeRegistration` fields have been changed from `[]corev1.Taint` to `*[]corev1.Taint` (avoid custom serialization)
2280
2294
- The type of the `spec.kubeadmConfigSpec.joinConfiguration.discovery.bootstrapToken.unsafeSkipCAVerification` field has been changed from `bool` to `*bool`(compliance with K8s API guidelines)
2281
2295
- The type of the `spec.kubeadmConfigSpec.joinConfiguration.discovery.file.kubeConfig.cluster.insecureSkipTLSVerify` field has been changed from `bool` to `*bool`(compliance with K8s API guidelines)
@@ -2285,6 +2299,7 @@ status:
2285
2299
`spec.kubeadmConfigSpec.users[].primaryGroup`, `spec.kubeadmConfigSpec.users[].sudo` fields have been changed from `*string` to `string` (drop unnecessary pointers)
2286
2300
- The type of the `spec.kubeadmConfigSpec.diskSetup.filesystems[].partition`, `spec.kubeadmConfigSpec.diskSetup.filesystems[].replaceFS` fields have been changed from `*string` to `string` (drop unnecessary pointers)
2287
2301
- The type of the `spec.kubeadmConfigSpec.diskSetup.partitions[].tableType` field has been changed from `*string` to `string` (drop unnecessary pointers)
2302
+
- The type of the `spec.kubeadmConfigSpec.diskSetup.partitions[].layout` field has been changed from `bool` to `*bool` (compliance with K8s API guidelines)
2288
2303
- The type of the `spec.kubeadmConfigSpec.ignition.containerLinuxConfig.strict` field has been changed from `bool` to `*bool` (compliance with K8s API guidelines)
2289
2304
- The `spec.kubeadmConfigSpec.useExperimentalRetryJoin` field (deprecated in CAPI v1.2!) has been removed
2290
2305
- The following `spec.kubeadmConfigSpec` fields have been removed because they are not necessary (Cluster API automatically applies the right gvk when generating kubeadm config files):
@@ -2335,6 +2350,7 @@ status:
2335
2350
- `status.failureReason`and `status.failureMessage` will continue to exist temporarily under `status.deprecated.v1beta1`
2336
2351
- The type of the `status.version` field has been changed from `*string` to `string` (drop unnecessary pointers)
2337
2352
- The `status.lastRemediation.timestamp` field has been renamed to `status.lastRemediation.time` (compliance with K8s API guidelines)
2353
+
- The type of the `status.lastRemediation.retryCount` field has been changed from `int32` to `*int32` (compliance with K8s API guidelines)
2338
2354
2339
2355
### KubeadmControlPlaneTemplate
2340
2356
@@ -2430,6 +2446,7 @@ spec:
2430
2446
- See changes that apply to [all CRDs](#all-crds)
2431
2447
- The type of the `spec.bindings` field has been changed from `[]*ResourceSetBinding` to `[]ResourceSetBinding` (drop unnecessary pointers)
2432
2448
- The type of the `spec.bindings[].resources[].lastAppliedTime` field has been changed from `*metav1.Time` to `metav1.Time` (drop unnecessary pointers)
2449
+
- The type of the `spec.bindings[].resources[].applied` field has been changed from `bool` to `*bool` (compliance with K8s API guidelines)
- `ExtensionConfig`v1beta2 has been created, thus aligning with other Cluster API resources
2483
2500
- `ExtensionConfig`v1alpha1 has been deprecated, and it will be removed in a following release
2484
2501
- See changes that apply to [all CRDs](#all-crds)
2502
+
- Pointers have been removed from various struct fields. See [#12545](https://github.com/kubernetes-sigs/cluster-api/pull/12545) for details (drop unnecessary pointers)
2485
2503
- The type of the `spec.clientConfig.url` field has been changed from `*string` to `string` (drop unnecessary pointers)
2486
2504
- The type of the `spec.clientConfig.service.path` field has been changed from `*string` to `string` (drop unnecessary pointers)
2487
2505
- `status.conditions`has been replaced with `status.v1beta2.conditions` based on metav1 condition types (improve status)
@@ -2525,6 +2543,7 @@ spec: { ... }
2525
2543
- The type of the `spec.claimRef` field has been changed from `corev1.LocalObjectReference` to `IPAddressClaimReference` (improve object references)
2526
2544
- The type of the `spec.poolRef` field has been changed from `corev1.TypedLocalObjectReference` to `IPPoolReference` (improve object references)
2527
2545
- The type of the `spec.poolRef.apiGroup` field has been changed from `*string` to `string` (drop unnecessary pointers)
2546
+
- The type of the `spec.prefix` field has been changed from `int32` to `*int32` (compliance with K8s API guidelines)
0 commit comments