Files
go-dns/CONTEXT.md
T
konrad 8d090864af Record the setup-change closeout and the module glossary.
The change notes finish the documentation pass, and CONTEXT.md points at the project specification.
2026-09-30 17:29:11 +02:00

34 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# go-dns
Go library for dynamic DNS updates (RFC 2136 / nsupdate-style).
**Canonical spec:** [docs/project-specification.md](./docs/project-specification.md) — follow it for design and implementation.
## Stack
- **Language:** Go (see workspace `go.work` for version)
- **Module:** `gitea.neitzel.de/konrad/go-dns`
- **Package:** `godns` (module root)
- **Type:** Importable Go library (not a standalone service)
## Design (summary)
- Target **BIND** and RFC 2136–compatible authoritative nameservers
- **Dynamic update** (RFC 2136) and **full zone transfer** (AXFR) over DNS
- **TSIG** authentication with caller-supplied keys (no key generation in library)
- Typed **RR builders** per record type (not generic rdata strings)
- Domain names: **ASCII only** in v1
- UPDATE: **automatic TCP fallback** on UDP truncation
- Typed **zone data structures** (`Record`, `Zone`, etc.) for transfer/update results
- BIND guide: [docs/bind-tsig-configuration.md](./docs/bind-tsig-configuration.md)
- Project docs override workspace defaults for this module
## Tests
- Unit: `go test ./...`
- Integration: `go test -tags=integration ./...` — **BIND testcontainer** (Docker required)
## Work tracking
Local markdown issues: [../.scratch/](../.scratch/) — see [docs/agents/issue-tracker.md](../docs/agents/issue-tracker.md).