Thinking again about daytwo operations (controllers watching for cluster events):
daytwo-argocd-register-controller
- watches for cluster.yaml (tanzu, clusterapi, etc…) and registers clusters with argocd automatically once they are in ‘ready’ state
- syncs ‘addons’ labels from cluster.yaml to argocd cluster secrets to auto install addons, including pinniped-concierge, and pinniped-www
daytwo-pinniped-register-controller
- generates a pinniped kubeconfig if new cluster
- adds to git repo if new cluster, removes from git repo if cluster decommissioned
- regenerates configmap used by pinniped-www
daytwo-external-dns-register-controller
- watch for service associated with cluster to appear & annotate with fqdn, goal: to add a dns entry for each cluster kubeapi
Or perhaps, if desired, the event could trigger automation somewhere else:
daytwo-cluster-event-controller
- callback to jenkins
- callback to awx
- callback to vmware-aria
- etc …