Skip to content

Commit 7727968

Browse files
Merge pull request #822 from alexander-demicev/documentapi
Document v1beta2 API changes
2 parents b5d37e3 + 8d780f0 commit 7727968

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

docs/book/src/05_reference/01_api_versions.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,42 @@ This page provides a detailed list of any changes between different API versions
44

55
### v1beta1 to v1beta2
66

7+
#### Bootstrap
8+
9+
There are no breaking changes to the `RKE2Config.spec` fields.
10+
11+
The `RKE2ConfigTemplate` object remains largely unchanged in `v1beta2`.
12+
13+
An RKE2Config is considered ready when `RKE2Config.status.initialization.dataSecretCreated` is set to `true`.
14+
15+
The following `v1beta1` `RKE2ConfigStatus` fields have been removed from `v1beta2`:
16+
- `ready`
17+
- `failureReason`
18+
- `failureMessage`
19+
20+
These fields have been moved under `RKE2Config.status.deprecated.v1beta1` for backward compatibility.
21+
22+
In `v1beta1`, status conditions are using `clusterv1beta1.Conditions`, which are CAPI-specific condition types, whereas in `v1beta2` they are using `metav1.Conditions`, inline with upstream CAPI. The benefit of using `metav1.Conditions` is that it provides a standard way of reporting status that is common across many Kubernetes resource types ([reference](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md)).
23+
724
#### Control Plane
825

926
In `v1beta1` the following fields were marked as `deprecated` and have been removed from `v1beta2`:
1027
- `infrastructureRef` has been removed from `RKE2ControlPlane.spec`. Use `RKE2ControlPlane.spec.machineTemplate.spec.infrastructureRef` instead.
11-
- `nodeDrainTimeout` has been removed from `RKE2ControlPlane.spec`. Use `RKE2ControlPlane.spec.machineTemplate.spec.deletion.nodeDrainTimeout` instead.
28+
- `nodeDrainTimeout` has been removed from `RKE2ControlPlane.spec`. Use `RKE2ControlPlane.spec.machineTemplate.spec.deletion.nodeDrainTimeoutSeconds` instead.
1229

1330
The following `v1beta1` fields have moved:
1431
- `infrastructureRef` has moved from `RKE2ControlPlaneMachineTemplate` to `RKE2ControlPlaneMachineTemplateSpec.infrastructureRef` in `v1beta2`.
32+
- The type has changed from `corev1.ObjectReference` to `ContractVersionedObjectReference`, which uses `apiGroup` instead of `apiVersion` and does not include `namespace`, `uid`, `resourceVersion`, or `fieldPath` fields.
1533
- `nodeDrainTimeout`, `nodeVolumeDetachTimeout` and `nodeDeletionTimeout` have moved under `RKE2ControlPlaneMachineTemplateSpec.deletion` in `v1beta2` and have been renamed to:
1634
- `deletion.nodeDrainTimeoutSeconds`
1735
- `deletion.nodeVolumeDetachTimeoutSeconds`
1836
- `deletion.nodeDeletionTimeoutSeconds`
1937

20-
Note that these fields have changed their type to int32 and now expect a timeout expressed in seconds.
38+
Note that these fields have changed their type from `*metav1.Duration` to `*int32` and now expect a timeout expressed in seconds.
2139

2240
The `RKE2ControlPlaneMachineTemplate` object in `v1beta2` now includes a `spec` field which is required.
2341

24-
The following `v1beta1` `RKE2ControlPlaneStatus` fields have been moved under `RKE2ControlPlane.status.deprecated` in `v1beta2`:
42+
The following `v1beta1` `RKE2ControlPlaneStatus` fields have been moved under `RKE2ControlPlane.status.deprecated.v1beta1` in `v1beta2`:
2543
- `conditions`
2644
- `failureReason`
2745
- `failureMessage`
@@ -40,4 +58,4 @@ The following `RKE2ControlPlaneStatus` fields have been removed from `v1beta2`:
4058
- `updatedReplicas`
4159
- `unavailableReplicas`
4260

43-
An RKE2 cluster is considered initialized when `RKE2ControlPlaneStatus.initialization.controlPlaneInitialized` is set to `true`.
61+
An RKE2 cluster is considered initialized when `RKE2ControlPlaneStatus.initialization.controlPlaneInitialized` is set to `true`.

0 commit comments

Comments
 (0)