STATUS.md: correct the deliverables section
ci / Console typecheck and build (pull_request) Failing after 23s
ci / Go build, vet and test (pull_request) Failing after 1m1s
ci / Binary with the console embedded (pull_request) Skipped
ci / Container image (pull_request) Skipped

Makefile, Dockerfile, .gitignore, CI workflow and two k8s manifests do
exist; only README.md is empty and the k8s set is partial.
This commit is contained in:
developer committed 2026-09-27 12:59:27 +00:00
1 parent aa12b03eb9
commit 728374dfda
2 files changed
+26 -11

No files matched your search

Binary file not shown.
+26 -11
View File
@@ -153,13 +153,22 @@ Run: `go test -race -timeout 120s ./internal/... -count=1`
`internal/localzone` were started but the agent ran out of budget;
`internal/resolver` was not started at all.
### Not started
### Not started / incomplete deliverables
- `Makefile`, `.gitignore`, `Dockerfile`, `deploy/k8s/`,
`.github/workflows/ci.yml` and a real `README.md` (it is still a 0-byte
file) were never written.
- End-to-end verification of the freshly built console against the running
binary: the bundle compiles and embeds, but nobody has clicked through it.
- **`README.md` is still a 0-byte file.** Everything else in the deploy set
exists (written in a parallel pass) and is tracked: `Makefile` (4 KB),
`Dockerfile`, `.gitignore`, `.github/workflows/ci.yml` (6 KB),
`deploy/config.example.yaml`, `deploy/local.example.zone`, `deploy/zones/`.
None of it has been *reviewed against the code* — the CI workflow and the
Makefile targets (`make web`, `make race`, `make image`) need a
`make -n`/dry-run pass, and every config key, port and CLI flag the docs
mention has to be checked against `internal/config` and `cmd/fancy-dns`.
- **`deploy/k8s/` has only two of the seven expected manifests**
(`00-config.yaml`, `10-deployment.yaml`). Still missing: Service, PVC,
ServiceAccount + Secret (the API key), Ingress (needs
`proxy_buffering off` for the SSE log stream), namespace and kustomization.
- End-to-end verification of the console against a running binary: the bundle
compiles and embeds, but nobody has clicked through the pages.
- `internal/web/dist` is gitignored except `.gitkeep`, so a fresh clone cannot
build the binary without running `npm ci && npm run build` first. Either CI
builds the bundle before `go build`, or the ignore rule comes off.
@@ -194,12 +203,18 @@ failover, `Rebind` under `-race` — with a `dns.Server` fake on `127.0.0.1:0`),
forms), `localzone` (delegation cut, closest-wildcard per RFC 1034 §4.3.3,
NODATA vs NXDOMAIN), `config` (`Duration` parsing, `Validate`, the store hooks).
### Step 4 — the frontend and deploy deliverables
### Step 4 — review the deploy set and write the README
Finish the console (pages exist; verify them in a browser against a running
binary), then write `Makefile`, `Dockerfile`, `deploy/k8s/`, CI and the
`README.md`. CI must run `npm ci && npm run build` before `go build`, because
the Go build embeds `internal/web/dist`.
The console pages exist and build; verify them in a browser against a running
binary. Then read `Makefile`, `Dockerfile` and `.github/workflows/ci.yml`
against the code and fix what does not match, add the missing k8s manifests
(Service, PVC, ServiceAccount + Secret, Ingress with `proxy_buffering off` for
`/api/logs/stream`, namespace, kustomization), and write `README.md` from the
source: config reference, zone-file semantics, blocklist formats, API routes,
the `trusted_proxies` / `metrics.protect` / `auth.mode` security caveats, and
the limitations (no DNSSEC validation, no zone transfer, no dynamic update).
CI must run `npm ci && npm run build` before `go build`, because the Go build
embeds `internal/web/dist`.
## Design notes worth preserving