Skip to content

Commit 3394941

Browse files
committed
Update v1.10-to-v1.11.md based on recent changes
Signed-off-by: Stefan Büringer [email protected]
1 parent 4e37a51 commit 3394941

File tree

1 file changed

+25
-6
lines changed

1 file changed

+25
-6
lines changed

docs/book/src/developer/providers/migrations/v1.10-to-v1.11.md

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,7 @@ status:
430430
</table>
431431
432432
- 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)
433434
- The type of the `spec.paused` field has been changed from `bool` to `*bool`(compliance with K8s API guidelines)
434435
- The `spec.controlPlaneRef` and `spec.infrastructureRef` fields are now using `ContractVersionedObjectReference` type instead
435436
of `corev1.ObjectReference` (improve object references)
@@ -468,7 +469,7 @@ status:
468469
- Also the `spec.topology.workers.machineDeployments[].healthCheck.remediation.maxInFlight` field has been moved from `spec.topology.workers.machineDeployments[].strategy.remediation.maxInFlight`
469470
- All fields of type Duration in `spec.topology.{controlPlane.healthCheck.checks,workers.machineDeployments[].healthCheck.checks}`, previously
470471
`spec.topology.{controlPlane.healthCheck,workers.machineDeployments[].machineHealthCheck}` have
471-
been renamed by adding the `Seconds` suffix and their type was changed to int32 (compliance with K8s API guidelines)
472+
been renamed by adding the `Seconds` suffix and their type was changed to `*int32` (compliance with K8s API guidelines)
472473
- `nodeStartupTimeout` => `nodeStartupTimeoutSeconds`
473474
- `unhealthyNodeConditions[].timeout` => `unhealthyNodeConditions[].timeoutSeconds`
474475
- All the `remediation.templateRef` fields have been migrated from type `corev1.ObjectReference` to `MachineHealthCheckRemediationTemplateReference`:
@@ -640,6 +641,7 @@ status:
640641
</table>
641642

642643
- 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)
643645
- The `spec.machineNamingStrategy` field was renamed to `spec.machineNaming` and is now using `MachineNamingSpec` type instead of `*MachineNamingStrategy` (improve consistency, drop unnecessary pointers)
644646
- The `spec.template.spec.bootstrap.configRef` and `spec.template.spec.infrastructureRef` fields are now using `ContractVersionedObjectReference` type instead
645647
of `corev1.ObjectReference` (improve object references)
@@ -796,6 +798,7 @@ status:
796798
</table>
797799

798800
- 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)
799802
- The `spec.machineNamingStrategy` field was renamed to `spec.machineNaming` and is now using `MachineNamingSpec` type instead of `*MachineNamingStrategy` (improve consistency, drop unnecessary pointers)
800803
- The `spec.template.spec.bootstrap.configRef` and `spec.template.spec.infrastructureRef` fields are now using `ContractVersionedObjectReference` type instead
801804
of `corev1.ObjectReference` (improve object references)
@@ -944,6 +947,7 @@ status:
944947
</table>
945948

946949
- 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)
947951
- The `spec.template.spec.bootstrap.configRef` and `spec.template.spec.infrastructureRef` fields are now using `ContractVersionedObjectReference` type instead
948952
of `corev1.ObjectReference` (improve object references)
949953
- The following fields have been removed: `namespace`, `uid`, `resourceVersion`, `fieldPath`
@@ -1072,6 +1076,7 @@ status:
10721076
</table>
10731077

10741078
- 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)
10751080
- The `spec.bootstrap.configRef` and `spec.infrastructureRef` fields are now using `ContractVersionedObjectReference` type instead
10761081
of `corev1.ObjectReference` (improve object references)
10771082
- The following fields have been removed: `namespace`, `uid`, `resourceVersion`, `fieldPath`
@@ -1177,14 +1182,15 @@ status:
11771182
</table>
11781183

11791184
- 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)
11801186
- The `spec` has been restructured and made consistent across all resources. Notably fields for checks and remediation
11811187
are now well identified under corresponding fields.
11821188
The Go structs have been modified accordingly. For more details see YAML above (improve consistency).
11831189
- The type of the `spec.checks.nodeStartupTimeoutSeconds` field, previously `spec.nodeStartupTimeout`,
11841190
was changed to int32 (compliance with K8s API guidelines)
11851191
- The `spec.unhealthyConditions` field has been renamed to `spec.checks.unhealthyNodeConditions` (improve consistency)
11861192
- 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)
11881194
- The type of the `spec.remediation.templateRef` field, previously `spec.remediationTemplate`, was changed from
11891195
`corev1.ObjectReference` to `MachineHealthCheckRemediationTemplateReference` (improve object references):
11901196
- The following fields have been removed from `templateRef`: `namespace`, `uid`, `resourceVersion`, `fieldPath`
@@ -1492,14 +1498,15 @@ status:
14921498
</table>
14931499

14941500
- 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)
14951502
- All fields of type Duration in `spec.{controlPlane,workers.machineDeployments[],workers.machinePools[]}` have
14961503
been renamed by adding the `Seconds` suffix, moved into the `deletion` section and their type was changed to int32 (compliance with K8s API guidelines)
14971504
- `nodeDrainTimeout` => `deletion.nodeDrainTimeoutSeconds`
14981505
- `nodeVolumeDetachTimeout` => `deletion.nodeVolumeDetachTimeoutSeconds`
14991506
- `nodeDeletionTimeout` => `deletion.nodeDeletionTimeoutSeconds`
15001507
- All fields of type Duration in `spec.controlPlane.healthCheck` and `spec.workers.machineDeployments[].healthCheck`, previously
15011508
`spec.controlPlane.machineHealthCheck` and `spec.workers.machineDeployments[].machineHealthCheck`, have
1502-
been renamed by adding the `Seconds` suffix and their type was changed to int32 (compliance with K8s API guidelines)
1509+
been renamed by adding the `Seconds` suffix and their type was changed to `*int32` (compliance with K8s API guidelines)
15031510
- `nodeStartupTimeout` => `nodeStartupTimeoutSeconds`
15041511
- `unhealthyNodeConditions[].timeout` => `unhealthyNodeConditions[].timeoutSeconds`
15051512
- All fields implementing or embedding a reference to a template are now using the `ClusterClassTemplateReference` type instead
@@ -1519,7 +1526,7 @@ status:
15191526
- Also the `spec.workers.machineDeployments[].healthCheck.remediation.maxInFlight` field has been moved from `spec.workers.machineDeployments[].strategy.remediation.maxInFlight`
15201527
- All fields of type Duration in `spec.{controlPlane.healthCheck.checks,workers.machineDeployments[].healthCheck.checks}`, previously
15211528
`spec.{controlPlane.healthCheck,workers.machineDeployments[].machineHealthCheck}` have
1522-
been renamed by adding the `Seconds` suffix and their type was changed to int32 (compliance with K8s API guidelines)
1529+
been renamed by adding the `Seconds` suffix and their type was changed to `*int32` (compliance with K8s API guidelines)
15231530
- `nodeStartupTimeout` => `nodeStartupTimeoutSeconds`
15241531
- `unhealthyNodeConditions[].timeout` => `unhealthyNodeConditions[].timeoutSeconds`
15251532
- All the `remediation.templateRef` fields have been migrated from type `corev1.ObjectReference` to `MachineHealthCheckRemediationTemplateReference`:
@@ -1554,8 +1561,8 @@ status:
15541561
to `spec.variables[].deprecatedV1Beta1Metadata` and `.status.variables[].definitions[].deprecatedV1Beta1Metadata`
15551562
- These fields are deprecated and will be removed when support for v1beta1 will be dropped
15561563
- 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`,
1558-
`spec.variables[].schema.openAPIV3Schema.x-kubernetes-preserve-unknown-fields`, `spec.variables[].schema.openAPIV3Schema.x-kubernetes-int-or-string` fields
1564+
- The type of the `spec.variables[].required`, `spec.variables[].schema.openAPIV3Schema.uniqueItems`, `spec.variables[].schema.openAPIV3Schema.exclusiveMaximum`, `spec.variables[].schema.openAPIV3Schema.exclusiveMinimum`,
1565+
`spec.variables[].schema.openAPIV3Schema.x-kubernetes-preserve-unknown-fields`, `spec.variables[].schema.openAPIV3Schema.x-kubernetes-int-or-string`, `.status.variables[].definitions[].required` fields
15591566
has been changed from `bool` to `*bool`(compliance with K8s API guidelines)
15601567
- Same applies to the corresponding fields under:
15611568
- `spec.variables.schema.openAPIV3Schema.properties[]`
@@ -1825,6 +1832,8 @@ status:
18251832

18261833
- KubeadmConfig (and the entire CABPK provider) now implements the v1beta2 Cluster API contract
18271834
- 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)
18281837
- `extraArg` field types have been changed from `map[string]sting` to `[]Arg`, thus aligning with kubeadm v1beta4 API;
18291838
however, using multiple args with the same name will be enabled only when v1beta1 is removed, tentatively in August 2026
18301839
- `spec.clusterConfiguration.apiServer.extraArgs` type has been changed to `[]Arg`
@@ -1859,6 +1868,7 @@ status:
18591868
`spec.clusterConfiguration.scheduler` and `spec.clusterConfiguration.etcd.local` has been changed from `[]EnvVar` to `*[]EnvVar` (compliance with K8s API guidelines)
18601869
- The type of the `spec.clusterConfiguration.apiServer.extraVolumes.readOnly`, `spec.clusterConfiguration.controllerManager.extraVolumes.readOnly`
18611870
, `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)
18621872
- The type of the `spec.initConfiguration.nodeRegistration`, `spec.joinConfiguration.nodeRegistration` fields have been changed from `[]corev1.Taint` to `*[]corev1.Taint` (avoid custom serialization)
18631873
- The type of the `spec.joinConfiguration.discovery.bootstrapToken.unsafeSkipCAVerification` field has been changed from `bool` to `*bool` (compliance with K8s API guidelines)
18641874
- 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:
18681878
`spec.users[].pr`, `spec.users[].sudo` fields have been changed from `*string` to `string` (drop unnecessary pointers)
18691879
- The type of the `spec.diskSetup.filesystems[].partition`, `spec.diskSetup.filesystems[].replaceFS` fields have been changed from `*string` to `string` (drop unnecessary pointers)
18701880
- 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)
18711882
- The type of the `spec.ignition.containerLinuxConfig.strict` field has been changed from `bool` to `*bool` (compliance with K8s API guidelines)
18721883
- The `spec.useExperimentalRetryJoin` field (deprecated in CAPI v1.2!) has been removed
18731884
- 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:
22362247

22372248
- KubeadmControlPlane (and the entire KCP provider) now implements the v1beta2 Cluster API contract
22382249
- 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)
22392252
- The `spec.machineNamingStrategy` field was renamed to `spec.machineNaming` and is now using `MachineNamingSpec` type instead of `*MachineNamingStrategy` (improve consistency, drop unnecessary pointers)
22402253
- The `spec.machineTemplate.infrastructureRef` field was moved to `spec.machineTemplate.spec.infrastructureRef` and is now using `ContractVersionedObjectReference` type instead
22412254
of `corev1.ObjectReference`
@@ -2276,6 +2289,7 @@ status:
22762289
`spec.kubeadmConfigSpec.clusterConfiguration.scheduler` and `spec.kubeadmConfigSpec.clusterConfiguration.etcd.local` has been changed from `[]EnvVar` to `*[]EnvVar` (compliance with K8s API guidelines)
22772290
- The type of the `spec.kubeadmConfigSpec.clusterConfiguration.apiServer.extraVolumes.readOnly`, `spec.kubeadmConfigSpec.clusterConfiguration.controllerManager.extraVolumes.readOnly`
22782291
, `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)
22792293
- 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)
22802294
- The type of the `spec.kubeadmConfigSpec.joinConfiguration.discovery.bootstrapToken.unsafeSkipCAVerification` field has been changed from `bool` to `*bool`(compliance with K8s API guidelines)
22812295
- 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:
22852299
`spec.kubeadmConfigSpec.users[].primaryGroup`, `spec.kubeadmConfigSpec.users[].sudo` fields have been changed from `*string` to `string` (drop unnecessary pointers)
22862300
- 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)
22872301
- 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)
22882303
- The type of the `spec.kubeadmConfigSpec.ignition.containerLinuxConfig.strict` field has been changed from `bool` to `*bool` (compliance with K8s API guidelines)
22892304
- The `spec.kubeadmConfigSpec.useExperimentalRetryJoin` field (deprecated in CAPI v1.2!) has been removed
22902305
- 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:
23352350
- `status.failureReason` and `status.failureMessage` will continue to exist temporarily under `status.deprecated.v1beta1`
23362351
- The type of the `status.version` field has been changed from `*string` to `string` (drop unnecessary pointers)
23372352
- 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)
23382354

23392355
### KubeadmControlPlaneTemplate
23402356

@@ -2430,6 +2446,7 @@ spec:
24302446
- See changes that apply to [all CRDs](#all-crds)
24312447
- The type of the `spec.bindings` field has been changed from `[]*ResourceSetBinding` to `[]ResourceSetBinding` (drop unnecessary pointers)
24322448
- 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)
24332450
- Remove deprecated `ClusterResourceSetBinding.DeleteBinding` func
24342451

24352452
### ExtensionConfig
@@ -2482,6 +2499,7 @@ status:
24822499
- `ExtensionConfig` v1beta2 has been created, thus aligning with other Cluster API resources
24832500
- `ExtensionConfig` v1alpha1 has been deprecated, and it will be removed in a following release
24842501
- 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)
24852503
- The type of the `spec.clientConfig.url` field has been changed from `*string` to `string` (drop unnecessary pointers)
24862504
- The type of the `spec.clientConfig.service.path` field has been changed from `*string` to `string` (drop unnecessary pointers)
24872505
- `status.conditions` has been replaced with `status.v1beta2.conditions` based on metav1 condition types (improve status)
@@ -2525,6 +2543,7 @@ spec: { ... }
25252543
- The type of the `spec.claimRef` field has been changed from `corev1.LocalObjectReference` to `IPAddressClaimReference` (improve object references)
25262544
- The type of the `spec.poolRef` field has been changed from `corev1.TypedLocalObjectReference` to `IPPoolReference` (improve object references)
25272545
- 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)
25282547

25292548
### IPAddressClaim
25302549

0 commit comments

Comments
 (0)