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