sigs.k8s.io/cluster-api@v1.7.1/docs/proposals/images/topology-mutation-hook/topology-reconciliation.plantuml (about)

     1  @startuml
     2  title Figure 1. Cluster topology reconciliation
     3  
     4  
     5  ' -- GROUPS START ---
     6  
     7  box #LightGreen
     8  participant "API Server"
     9  end box
    10  
    11  box #LightBlue
    12  participant "Cluster Topology Controller"
    13  end box
    14  
    15  box #LightBlue
    16  participant "External Patch Extensions"
    17  end box
    18  
    19  ' -- GROUPS END ---
    20  
    21  "API Server" --> "Cluster Topology Controller": Cluster reconcile event
    22  activate "Cluster Topology Controller"
    23  
    24  "Cluster Topology Controller" -> "API Server": Get current Cluster topology
    25  activate "API Server"
    26  "API Server" -> "Cluster Topology Controller":
    27  deactivate "API Server"
    28  
    29  group #FFFFFFCC Compute desired State
    30    "Cluster Topology Controller" -> "Cluster Topology Controller": Compute desired State
    31    loop Ordered list of Patches
    32      alt
    33        "Cluster Topology Controller" -> "Cluster Topology Controller": Generate inline patches
    34      else
    35        "Cluster Topology Controller" -> "External Patch Extensions": Generate external patches
    36        activate "External Patch Extensions"
    37        "External Patch Extensions" -> "Cluster Topology Controller":
    38        deactivate "External Patch Extensions"
    39      end
    40      "Cluster Topology Controller" -> "Cluster Topology Controller": Apply patches to desired State
    41    end loop
    42  
    43    loop External Patches
    44      "Cluster Topology Controller" -> "External Patch Extensions": ValidateTopology
    45      activate "External Patch Extensions"
    46      "External Patch Extensions" -> "Cluster Topology Controller":
    47      deactivate "External Patch Extensions"
    48    end loop
    49  end group
    50  
    51  "Cluster Topology Controller" -> "API Server": Reconcile Cluster topology
    52  
    53  deactivate "Cluster Topology Controller"
    54  
    55  hide footbox
    56  @enduml