Commit Graph
11 Commits
Author SHA1 Message Date
jschoubben ccfdaec5ed Round 2 T2, T5: mesh-wireguard and route-proxy end G with their merge-base test counts; roles in the test
mesh/delivery merged: source.main moved to novox/mesh-networking@9be2faaf8b00
mesh/delivery-group group feat/47-G-join12 merged: every member is merged
mesh/check failed (2): mesh-delivery-checker: no published of the tagged version of go-meshconditions of me…; and 1 more | ccfdaec5ed2d on 9be2faaf8b00
The two tests G added fold into existing ones as subtests (design 47 G §626); route-proxy's provider test names
a role, not a node (T5).

Builds: design 47 G §626, A-306; review round 2 findings T2, T5
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 22:20:32 +01:00
jschoubben ca6d8cd8eb Fix 9.7e: route-proxy names the seats it reads (seat:mesh-provisioner, seat:mesh-module-assigner), no module
Builds: design 47 G A-116 (§636, §616)

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 01:21:09 +01:00
jschoubben 3c2239802d Fix 9.6a: wireguard's Go Manifest() says version 0.1 as module.json does; route-proxy's pinned manifest digest follows the version
Builds: design 47 G A-46, §368, §411

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 01:03:05 +01:00
jschoubben db50239373 No client names the holder of the seat mesh-provisioner: each reader keeps its own constant, held to its manifest (ADR 0625 section 4, issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 19:36:21 +01:00
jschoubben acaebc5ddf route-proxy: provisions and the provider come from the provisioner's client, not mesh-sdk (N-1, ADR 0634 §4; issue 1966)
The requires of the two mesh-contracts modules carry a placeholder version the group's re-pin replaces.
2026-11-05 14:09:12 +01:00
jschoubben 26dea32f5f Pin route-proxy at the group's mesh-sdk head acbf80a and its contract at the published tag v0.1.0, so it builds and reads the contributed payload; refresh its manifest digest for the events its contract names (issue 774) 2026-10-31 10:27:05 +01:00
jschoubben 373565c2f7 Serve route-proxy's routes from the seat mesh-provisioner's plans alone and drop its received routes file, since a route is a provision and the file is the deprecated path (issue 774, research 072 row 34; needs the mesh-sdk pin carrying plan entries' given and Conn.Read) 2026-10-31 09:24:53 +01:00
jschoubben 69bffee443 Answer route-proxy's routes from the seat mesh-provisioner's plans and keys, not the controller's assignments, so a route the seat keys for a module not handed is marked provided and its new builds are no longer withheld (issue 774) 2026-10-31 00:27:11 +01:00
jschoubben 3e14a13b1a Give route-proxy its state on the bus and three tools, so a site's route, certificate and last answer are read from the mesh instead of with curl (issue 774)
The web front kept nothing on the bus: whether grafana or drive was routed, where to, with which
certificate, and what it last answered could only be learned with curl or the container's log.

The proxy now keeps `routes` and `unrouted` (announced readable, keyed <node>.<name>), written on
change by one writer: route set changes, certificates stored by autocert's cache or failing at a
handshake, upstream answers that differ from the last written (or are a minute old), and names
refused in a request or a handshake. The provider helper's bundle serves route_proxy_routes,
route_proxy_route and route_proxy_unrouted from those states.

Quick: log the routes at start and grep the journal. Thorough: the state on the bus and the tools
that read it, mesh-wide, in one call. Chose thorough: the operator's question is mesh-wide and
recurs, and the log says nothing about certificates or answers.

Tests: two table tests added (the ledger, the tools), both failing without the change; four
authority tests and four skipped-route tests merged into two, so the module has four fewer.
2026-10-30 22:58:04 +01:00
jschoubben fa19caf2c1 Move the route proxy into its module and run it from the trust image, on mesh-sdk's public membership (issues 1633, 1634, 1635)
A bundle is built only from its module's directory (ADR 0480 clause 4), so the proxy leaves
examples/ and the controller's internal/broker; the broker keeps no second copy of what the
proxy shares with mesh-sdk. The image and its Dockerfile go, and a test holds that only
build-agent declares one (clause 11).
2026-10-22 09:53:56 +02:00
jschoubben d82f24b51a Bring build-agent and route-proxy in whole (issue 1019) 2026-10-17 18:15:33 +02:00