Skip to main content
When Datum hosts your domain’s DNS, you can point the domain at an Application Load Balancer with two records:
  • An ALIAS record at the apex, example.com. A CNAME isn’t allowed at the apex, so Datum answers ALIAS queries with the load balancer’s current addresses. See ALIAS.
  • A CNAME record for each subdomain, such as www.example.com.
Both point at the load balancer’s generated hostname, such as famous-tree-abc12.datumproxy.net. To serve traffic for your domain, the load balancer also needs the domain as a custom hostname.
If your DNS is hosted somewhere else, you don’t need anything on this page. Create a CNAME to the load balancer’s generated hostname at your own DNS provider.

Point a domain with datumctl dns

The quickest way is the datumctl dns plugin. To install it, run datumctl plugin install dns.
1

Find the load balancer's hostname

The Default hostname line shows the generated hostname.
2

Create the zone, if you haven't already

Then point your domain at Datum’s nameservers. See Point your domain at Datum.
3

Add the records

Replace GENERATED_HOSTNAME with the load balancer’s hostname, and keep the trailing dot.
4

Check that it works

The records are live when their status is Programmed.

Point a domain with manifests

The rest of this page creates the same zone and records with DNSZone and DNSRecordSet manifests, using datumctl apply.

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:
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

--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.

Step 4: Create a Subdomain CNAME

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

Verification

Check Record Status

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

Check DNS Resolution

Both names should resolve to the Application Load Balancer endpoint.

Cleanup


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 October 23, 2026