tinkerbell / cluster-api-provider-tinkerbell

Cluster API Infrastructure Provider
Apache License 2.0
91 stars 35 forks source link

Status annotations #380

Open jacobweinstock opened 1 month ago

jacobweinstock commented 1 month ago

Description

[!IMPORTANT]
This builds off of PR #379 and must wait for it to be merged.

The previous method of provisioning state relied on the AllowPXE field of the Hardware spec. This overloads this field and makes it difficult to understand state. This is also problematic when gitops is employed with Hardware objects.

Annotations are purpose built for state and work well with CAPI. FYI, fields in the status object state are not maintained during CAPI move/pivot operations so they are not an option. There is also at least one other known bare metal CAPI provider that uses this pattern very successfully.

Why is this needed

Fixes: #

How Has This Been Tested?

How are existing users impacted? What migration steps/scripts do we need?

Checklist:

I have: