Add Dynamic DNS (DynDNS2 listener + domain UI)
Imported from GitHub pull request El-SaMa/oma#119 by @El-SaMa.
Summary
- DynDNS2 listener at
/api/ddns/nic/updateupdates live A/AAAA via Cloudflare, Enhance, or cPanel ZoneEdit - Domain manage tab, DNS card, searchable host list, token mint/rotate; migration
0088_ddns.sql - Platform/MCP tools (
oma.list_ddns_hosts, create/rotate/delete), unit + listener contract tests, admin docs with draw.io flow and data-model charts
Test plan
- Apply migration
0088_ddns.sql -
pnpm --dir services/core-api test -- src/ddns/ddns.test.ts -
pnpm --dir apps/web exec vitest run lib/ddns/listener.test.ts - Create a DDNS host under Domain manage → Dynamic DNS; copy token
- curl DynDNS update with hostname + token →
goodthennochg - Confirm A record updated; check Admin Docs → Dynamic DNS diagrams