Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Service Contract: Technitium DNS

Purpose

Authoritative DNS for internal service names, serving LAN/VPN clients and Kubernetes-ingress endpoints; optional recursion or forwarding to OpenWRT.

Exposure

  • Category: Internal | VPN-only
  • Ingress: Internal
  • DNS names: dns.risu.tech (internal-only)

Identity

  • AuthN: Local admin accounts
  • AuthZ: Admin role required for zone changes
  • Break-glass account: Yes (stored in password vault)

Data

  • Persistence: Persistent (zones/config)
  • Data class: Standard
  • Estimated storage growth: Minimal

Network

  • Allowed source networks: LAN, VPN, cluster nodes
  • Egress requirements: Upstream DNS IPs (public or OpenWRT)

Availability

  • HA required: High (for internal service resolution) but not required for platform bootstrap
  • Acceptable downtime: Minutes; recovery path via OpenWRT static overrides

Backup

  • Tier: Standard (regular export of zones/config)
  • Restore test cadence: After major upgrades or quarterly

Dependencies

  • Needs database: No (embedded)
  • Needs object storage: No
  • Needs SMTP: No
  • Other: Stable Service IP/VIP; upstream DNS reachable by IP

Observability

  • Metrics: Query rate, NXDOMAIN/servfail counts
  • Logs: Query/zone change logs
  • Alerts: Service availability; zone integrity errors

Change Control

  • Deployment method: Kubernetes (Talos) workload
  • Rollback plan: Redeploy previous version and restore last config backup

Notes / Risks

Must avoid DNS self-dependency: configure all upstreams and ExternalDNS endpoints by IP; keep WAN exposure disabled.