sigs.k8s.io/cluster-api@v1.7.1/docs/proposals/images/developer/diagram.plantuml (about) 1 @startuml 2 actor Client as C 3 participant "API Server" as A 4 participant "Core Manager" as core 5 participant "Infrastructure Manager" as infra 6 participant "Bootstrap Manager" as boot 7 8 core --> A: watch for machines and clusters 9 infra --> A: watch for InfraMachines, InfraClusters, Machines, and Clusters 10 boot --> A: watch for BootstrapConfigs and Machines 11 12 C -> A: Create a Cluster 13 A -> core: Cluster has been created 14 activate core 15 note right of core 16 Cluster Controller 17 endnote 18 core -> core: Requeue until InfraCluster is marked as ready 19 20 C -> A: Create an InfraCluster 21 A -> infra: InfraCluster created 22 activate infra 23 note right of infra 24 InfraCluster Controller 25 endnote 26 infra -> infra: Requeue until there\nis an associated Cluster 27 28 C -> A: Add an InfrastructureRef to Cluster 29 infra -> infra: InfraCluster has associated Cluster 30 infra -> infra: Provision necessary Cluster-level\ninfrastructure 31 infra -> A: Update InfraCluster as Ready 32 deactivate infra 33 34 core -> core: Cluster marked as ready 35 core -> A: Update Cluster 36 deactivate core 37 38 C -> A: Create a Machine 39 A -> core: Machine has been created 40 activate core 41 note right of core 42 Machine Controller 43 endnote 44 core -> core: Requeue until Machine has BootstrapConfig data 45 46 C -> A: Create a BootstrapConfig 47 A -> boot: BootstrapConfig created 48 activate boot 49 note right of boot 50 BootstrapConfig Controller 51 endnote 52 boot -> boot: Requeue unitl there\nis an associated Machine 53 54 C -> A: Add a BootstrapRef to Machine 55 boot -> boot: Generate bootstrap data for Machine 56 boot -> A: Update BootstrapConfig 57 deactivate boot 58 59 core -> core: Machine has Bootstrap Data 60 core -> core: Requeue until InfraMachine is ready 61 62 C -> A: Create InfraMachine 63 A -> infra: InfraMachine created 64 activate infra 65 note right of infra 66 InfraMachine controller 67 endnote 68 infra -> infra: Requeue until there\nis an associated Machine 69 70 C -> A: Add an InfrastructureRef to Machine 71 infra -> infra: InfraMachine has associated Machine 72 infra -> infra: Provision necessary infrastructure\nrepresenting a Machine 73 infra -> A: Update InfraMachine as ready 74 deactivate infra 75 76 core -> core: InfraMachine marked as ready 77 core -> core: Get a reference to the node 78 core -> A: Mark Machine as ready 79 deactivate core 80 81 @enduml