Skip to content

Commit 88ccb07

Browse files
author
Jonathan D.A. Jewell
committed
feat: implement Hesiod DNS naming system with Rust workspace\n\nRust workspace with two crates:\n- hesiod-lib: HS-class TXT record types (passwd, group, service, filsys),\n zone management, UDP DNS server (hickory-proto), Axum health/metrics\n- hesinfo: CLI with lookup, serve, generate, validate subcommands\n\nAlso includes Nickel config schemas, K8s manifests, FlatRacoon module\nmanifest, Containerfile, example zone file, and real justfile recipes.\n\n16 tests passing, clippy clean.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 746d21c commit 88ccb07

22 files changed

Lines changed: 3335 additions & 34 deletions

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-License-Identifier: AGPL-3.0-or-later
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
22
# RSR-compliant .gitignore
33

44
# OS & Editor

.machine_readable/STATE.scm

Lines changed: 50 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,71 @@
44

55
(state
66
(metadata
7-
(version "0.0.1")
7+
(version "0.1.0")
88
(schema-version "1.0")
99
(created "2026-01-03")
10-
(updated "2026-01-03")
10+
(updated "2026-02-08")
1111
(project "hesiod-dns-map")
1212
(repo "github.com/hyperpolymath/hesiod-dns-map"))
1313

1414
(project-context
1515
(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")))
1818

1919
(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")))
2442

2543
(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"))))
2755

2856
(blockers-and-issues
2957
(critical)
3058
(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")))
3363

3464
(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")))
3872

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

Comments
 (0)