Infra cluster controller is responsible for managing InfrastructureCluster(AWSCluster, etc.) CRs. The infrastructure cluster object will represent the infrastructure of the cloud(AWS,Azure,GCP, etc.) where current cluster is running.
The controller will set the cluster externally managed annotation "cluster.x-k8s.io/managed-by"
and Status.Ready
to true
which indicates that the cluster is managed by the current controller and
not managed by the CAPI infrastructure provider.
stateDiagram-v2
[*] --> GetInfraCluster
GetInfraCluster --> IsDeletionTimestampPresent
state IsDeletionTimestampPresent <<choice>>
IsDeletionTimestampPresent --> [*]: True
IsDeletionTimestampPresent --> SetExternallyManagedAnnotation: False
SetExternallyManagedAnnotation --> SetInfrastructureClusterStatusReady
SetInfrastructureClusterStatusReady --> [*]