docs/design/ is the source of truth for the current dns-api design. Proposal history and temporary notes do not live here. Downstream implementation and user documentation should follow the committed files in this directory.
- Overview: project scope, initial provider scope, resource model, and condition scope.
- Common Design: roles, DEP process, namespace boundaries, descriptions, license, manual reconcile, and adoption.
- Core API:
ZoneClass,Zone,RecordSet,ZoneUnit, statuses, conditions, and events. - Provider Extension:
Providercontract, schemas, validation, support levels, and provider data. - Controllers and Webhooks: controller responsibilities, modules, acceptance boundary, and admission webhook.
- Cloudflare Provider: Cloudflare identity, schema, ZoneClass parameters, provider data, reconciliation, deletion, and record mapping.
- Route 53 Provider: Route 53 identity, provider settings, and record-set provider schema.
- External Provider: verify-only provider for customer-managed DNS: resolver policy, exact-set verification, conditions, scheduling bounds, deletion semantics, and conversion decision.
- Hosted Provider: authoritative provider that renders
ZoneUnitintoHostedZonesnapshots served by dns-api's own DNS server; credentialless, withdrawal-capable, no external DNS API. - Gateway API Integration:
HTTPRoute/GatewayDNS report, Zone selection, and generatedRecordSetbehavior. - UI: reusable DNS API UI package, screens, workflows, components, and mockup design.
- Headlamp Desktop Plugin: Headlamp Desktop plugin package, distribution, and Desktop-specific behavior.
- Development Environment: devbox, Taskfile, kind / Tilt, local credentials, and CI setup.
- Test Policy: kest, envtest, conformance scope, and initial scenario requirements.
- Open Decisions: unresolved design decisions.
- Current behavior is described in present tense in these files.
- One-off proposals, pseudocode, resolved feedback, and obsolete manuals are not source of truth.
- API changes that need history or alternatives belong in
deps/as DEP documents, then accepted behavior is reflected back here.