sigs.k8s.io/cluster-api@v1.7.1/docs/book/src/images/cluster-admission-machine-controller.plantuml (about) 1 @startuml cluster-admission-machine-controller 2 3 start; 4 :Machine controller; 5 6 repeat 7 :Machine controller enqueues a Create call; 8 if (Cluster has ready annotation) then (yes) 9 if (Machine has control plane role) then (yes) 10 #LightBlue:Join as control plane member; 11 else (no) 12 #LightBlue:Join as worker node; 13 endif 14 else (no) 15 if (Machine has control plane role) then (yes) 16 #LightBlue:Create control plane config map; 17 if (Control plane config map already exists) then (yes) 18 #Pink:Return RequeueError; 19 else (no) 20 #LightBlue:Init control plane; 21 #LightBlue:Set ready status on Machine annotation; 22 #LightBlue:Patch Machine back to API server; 23 endif 24 else (no) 25 #Pink:Return RequeueError; 26 endif 27 endif 28 repeat while (Create returned RequeueError) is (yes) 29 -> no; 30 if (Create returned error) then (yes) 31 #Pink:Error creating machine; 32 else (no) 33 #LightBlue:Machine has initialized or joined the cluster; 34 endif 35 stop; 36 37 @enduml