Create Route53 DNS deployment configuration.

Description

Create a way for Guise to automatically configure DNS, starting with support for Route53.

This will likely be configured as "dns" section in the "deploy" section:

This will create a Route53 "hosted zone" with the domain name example.com. We can make "domain" optional, and it will be determined from the site domain name and aliases from GUISE-76. It can be determined by finding the shorted suffix given of the site domain name and aliases, providing an error if there is no common suffix (e.g. domain foo.example.com with alias bar.example.com, in which case an explicit example.com is required for the hosted zone domain name). Perhaps even this situation can be resolved by finding the common suffix. (Usually something like like Guava's InternetDomainName.html.topDomainUnderRegistrySuffix() is what is intended; see InternetDomainNameExplained for an in-depth explanation.)

The implementation should create the DNS strategy before deployment and provide it via the context, so that various deployment targets can use it to add additional entries (e.g. for AWS Certificate Manager auto-renewal DNS entries). The DNS server IP addresses should be logged each time, so that a user can know which IP addresses to specify with their domain registrar.

Actual addition of DNS entries will be done by the various deployment targets by asking for the DNS service. This ticket merely creates the Route 53 hosted zone if needed.

Environment

None

Assignee

Garret Wilson

Reporter

Garret Wilson

Labels

None

Components

Fix versions

Priority

Blocker
Configure