Automate cluster ingress wildcard DNS record creation instance-wide
Problem to solve
After creating a cluster and getting 198.51.100.42 as my ingress IP for myteam at mycompany.com, I had to manually create the following DNS record:
A *.myteam.mycompany.com 198.51.100.42
I'd prefer if this step was automated, so any team can easily get started without someone personally having access to our DNS.
Further details
It seems this is the only part of the cluster setup flow where you need to leave the GitLab UI.
It also would be beneficial to have a standard DNS naming scheme for the clusters enforced on the instance-level.
Proposal
- Agree on how to configure the DNS naming scheme
- Agree on how to make sure this cannot be destructive
- After the ingress is ready, launch a job that interfaces with popular DNS providers such as AWS Route 53 and CloudFlare; maybe code from here can be reused: https://github.com/rancher/external-dns
What does success look like, and how can we measure that?
Being able to go from no cluster to accessible deployment on cluster without needing to personally interact with my DNS provider.
Links / references
- Inspiration: https://github.com/rancher/external-dns