Skip to content

Commit c6a8027

Browse files
Update InfraCluster contract to include Pausing rule
1 parent 404084f commit c6a8027

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

docs/book/src/developer/providers/contracts/infra-cluster.md

+8
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ repo or add an item to the agenda in the [Cluster API community meeting](https:/
5858
| [Externally managed infrastructure] | No | |
5959
| [Multi tenancy] | No | Mandatory for clusterctl CLI support |
6060
| [Clusterctl support] | No | Mandatory for clusterctl CLI support |
61+
| [InfraCluster: pausing] | No | |
6162

6263
Note:
6364
- `All resources` refers to all the provider's resources "core" Cluster API interacts with;
@@ -335,6 +336,12 @@ the implication of this choice which are described both in the document above an
335336

336337
</aside>
337338

339+
### InfraCluster: pausing
340+
341+
Providers SHOULD implement the pause behaviour for every object with a reconciliation loop. This is done by checking if `spec.paused` is set on the Cluster object and by checking for the `cluster.x-k8s.io/paused` annotation on the InfraCluster object.
342+
343+
If implementing the pause behavior, providers SHOULD surface the paused status of an object using the Paused condition: `Status.Conditions[Paused]`.
344+
338345
### InfraCluster: terminal failures
339346

340347
Each InfraCluster SHOULD report when Cluster's enter in a state that cannot be recovered (terminal failure) by
@@ -525,3 +532,4 @@ is implemented in InfraCluster controllers:
525532
[clusterctl provider contract]: clusterctl.md
526533
[implementation best practices]: ../best-practices.md
527534
[infrastructure Provider Security Guidance]: ../security-guidelines.md
535+
[InfraCluster: pausing]: #infracluster-pausing

0 commit comments

Comments
 (0)