sigs.k8s.io/cluster-api@v1.7.1/docs/proposals/images/machine-states-preboot/Figure3.plantuml (about) 1 @startuml 2 title Figure 3: User creates a machine with kubeadm bootstrapper 3 actor User 4 5 ' -- GROUPS START --- 6 7 box #lightgreen 8 participant "API Server" 9 end box 10 11 box #lightblue 12 participant "Cluster API Machine Controller" 13 end box 14 15 ' -- GROUPS END --- 16 17 User->"API Server":kubectl apply -f machine.yaml 18 "API Server"-->>"Cluster API Machine Controller": New Machine 19 20 "Cluster API Machine Controller"-> "Cluster API Machine Controller":Machine Controller Reconcile 21 activate "Cluster API Machine Controller" 22 23 24 note over "Cluster API Machine Controller": - ✅ Machine.Status.Phase is empty\n- ✅ Machine.Spec.Bootstrap.Data is <nil>\n- ✅ Machine.Spec.Bootstrap.ConfigRef is populated\n- ✅ Machine.Spec.Bootstrap.ConfigRef -> Status.Ready is false 25 26 opt #FFFFFFCC Required only if the object hasn't been seen before 27 "Cluster API Machine Controller"-> "Cluster API Machine Controller":Add watcher for \nMachine.Spec.Bootstrap.ConfigRef.Kind objects 28 end 29 30 opt #FFFFFFCC Required only if the object hasn't been seen before 31 "Cluster API Machine Controller"-> "Cluster API Machine Controller":Add watcher for \nMachine.Spec.InfrastructureRef.Kind objects 32 end 33 34 opt #FFFFFFCC Required only if the object hasn't been seen before 35 "Cluster API Machine Controller"-> "Cluster API Machine Controller":Add watcher for \nMachine.Spec.Bootstrap.ConfigRef.Kind objects 36 end 37 38 opt #FFFFFFCC Required only if the object doesn't have a Machine owner reference 39 "Cluster API Machine Controller"-> "Cluster API Machine Controller":Set Machine.Spec.Bootstrap.ConfigRef -> OwnerReferences[0] to Machine 40 "Cluster API Machine Controller"->"API Server": Update KubeadmBootstrapConfig 41 "Cluster API Machine Controller"<<--"API Server": Response 42 end 43 44 opt #FFFFFFCC Required only if the object doesn't have a Machine owner reference 45 "Cluster API Machine Controller"-> "Cluster API Machine Controller":Set Machine.Spec.InfrastructureRef -> OwnerReferences[0] to Machine 46 "Cluster API Machine Controller"->"API Server": Update AWSInfrastructureConfig 47 "Cluster API Machine Controller"<<--"API Server": Response 48 end 49 50 "Cluster API Machine Controller"-> "Cluster API Machine Controller":Set Machine.Status.Phase = "Pending" 51 52 "Cluster API Machine Controller"->"API Server": Update Machine Status 53 "Cluster API Machine Controller"<<--"API Server": Response 54 55 deactivate "Cluster API Machine Controller" 56 57 hide footbox 58 @enduml