Search docsFilter pages by title

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/records
  • GET /api/v1/networks/:id/dns/records
  • POST /api/v1/networks/:id/dns/records
  • PUT /api/v1/dns/records/:id
  • DELETE /api/v1/dns/records/:id
  • GET /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.
Edit this page