Open ilackarms opened 4 years ago
After further discussion, we've decided that implementing a cluster registration controller would not be worth the effort given that it would not obviate the need for a manual step in providing bootstrap kubeconfigs. In other words, a purely declarative registration flow cannot be achieved given that the management cluster would require bootstrap kubeconfigs needed for creating the registration credentials.
As for tracking registration settings and other metadata about the registered cluster state, we can extend the KubernetesCluster CRD spec and status.
the lack of a declarative cluster registration directive makes it impossible to detect when drift has occurred
it also makes a difficult experience of needing to reimplement CLI logic to handle all registration workflows.
finally it makes it impossible to use Helm/community tooling to handle cluster registration.
i propose as a solution we implement a backend controller which is responsible for automating the majority of the cluster reg workflow, with the only user-driven step involving providing credentials to an in-cluster registration controller to bootstrap the registration process.