Skip to main content
This guide prepares a domain for use with a Datum Application Load Balancer by creating a DNS zone, an apex ALIAS record, and a subdomain CNAME — all pointing at the Application Load Balancer endpoint.
This guide assumes your domain is already delegated to Datum nameservers. See DNS for nameserver details and ALIAS record behavior.
Datum does not provision a zone until you have verified that you own the domain. If the zone below stays unprogrammed, verification is the first thing to check — see Verify domain ownership.

Prerequisites

  • datumctl installed and authenticated
  • A valid Project
  • Domain delegated to Datum nameservers

Configuration Steps

Step 1: Set Variables

The TARGET value is your Application Load Balancer endpoint hostname. Find it in the Datum portal under your Application Load Balancer’s generated hostname, or via:

Windows (PowerShell)

macOS / Linux

TARGET must include a trailing dot. Without it, the value will be treated as a relative name and DNS resolution will fail.

Step 2: Create the DNS Zone

Windows (PowerShell)

macOS / Linux

--validate=false disables client-side schema validation. It is required here because datumctl does not bundle schemas for DNS API types locally.
Verify the zone is accepted and programmed:
Wait until both ACCEPTED and PROGRAMMED show True before proceeding.

Step 3: Create the Apex ALIAS Record

Points the root domain (@) at the Application Load Balancer endpoint.

Windows (PowerShell)

macOS / Linux


Step 4: Create a Subdomain CNAME

Points a subdomain (e.g., app.your-domain.example.com) at the same endpoint.

Windows (PowerShell)

macOS / Linux


Verification

Check Record Status

Both records should show ACCEPTED=True and PROGRAMMED=True.

Check DNS Resolution

Windows (PowerShell)

macOS / Linux

Both names should resolve to the Application Load Balancer endpoint.

Cleanup

Windows (PowerShell)

macOS / Linux


Troubleshooting


Summary

  • DNS zones use kind: DNSZone at dns.networking.miloapis.com/v1alpha1
  • The DNS zone class is always datum-external-global-dns — it is platform-provided and not user-configurable
  • Use recordType: ALIAS for the apex (@) and recordType: CNAME for subdomains
  • The TARGET value must include a trailing dot
  • All DNS apply commands require --validate=false
  • Delete record sets before deleting the zone
Last modified on August 26, 2026