sigs.k8s.io/cluster-api@v1.7.1/docs/proposals/images/developer/diagram.plantuml (about)

     1  @startuml
     2  actor Client as C
     3  participant "API Server" as A
     4  participant "Core Manager" as core
     5  participant "Infrastructure Manager" as infra
     6  participant "Bootstrap Manager" as boot
     7  
     8  core --> A: watch for machines and clusters
     9  infra --> A: watch for InfraMachines, InfraClusters, Machines, and Clusters
    10  boot --> A: watch for BootstrapConfigs and Machines
    11  
    12  C -> A: Create a Cluster
    13  A -> core: Cluster has been created
    14  activate core
    15  note right of core
    16      Cluster Controller
    17  endnote
    18  core -> core: Requeue until InfraCluster is marked as ready
    19  
    20  C -> A: Create an InfraCluster
    21  A -> infra: InfraCluster created
    22  activate infra
    23  note right of infra
    24      InfraCluster Controller
    25  endnote
    26  infra -> infra: Requeue until there\nis an associated Cluster
    27  
    28  C -> A: Add an InfrastructureRef to Cluster
    29  infra -> infra: InfraCluster has associated Cluster
    30  infra -> infra: Provision necessary Cluster-level\ninfrastructure
    31  infra -> A: Update InfraCluster as Ready
    32  deactivate infra
    33  
    34  core -> core: Cluster marked as ready
    35  core -> A: Update Cluster
    36  deactivate core
    37  
    38  C -> A: Create a Machine
    39  A -> core: Machine has been created
    40  activate core
    41  note right of core
    42      Machine Controller
    43  endnote
    44  core -> core: Requeue until Machine has BootstrapConfig data
    45  
    46  C -> A: Create a BootstrapConfig
    47  A -> boot: BootstrapConfig created
    48  activate boot
    49  note right of boot
    50      BootstrapConfig Controller
    51  endnote
    52  boot -> boot: Requeue unitl there\nis an associated Machine
    53  
    54  C -> A: Add a BootstrapRef to Machine
    55  boot -> boot: Generate bootstrap data for Machine
    56  boot -> A: Update BootstrapConfig
    57  deactivate boot
    58  
    59  core -> core: Machine has Bootstrap Data
    60  core -> core: Requeue until InfraMachine is ready
    61  
    62  C -> A: Create InfraMachine
    63  A -> infra: InfraMachine created
    64  activate infra
    65  note right of infra
    66      InfraMachine controller
    67  endnote
    68  infra -> infra: Requeue until there\nis an associated Machine
    69  
    70  C -> A: Add an InfrastructureRef to Machine
    71  infra -> infra: InfraMachine has associated Machine
    72  infra -> infra: Provision necessary infrastructure\nrepresenting a Machine
    73  infra -> A: Update InfraMachine as ready
    74  deactivate infra
    75  
    76  core -> core: InfraMachine marked as ready
    77  core -> core: Get a reference to the node
    78  core -> A: Mark Machine as ready
    79  deactivate core
    80  
    81  @enduml