sigs.k8s.io/cluster-api@v1.7.1/docs/proposals/images/machine-states-preboot/Figure8.plantuml (about) 1 @startuml 2 title Figure 8: User creates a machine with kubeadm bootstrapper 3 4 ' -- GROUPS START --- 5 6 box #lightgreen 7 participant "API Server" 8 end box 9 10 box #lightblue 11 participant "Cluster API Machine Controller" 12 end box 13 14 box #lightgreen 15 participant "Workload Cluster API Server" 16 end box 17 18 ' -- GROUPS END --- 19 20 21 "API Server"-->>"Cluster API Machine Controller": AWSInfrastructureConfig updated 22 23 "Cluster API Machine Controller"-> "Cluster API Machine Controller":Machine Controller Reconcile 24 activate "Cluster API Machine Controller" 25 26 note over "Cluster API Machine Controller": - ✅ Machine.Status.Phase is "Provisioned" \n- ✅ Machine.Spec.InfrastructureRef -> Status.Ready is true\n- ✅ Machine.Spec.InfrastructureRef -> Status.Addresses is not empty 27 28 loop #FFFFFFCC until timeout or Node's status is Ready 29 "Cluster API Machine Controller"->"Workload Cluster API Server": Get Node 30 "Cluster API Machine Controller"<<--"Workload Cluster API Server": Response 31 note over "Cluster API Machine Controller":Loop conditions:\n- ✅ Node.Spec.ProviderID matches Machine.Spec.ProviderID\n- ✅ Node status is "Ready" 32 end 33 34 "Cluster API Machine Controller"->"Cluster API Machine Controller": Set Machine.Status.NodeRef 35 36 "Cluster API Machine Controller"->"Cluster API Machine Controller": Set Machine.Status.Phase to "Ready" 37 38 "Cluster API Machine Controller"->"API Server": Update Machine 39 "Cluster API Machine Controller"<--"API Server": Response 40 41 deactivate "Cluster API Machine Controller" 42 43 hide footbox 44 @enduml