-
Notifications
You must be signed in to change notification settings - Fork 1.4k
📖 Update contract documentation #12093
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
📖 Update contract documentation #12093
Conversation
4fd2f85 to
f34d6d2
Compare
| When the v1beta2 contract will be released (tentative Apr 2025), `status.initialization.dataSecretCreated` will be used | ||
| instead of `status.ready`. However, `status.ready` will be supported until v1beta1 removal (~one year later). | ||
| In order to ease the transition for providers, the v1beta2 version of the Cluster API contract _temporarily_ | ||
| preserve compatibility with the deprecated v1beta1 contract; compatibility will be removed tentatively in August 2026. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| preserve compatibility with the deprecated v1beta1 contract; compatibility will be removed tentatively in August 2026. | |
| preserves compatibility with the deprecated v1beta1 contract; compatibility will be removed tentatively in August 2026. |
| - `message` (optional) | ||
| - `lastTransitionTime` (optional, if omitted, time.Now will be used) | ||
| In order to ease the transition for providers, the v1beta2 version of the Cluster API contract _temporarily_ | ||
| preserve compatibility with the deprecated v1beta1 contract; compatibility will be removed tentatively in August 2026. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| preserve compatibility with the deprecated v1beta1 contract; compatibility will be removed tentatively in August 2026. | |
| preserves compatibility with the deprecated v1beta1 contract; compatibility will be removed tentatively in August 2026. |
| <h1>Compatibility with the deprecated v1beta1 contract</h1> | ||
|
|
||
| In order to ease the transition for providers, the v1beta2 version of the Cluster API contract _temporarily_ | ||
| preserve compatibility with the deprecated v1beta1 contract; compatibility will be removed tentatively in August 2026. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| preserve compatibility with the deprecated v1beta1 contract; compatibility will be removed tentatively in August 2026. | |
| preserves compatibility with the deprecated v1beta1 contract; compatibility will be removed tentatively in August 2026. |
|
|
||
| In case a Bootstrap provider reports that a BootstrapConfig resource is in a state that cannot be recovered (terminal failure) by | ||
| setting `status.failureReason` and `status.failureMessage` as defined by the deprecated v1beta1 contract, | ||
| the "core" Machine controller will surface those info in the corresponding fields within in Machine's `status.deprecatd.v1beta1` struct. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| the "core" Machine controller will surface those info in the corresponding fields within in Machine's `status.deprecatd.v1beta1` struct. | |
| the "core" Machine controller will surface those info in the corresponding fields within in Machine's `status.deprecated.v1beta1` struct. |
|
|
||
| See [Improving status in CAPI resources]. | ||
| After compatibility with the deprecated v1beta1 contract will be removed, `status.failureReason` and `status.failureMessage` | ||
| fields in the BootstrapConfig resource will be ignored and Machine's `status.deprecatd.v1beta1` struct will be dropped. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| fields in the BootstrapConfig resource will be ignored and Machine's `status.deprecatd.v1beta1` struct will be dropped. | |
| fields in the BootstrapConfig resource will be ignored and Machine's `status.deprecated.v1beta1` struct will be dropped. |
|
|
||
| See [Improving status in CAPI resources]. | ||
| After compatibility with the deprecated v1beta1 contract will be removed, `status.failureReason` and `status.failureMessage` | ||
| fields in the InfraMachine resource will be ignored and Machine's `status.deprecatd.v1beta1` struct will be dropped. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| fields in the InfraMachine resource will be ignored and Machine's `status.deprecatd.v1beta1` struct will be dropped. | |
| fields in the InfraMachine resource will be ignored and Machine's `status.deprecated.v1beta1` struct will be dropped. |
| - The transition to the new K8s aligned conditions using `metav1.Conditions` types and the new condition semantic | ||
| has been completed for all Kinds: | ||
| - `status.conditions` has been replaced with `status.v1beta2.conditions` | ||
| - the old `status.conditions` will continue to exist temporarily under `status.deprecatd.v1beta1` for the sake of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - the old `status.conditions` will continue to exist temporarily under `status.deprecatd.v1beta1` for the sake of | |
| - the old `status.conditions` will continue to exist temporarily under `status.deprecated.v1beta1` for the sake of |
| - the old `status.conditions` will continue to exist temporarily under `status.deprecatd.v1beta1` for the sake of | ||
| down conversions and to provide a temporary option for users willing to continue using old conditions. | ||
| - Support for terminal errors has been dropped from all Kinds | ||
| - `status.failureReason` and `status.failureMessage` will continue to exist temporarily under `status.deprecatd.v1beta1` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - `status.failureReason` and `status.failureMessage` will continue to exist temporarily under `status.deprecatd.v1beta1` | |
| - `status.failureReason` and `status.failureMessage` will continue to exist temporarily under `status.deprecated.v1beta1` |
| ### Deprecation | ||
|
|
||
| - v1beta1 API version is deprecated and it will be removed tentatively in August 2026 | ||
| - All the fields under `status.deprecatd.v1beta1` in the new v1beta2 API are deprecated and whey will be removed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - All the fields under `status.deprecatd.v1beta1` in the new v1beta2 API are deprecated and whey will be removed | |
| - All the fields under `status.deprecated.v1beta1` in the new v1beta2 API are deprecated and whey will be removed |
| - Conditions utils for deprecated v1beta1 conditions have been moved to `util/conditions/deprecated/v1beta1` | ||
|
|
||
| Also, please note that starting from the CAPI release when v1beta1 removal will happen (tentative Aug 2026), the Cluster API project | ||
| will remove the Cluster API condition type, the `util/conditions` package, the code handling conditions in `util/patch.Helper` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| will remove the Cluster API condition type, the `util/conditions` package, the code handling conditions in `util/patch.Helper` | |
| will remove the Cluster API condition type, the `util/conditions/deprecated/v1beta1` package, the code handling conditions in `util/patch.Helper` |
|
Two dead links, besides that lgtm! /approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: chrischdi The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
|
/lgtm |
|
LGTM label has been added. Git tree hash: 648ff35e02cc051a72e4e09a88797124e336ad51
|
|
lgtm |
What this PR does / why we need it:
This PR updates v1beta2 contract documentation + compatibility with v1beta1
Which issue(s):
Rif #11947
/area documentation