|
4 | 4 |
|
5 | 5 | (state |
6 | 6 | (metadata |
7 | | - (version "0.0.1") |
| 7 | + (version "0.1.0") |
8 | 8 | (schema-version "1.0") |
9 | 9 | (created "2026-01-03") |
10 | | - (updated "2026-01-03") |
| 10 | + (updated "2026-02-08") |
11 | 11 | (project "hesiod-dns-map") |
12 | 12 | (repo "github.com/hyperpolymath/hesiod-dns-map")) |
13 | 13 |
|
14 | 14 | (project-context |
15 | 15 | (name "hesiod-dns-map") |
16 | | - (tagline "") |
17 | | - (tech-stack ())) |
| 16 | + (tagline "Hesiod DNS-based naming and service discovery using HS-class TXT records") |
| 17 | + (tech-stack ("rust" "hickory-proto" "tokio" "axum" "nickel" "kubernetes"))) |
18 | 18 |
|
19 | 19 | (current-position |
20 | | - (phase "initial") |
21 | | - (overall-completion 0) |
22 | | - (components ()) |
23 | | - (working-features ())) |
| 20 | + (phase "mvp") |
| 21 | + (overall-completion 85) |
| 22 | + (components |
| 23 | + ("hesiod-lib" "core library with records, zone, server, health, config" 90) |
| 24 | + ("hesinfo" "CLI tool with lookup, serve, generate, validate" 90) |
| 25 | + ("nickel-config" "type-safe configuration schemas" 100) |
| 26 | + ("k8s-manifests" "deployment, service, configmap" 100) |
| 27 | + ("flatracoon-integration" "module manifest for orchestrator discovery" 100)) |
| 28 | + (working-features |
| 29 | + ("passwd-record-roundtrip" "PasswdRecord TXT serialization/deserialization") |
| 30 | + ("group-record-roundtrip" "GroupRecord TXT serialization/deserialization") |
| 31 | + ("service-record-roundtrip" "ServiceRecord TXT serialization/deserialization") |
| 32 | + ("filsys-record-roundtrip" "FilsysRecord TXT serialization/deserialization") |
| 33 | + ("zone-management" "HesiodZone with HashMap-based record storage") |
| 34 | + ("bind-zone-export" "BIND-format zone file generation") |
| 35 | + ("udp-dns-server" "hickory-proto based HS-class DNS server") |
| 36 | + ("http-health" "Axum health/metrics endpoints on port 8080") |
| 37 | + ("json-config" "Configuration from nickel export JSON") |
| 38 | + ("cli-serve" "hesinfo serve - start DNS + HTTP server") |
| 39 | + ("cli-lookup" "hesinfo lookup - DNS query client") |
| 40 | + ("cli-generate" "hesinfo generate - zone file generator") |
| 41 | + ("cli-validate" "hesinfo validate - zone file validator"))) |
24 | 42 |
|
25 | 43 | (route-to-mvp |
26 | | - (milestones ())) |
| 44 | + (milestones |
| 45 | + ("m1-core" "Core library implementation" 90 |
| 46 | + ("record types" "zone management" "DNS server" "health endpoints" "config loading")) |
| 47 | + ("m2-cli" "CLI tool" 90 |
| 48 | + ("lookup" "serve" "generate" "validate")) |
| 49 | + ("m3-config" "Nickel configuration" 100 |
| 50 | + ("schema contracts" "flatracoon config")) |
| 51 | + ("m4-k8s" "Kubernetes deployment" 100 |
| 52 | + ("deployment" "service" "configmap")) |
| 53 | + ("m5-integration" "FlatRacoon integration" 100 |
| 54 | + ("module manifest" "orchestrator discovery")))) |
27 | 55 |
|
28 | 56 | (blockers-and-issues |
29 | 57 | (critical) |
30 | 58 | (high) |
31 | | - (medium) |
32 | | - (low)) |
| 59 | + (medium |
| 60 | + ("zone-reload" "POST /dns/reload not yet implemented")) |
| 61 | + (low |
| 62 | + ("tcp-dns" "TCP DNS not yet supported, UDP only"))) |
33 | 63 |
|
34 | 64 | (critical-next-actions |
35 | | - (immediate) |
36 | | - (this-week) |
37 | | - (this-month)) |
| 65 | + (immediate |
| 66 | + ("verify-build" "cargo build --release must compile") |
| 67 | + ("verify-tests" "cargo test must pass")) |
| 68 | + (this-week |
| 69 | + ("integration-test" "test with dig against running server")) |
| 70 | + (this-month |
| 71 | + ("zone-reload" "implement hot zone reload"))) |
38 | 72 |
|
39 | | - (session-history ())) |
| 73 | + (session-history |
| 74 | + ("2026-02-08" "initial implementation: rust workspace, hesiod-lib, hesinfo CLI, nickel config, k8s manifests, containerfile, flatracoon module manifest"))) |
0 commit comments