sigs.k8s.io/cluster-api@v1.7.1/docs/book/src/images/cluster-resource-set-controller.plantuml (about)

     1  @startuml
     2  !pragma useVerticalIf on
     3  start
     4  :ClusterResourceSet Controller;
     5  repeat
     6    :ClusterResourceSet controller enqueues a Reconcile call;
     7    :Fetch the ClusterResourceSet instance in namespace;
     8    repeat
     9      if (Cluster matches ClusterResourceSet's selector) then (yes)
    10        if (Get ClusterResourceSetBinding for the cluster) then (exists)
    11        else (doesn't exist)
    12           :Create ClusterResourceSetBinding object for the cluster;
    13        endif
    14        if (ResourceSetBinding for a given ClusterResourceSet exists) then (yes)
    15        else (no)
    16          :Create ResourceSetBinding;
    17        endif
    18      :Get Resoures in ClusterResourceSet;
    19      if (Check applied condition of resource in ResourceSetBinding) then (false)
    20       :Apply resource to cluster;
    21       :Set applied condition to true in ResourceSetBinding;
    22      endif
    23      :Mark ResourcesAppliedCondition to true;
    24    endif
    25    repeat while (More clusters?)
    26  repeat while (More updates to ClusterResourceSet?)
    27  stop
    28  @enduml