chore: baseline before change C-00001-setup-project
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
---
|
||||
description: go-dns — Go library for dynamic DNS updates (RFC 2136 / nsupdate-style)
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# go-dns — Project Rules
|
||||
|
||||
Follow `docs/project-specification.md` 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
|
||||
|
||||
- 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
|
||||
- Integration tests: **BIND testcontainer** (`go test -tags=integration ./...`)
|
||||
- **`docs/bind-tsig-configuration.md`** — BIND `allow-update` / `allow-transfer` guide (implementation phase)
|
||||
- Typed **zone data structures** (`Record`, `Zone`, etc.) for transfer/update results
|
||||
- Project `.cursor` overrides workspace rules for this module
|
||||
|
||||
## Tests
|
||||
|
||||
- Unit: `go test ./...`
|
||||
- Integration: `go test -tags=integration ./...` — **BIND testcontainer** (Docker required)
|
||||
Reference in New Issue
Block a user