Skip to content

Commit 0f8e172

Browse files
authored
Merge pull request #11275 from theobarberbany/inframachine-contract-update
📖 Update InfraMachine contract to include pausing rule
2 parents 4439c69 + 173d3b5 commit 0f8e172

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

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

+8
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
| [InfraMachineTemplate: support for SSA dry run] | No | Mandatory for ClusterClasses support |
6060
| [Multi tenancy] | No | Mandatory for clusterctl CLI support |
6161
| [Clusterctl support] | No | Mandatory for clusterctl CLI support |
62+
| [InfraMachine: pausing] | No | |
6263

6364
Note:
6465
- `All resources` refers to all the provider's resources "core" Cluster API interacts with;
@@ -393,6 +394,12 @@ See [Improving status in CAPI resources].
393394

394395
</aside>
395396

397+
### InfraMachine: pausing
398+
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.
400+
401+
If implementing the pause behavior, providers SHOULD surface the paused status of an object using the Paused condition: `Status.Conditions[Paused]`.
402+
396403
### InfraMachineTemplate, InfraMachineTemplateList resource definition
397404

398405
For a given InfraMachine resource, you MUST also add a corresponding InfraMachineTemplate resources in order to use it
@@ -552,3 +559,4 @@ is implemented in InfraMachine controllers:
552559
[infrastructure Provider Security Guidance]: ../security-guidelines.md
553560
[Server Side Apply]: https://kubernetes.io/docs/reference/using-api/server-side-apply/
554561
[the DockerMachineTemplate webhook]: https://github.com/kubernetes-sigs/cluster-api/blob/main/test/infrastructure/docker/internal/webhooks/dockermachinetemplate_webhook.go
562+
[InfraMachine: pausing] #inframachine-pausing

0 commit comments

Comments
 (0)