CLI: DNS Management
Manage DNS zones and records with the agentmetal dns subcommand.
CLI: DNS Management
Overview
The agentmetal dns subcommand manages DNS zones and records. It supports zone creation with optional DNSSEC and full record lifecycle management for A, AAAA, CNAME, MX, TXT, SRV, and NS record types.
Zone Operations
Create a Zone
agentmetal dns zone create --domain example.com
| Flag | Required | Description |
|---|---|---|
--domain | Yes | Domain name for the zone |
--dnssec | No | Enable DNSSEC (default: false) |
agentmetal dns zone list
ID DOMAIN RECORDS STATE
zone-a1b2c3 example.com 5 active
zone-d4e5f6 internal.dev 3 active
Get / Delete Zone
agentmetal dns zone get zone-a1b2c3
agentmetal dns zone delete zone-a1b2c3
Record Operations
Create a Record
agentmetal dns record create \
--zone zone-a1b2c3 \
--name www \
--type A \
--value 203.0.113.42 \
--ttl 300
| Flag | Required | Description |
|---|---|---|
--zone | Yes | Zone ID |
--name | Yes | Record name (e.g., www, @, api) |
--type | Yes | Record type: A, AAAA, CNAME, MX, TXT, SRV, NS |
--value | Yes | Record value (IP, domain, or text) |
--ttl | No | Time to live in seconds (default: 3600) |
--priority | No | Priority for MX/SRV records |
agentmetal dns record list --zone zone-a1b2c3
ID NAME TYPE VALUE TTL
rec-abc123 www A 203.0.113.42 300
rec-def456 @ MX mail.example.com 3600
rec-ghi789 api CNAME lb.example.com 300
Get / Delete Record
agentmetal dns record get rec-abc123
agentmetal dns record delete rec-abc123
Examples
Set up a full domain:
# Create zone
agentmetal dns zone create --domain myapp.com --dnssec
Add records
agentmetal dns record create --zone zone-xyz --name @ --type A --value 203.0.113.42 --ttl 300
agentmetal dns record create --zone zone-xyz --name www --type CNAME --value myapp.com --ttl 300
agentmetal dns record create --zone zone-xyz --name @ --type MX --value mail.myapp.com --ttl 3600 --priority 10
agentmetal dns record create --zone zone-xyz --name @ --type TXT --value "v=spf1 include:_spf.google.com ~all" --ttl 3600