sigs.k8s.io/cluster-api@v1.7.1/docs/book/src/images/cluster-topology-controller.plantuml (about) 1 @startuml 2 3 start 4 :new ""Cluster"" object; 5 if (Check for the presence of the ""spec.topology.class"" field) then (yes) 6 if (Check if ""Cluster"" has ""Infrastructure"" reference) then (yes) 7 else (no) 8 :Create a new InfraCluster object using the ""ClusterClass"" template; 9 endif 10 11 if (Check if ""Cluster"" has ""ControlPlane"" reference) then (yes) 12 else (no) 13 :Create a new ""ControlPlane"" object using the ""ClusterClass"" template; 14 endif 15 :Update ""InfraCluster"" and ""ControlPlane"" reference in ""Cluster""; 16 17 if (Check if each ""MachineDeployment"" in ""Cluster"" exists) then (no) 18 :Create a new ""MachineDeployment""; 19 else (yes) 20 if (Check if the ""MachineDeployment"" matches 21 a ""ClusterClass"" workers template) then (no) 22 :Delete the ""MachineDeployment""; 23 else (yes) 24 :Update the ""MachineDeployment""; 25 endif 26 endif 27 else (no) 28 endif 29 stop 30 31 @enduml