Skip to content

Commit fc8f658

Browse files
Improve documentation about compatible contracts
1 parent f77b4e1 commit fc8f658

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

docs/book/src/reference/versions.md

+21
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,27 @@ the newest API version in the same Cluster API release.
159159
A contract version might be temporarily compatible with older contract versions to ease transition of providers to
160160
a new supported version; compatibility for older contract versions will be dropped when the older contract version is EOL.
161161

162+
<aside class="note">
163+
164+
Unlike API versions, in Cluster API there will always be only one contract version, the supported contract version.
165+
166+
Compatibility with older contract versions, when implemented, is only intended to ease the transition for providers,
167+
and it will be considered in a very limited set of operations e.g.
168+
- You can init a management cluster with a core provider implementing the v1beta2 contract and an
169+
infrastructure provider still implementing the v1beta1 contract (v1beta1 is temporarily compatible with v1beta2).
170+
- You can temporarily have a management cluster with a core provider implementing the v1beta2 contract and an
171+
infrastructure provider still implementing the v1beta1 contract, you can update both of them to newer versions
172+
(v1beta1 is temporarily compatible with v1beta2).
173+
- A version of clusterctl implementing the v1beta2 contract cannot init a cluster with a core provider implementing
174+
the v1beta1 contract (v1beta1 is deprecated).
175+
- A version of clusterctl implementing the v1beta2 contract cannot perform upgrades when the target version core provider
176+
will be implementing the v1beta1 contract (v1beta1 is deprecated).
177+
178+
Also, might be that in future compatibility will be subject to limitations (e.g. compatibility only for infrastructure
179+
providers of an older contract version)
180+
181+
</aside>
182+
162183
| Contract Version | Compatible with contract versions | Status | Supported Until |
163184
|------------------|-----------------------------------|-------------|---------------------------------------------------------------------------------------------|
164185
| v1beta2 | v1beta1 (temporarily) | Supported | After a newer API contract will be released |

0 commit comments

Comments
 (0)