Skip to content

Commit 7b752c6

Browse files
📖 Update BootstrapConfig contract to include pausing (#11287)
* Update BootstrapConfig contract to include pausing * Fixes wording for InfraMachine pausing
1 parent 1965b91 commit 7b752c6

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

docs/book/src/developer/providers/contracts/bootstrap-config.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ repo or add an item to the agenda in the [Cluster API community meeting](https:/
5959
| [Taint Nodes at creation] | No | |
6060
| [Support for running multiple instances] | No | Mandatory for clusterctl CLI support |
6161
| [Clusterctl support] | No | Mandatory for clusterctl CLI support |
62+
| [BootstrapConfig: pausing] | No | |
6263

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

284285
</aside>
285286

287+
### BootstrapConfig: pausing
288+
289+
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 BootstrapConfig object.
290+
291+
If implementing the pause behavior, providers SHOULD surface the paused status of an object using the Paused condition: `Status.Conditions[Paused]`.
292+
286293
### BootstrapConfig: terminal failures
287294

288295
Each BootstrapConfig SHOULD report when BootstrapConfig's enter in a state that cannot be recovered (terminal failure) by
@@ -481,3 +488,4 @@ The following diagram shows the typical logic for a bootstrap provider:
481488
[implementation best practices]: ../best-practices.md
482489
[Server Side Apply]: https://kubernetes.io/docs/reference/using-api/server-side-apply/
483490
[the DockerMachineTemplate webhook]: https://github.com/kubernetes-sigs/cluster-api/blob/main/test/infrastructure/docker/internal/webhooks/dockermachinetemplate_webhook.go
491+
[BootstrapConfig: pausing]: #bootstrapconfig-pausing

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ See [Improving status in CAPI resources].
396396

397397
### InfraMachine: pausing
398398

399-
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 Machine object and by checking for the `cluster.x-k8s.io/paused` annotation on the InfraMachine object.
399+
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 InfraMachine object.
400400

401401
If implementing the pause behavior, providers SHOULD surface the paused status of an object using the Paused condition: `Status.Conditions[Paused]`.
402402

0 commit comments

Comments
 (0)