DNS MVP
Nanami DNS MVP provides a contract for overlay name resolution without requiring a full DNS server rollout yet.
Scope
- deterministic node hostnames (sanitized from node name),
- single overlay DNS resolver IP via
OVERLAY_DNS_IP, - WireGuard configs include
DNS = OVERLAY_DNS_IP, - records source of truth API for future DNS server integration.
Environment
Set:
bash
OVERLAY_DNS_IP=100.64.0.10
This value is injected into generated node WireGuard configs.
Records API
Endpoint:
GET /api/v1/dns/recordsGET /api/v1/networks/:id/dns/recordsPOST /api/v1/networks/:id/dns/recordsPUT /api/v1/dns/records/:idDELETE /api/v1/dns/records/:idGET /api/v1/networks/:id/dns/corefile
Optional filter:
?network=<network-id-or-name>
Response shape:
json
{
"records": [
{
"name": "macbook-pro",
"overlayIps": ["100.64.0.11"]
}
]
}
Managed record shape:
json
{
"id": "record-id",
"networkId": "network-id",
"name": "api",
"type": "A",
"value": "100.64.0.10",
"ttl": 60
}
Notes
- P3 adds deterministic runtime artifacts: Corefile + zone file via
GET /api/v1/networks/:id/dns/corefile. - P4 adds managed CoreDNS runtime in gateway-daemon behind
DNS_RUNTIME_ENABLED. - Gateway runtime status is visible via
GET /api/v1/networks/:id/runtime-status. - Hostname mapping is tenant-scoped through authenticated API access.