Annotations
You can set Kubernetes Annotations to instruct the Syself CAPH Controller to modify its behavior.
Overview of Annotations#
capi.syself.com/skip-namespace#
| Resource | Namespace |
|---|---|
| Description | If set to "true", the Syself CAPH Controller skips reconciliation for all CAPH resources in that namespace. |
| Value | "true" enables the skip behavior. Any other value keeps reconciliation enabled. |
| Auto-Remove | Disabled: The annotation remains on the namespace until it is removed manually. |
capi.syself.com/wipe-disk#
| Resource | HetznerBareMetalHost |
|---|---|
| Description | This annotation instructs the Syself CAPH Controller to wipe the disk before provisioning the machine. |
| Value | You can use the string "all" or a space-separated list of WWNs. For example, "10:00:00:05:1e:7a:7a:00 eui.00253885910c8cec 0x500a07511bb48b25". If the value is empty, no disks will be wiped. The value "all" will wipe all disks on the bare-metal machine (not just the one given in the rootDeviceHints). |
| Auto-Remove | Enabled: The annotation is removed after the disks are wiped. |
capi.syself.com/ignore-check-disk#
| Resource | HetznerBareMetalHost |
|---|---|
| Description | This annotation instructs the Syself CAPH Controller to ignore the results of the check-disk step during machine provisioning. The check will be performed, and a Kubernetes Event will be created. However, if this annotation is set, provisioning will continue even if a faulty disk is detected. |
| Value | The value is ignored. If the annotation exists, this feature is enabled. |
| Auto-Remove | Disabled: The annotation remains on the resource. It is up to the user to remove it. |
capi.syself.com/allow-empty-control-plane-address#
| Resource | HetznerCluster |
|---|---|
| Description | This annotation allows the Syself CAPH Controller to create HetznerCluster resources with an empty controlPlaneEndpoint. This is useful to support externally managed control planes (PR 1106) |
| Value | "true" enables this feature. All other strings are considered "false". |
| Auto-Remove | Disabled: The annotation remains on the resource. |
capi.syself.com/constant-bare-metal-hostname#
| Resource | Cluster (CRD of Cluster-API), HetznerBareMetalMachine |
|---|---|
| Description | See Using constant hostnames for more details. |
| Auto-Remove | Disabled: The annotation remains on the resource. |
capi.syself.com/reboot#
| Resource | HetznerBareMetalHost |
|---|---|
| Description | If this annotation is present, the bare-metal machine will be rebooted. This annotation is used by HetznerBareMetalRemediation (see Machine Health Checks with Custom Remediation Template ). |
| Value | The value is ignored. If the annotation exists, this feature is enabled. |
| Auto-Remove | Enabled: The annotation is removed after the reboot. |
capi.syself.com/permanent-error#
| Resource | HetznerBareMetalHost |
|---|---|
| Description | This annotation is set by the Syself CAPH Controller when a bare-metal machine enters the "permanent error" state. This indicates that human intervention is required (e.g., to fix a broken disk). After the root cause is resolved, the user must remove this annotation to allow the Controller to manage the HetznerBareMetalHost again. |
| Auto-Remove | Disabled: The annotation must be removed by the user. |
capi.syself.com/use-hrobot-provider-id-for-baremetal#
| Resource | HetznerCluster |
|---|---|
| Description | When set to "true", then the ProviderID format hrobot://NNNN will be used. If not set or empty hcloud://bm-NNNN will be used. |
| Value | "true" enables this feature. |
| Auto-Remove | Disabled: The annotation remains on the resource. |
HetznerBareMetalRemediationTemplate
With this remediation, you can define a custom method for how Machine Health Checks treats unhealthy HetznerBareMetalMachine objects.
Developing Cluster API Provider Hetzner
Learn how to set up an environment to develop the Cluster API Provider Hetzner, using Tilt and kind.