Sweet victory! You've finally finished building the perfect website for your customer and now it's time to connect it to the internet.
And so it begins .. the song and dance of trying to figure out who is responsible for their domain. If you're lucky, it's them, if you're not lucky it's their nephew holding the keys to the kingdom. Okay, at least you got hold of whomever is responsible.
Now, to configure the correct DNS records. Everything would be so easy if you could just host their domain in your Route53 or Cloudflare account, but at the same time you don't want to be responsible for having to answer every support message around updating of MX records when undoubtedly their DMARC records need updating. So you struggle along trying to deal with whatever arcane interface their domain registrar is using.
This leads to a number of complications! There's a good chance their DNS control panel does not allow CNAME flattening of the domain's apex record. If it doesn't then all of a sudden you can't be simply hosting their website on a static content bucket somewhere because their root domain needs to be forwarded to the www subdomain pointing at the bucket.
In short, things get frustrating quickly!
With EX:OH CMS however, things are easy, you can connect a website in only a few steps:
Go into the administrator panel and request a web connection to made for the site you've been working on. This will kick off the provisioning of an SSL certificate for the `www` and root domain.
Then, copy the validation record and email it through to whomever is responsible for managing the domain name. After they have set it, EX:OH will use the issued certificate to spin up a new CloudFront Distribution that will serve your solid-state content from S3.
After that, two more DNS records are generated, one for the apex record (if requested) and a CNAME record for the subdomain that points at the CloudFront.
It's easy as that! Your site is now live. The apex will redirect to the proper sub-domain and your solid state content is flying across to the user from the nearest edge location.