ArgoCD-Cluster-Register An ArgoCD controller to listen for Cluster-API clusters and register them with an ArgoCD project
the Cluster-Register controller listens to Kubernetes-API for the Cluster-API Resource Cluster and if a cluster is in a non-deleting state it will search for Cluster Connecting resources and add a deterministic Cluster secret into the ArgoCD namespace. Furthermore it will then add the Cluster to the appropriate ArgoCD Projects.
Thus the Cluster-Register controller never contacts CAPI or ArgoCD directly. Providing two benefits, re-use of Kubernetes RBAC and ease of programming as there is only the controller-runtime/kubebuilder to interacte with.
Please note; ArgoCD-Cluster-Register is still work in progress, and the deployment config is undergoing some updates.
LATEST=$(curl -s https://api.github.com/repos/hyperspike/argocd-cluster-register/releases/latest | jq -r .tag_name)
curl -sL https://github.com/hyperspike/argocd-cluster-register/releases/download/$LATEST/install.yaml | kubectl create -f -
Verifying the container image
LATEST=$(curl -s https://api.github.com/repos/hyperspike/argocd-cluster-register/releases/latest | jq -r .tag_name)
cosign verify ghcr.io/hyperspike/argocd-cluster-register:$LATEST --certificate-oidc-issuer https://token.actions.githubusercontent.com --certificate-identity https://github.com/hyperspike/argocd-cluster-register/.github/workflows/image.yaml@refs/tags/$LATEST
ArgoCD-Cluster-Register doesn't provide label based filtering at this time, but this feature is planed.
Testing includes Kubeadm/CAPI-Docs and EKS/CAPI-Docs Clusters, other declarative auth mechanisms have not been implemented.