datumctl, or through the API.
Record sets
Datum groups records the way DNS does. Every record with the same name and the same type forms one record set, and all of its values share a TTL.www, type A — with two values. Adding a second address adds a value to the existing set rather than creating a competing record, and resolvers return both.
Supported record types
The apex NS records and the SOA record are written by Datum. See Records Datum manages for you.
Write names
Record names are relative to the zone. In a zone forexample.com:
The most common mistake is writing the full name.
www.example.com inside a zone for example.com creates a record for www.example.com.example.com.
Underscore labels like _dmarc, _acme-challenge, and DKIM selectors are ordinary names — write them as they appear in the instructions you were given, minus the zone.
Write values
Values that name another host must be absolute: end them with a dot.mail.example.com becomes mail.example.com.example.com and resolution fails. This applies to CNAME, ALIAS, NS, MX exchanges, SRV targets, and PTR values.
Two rules cover almost every mistake:
- Names are relative.
www, notwww.example.com. - Targets are absolute.
mail.example.com., with the dot.
Set TTLs
The TTL is how long resolvers may cache an answer. Every record set has one. Leave it unset and the record usesAuto, which resolves to five minutes — short enough that mistakes are cheap to fix, long enough to be efficient for most sites.
Set it explicitly when you have a reason:
- Before a planned change, lower the TTL well in advance so the old answer expires quickly when you make the cut.
- After things settle, raise it for records that rarely change.
Rules DNS itself imposes
A few limits come from DNS, not from Datum, and every provider enforces them:- A CNAME can’t share a name with other records. If
wwwis a CNAME, it can’t also have an A record or a TXT record. - The apex can’t be a CNAME. The apex already has SOA and NS records, so a CNAME there is illegal. Use an ALIAS record instead.
- Only one SOA per zone, and Datum owns it.
Record status
Each record set reports a status.
A record stuck at Pending for more than a moment is worth inspecting; the detail view for the record carries the underlying message.
Programmed means Datum is serving the record. It doesn’t mean the world can see it — that also needs the domain delegated to Datum, and it needs any previously cached answer to expire.
Managing records from the terminal
Thedatumctl DNS plugin covers records in full, including entering multi-part values, bulk-applying a zone file, and filtering by status:
Related
ALIAS records
Point the apex at a hostname and still answer with addresses.
DNS zones
Zone status, delegation, and managed records.
Migrate a zone
Import records in bulk from another provider.
DNS setup for an ALB
A worked example with an apex ALIAS and a subdomain CNAME.