Open evanfarrar opened 6 years ago
@evanfarrar i was suspecting that if we venture into LB mgmt territory we would have to do something about DNS. could you describe a bit more about different requirements. given your experiences with bbl would you mind creating a PR into this repo that describes some of the different DNS impl details per IaaS.
Definitely, I can flesh this out more, but some brief thoughts:
n
DNS servers and they only put your DNS zone on n choose 3
of them. For this reason, it would be essential to know the identity of a zone and be careful about recreating it if the "manifest" or whatever were re-entered. Accidentally destroying and recreating a zone means that your entries get "balanced" to new DNS servers, which means that the parent domain may be delegating NS records to servers that do not have entries for your zone.Counter-point to my own suggestion: maybe there are just too many vendors in this space to hope to support them all. Look at how many DNS vendors caddy supports: https://caddyserver.com/docs/automatic-https#enabling-the-dns-challenge
Typically DNS for BOSH deployed software is seen as a pre-install concern, but I would like to propose that it be something that can be implemented in each CPI. CFAR and CFCR both have some implicit requirements for configuring external DNS to meet their conventions (CFAR has always had this need, CFCR has just added this pre-requisite).
AWS, GCP, Azure, and Openstack all have some form of DNSaaS, so this is nearly a universal Cloud resource. Even for users of vSphere or in regions which do not support DNS (China, GovCloud), there could be significant benefit just to know explicitly what are the requirements around DNS in the sample deployment manifest for a specific SemVer of a BOSH release rather than correlate documentation and software to infer this information.
If this were available to be configured via manifests and cloud configs, then we also could begin to implement BOSH releases which are much more dependent on runtime modification of DNS records. For example, Let's Encrypt's wildcard certs only work with DNS based validation, where a DNS entry must be made containing a challenge response. This challenge must be renewed every three weeks, so doing this during bootstrapping is of limited benefit.
Some counterpoints / risks I see: