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