Skip to content

ADR-006: DNS and Domain Management

Context and Problem Statement

The portfolio needed a custom domain (www.sven-relijveld.com) rather than the default Container Apps hostname. A decision was required on where to purchase and manage the domain, and how to host the DNS zone that the Container Apps managed certificate validation depends on.

Considered Options

  • External registrar (e.g. Namecheap, GoDaddy) + Azure DNS zone — purchase the domain from a third-party registrar, delegate the zone to Azure DNS name servers, and manage DNS records in Azure. Two platforms involved: registrar for domain ownership, Azure for DNS records.

  • Azure-purchased domain + Azure DNS zone — purchase the domain directly through Azure App Service Domains (which uses GoDaddy under the hood). The domain registration and DNS zone are both managed within Azure. Delegation is automatic.

  • External registrar + DNS managed at registrar — purchase domain externally and keep DNS at the registrar. No Azure DNS zone. CNAME and TXT records for Container Apps domain validation must be managed at the registrar's control panel, which is outside the infrastructure-as-code boundary.

Decision Outcome

Chosen option: "Azure-purchased domain + Azure DNS zone". Purchasing through Azure means the DNS zone is automatically delegated — no manual NS record update at an external registrar is required. All domain and DNS management is consolidated in a single control plane (Azure), and both the domain purchase and DNS zone configuration can be driven by Bicep in the shared infrastructure deployment. The Container Apps managed certificate validation uses TXT records in the Azure DNS zone, which the Bicep template manages directly.

Consequences

  • Good, because domain purchase, DNS zone, and Container Apps domain binding are all expressed in Bicep and deployed through the same pipeline — no manual steps at an external registrar.
  • Good, because automatic NS delegation eliminates the propagation delay and manual error risk of pointing an external domain at Azure DNS name servers.
  • Bad, because the domain is registered through Azure (GoDaddy under the hood), which is slightly more expensive than purchasing directly from a budget registrar.
  • Bad, because the domain is less portable — transferring it away from Azure requires an additional step compared to a domain held at an independent registrar.

Page history

Field Value
Last updated