jschoubben
13e28e6873
ADR 0194: the no-copies check allows each node's loopback stub
2026-10-03 21:51:03 +02:00
jschoubben
6b6ff76a19
ADR 0194: why every node needs a stub, and the systemd-resolved module that provides it
2026-10-03 21:50:33 +02:00
jschoubben
1de4a5f25e
ADR 0194: the mesh has one resolver, and every node asks it for the mesh's names
...
Every resolution fault found on 2026-10-03 was a per-node copy disagreeing with the truth: a hosts
file read once, an operator's old line beside the mesh's, a node's resolver lent to a LAN. Every
tunnel already converges on one node. Retires node-dns-resolver for a mesh-scoped mesh-resolver;
nodes route only the mesh's suffix to it. Narrows 0121; amends connectivity §2 and the seats.
2026-10-03 21:21:49 +02:00
jschoubben
8a1fa37dce
Merge pull request 'ADR 0191: domains are a node's — the resolver holds each node's internal domain, nothing else' ( #323 ) from decision/0191-names-by-origin into main
2026-10-03 19:12:26 +00:00
mesh-admin
44eb13acd0
Merge pull request 'ADR 0193: every bundle the runtime serves is launched, and the runtime knows no language; design 38 WP4d' ( #325 ) from decision/0193-every-served-bundle-is-launched into main
2026-10-03 19:05:12 +00:00
jochen
6d53f9168a
ADR 0193: every bundle the runtime serves is launched, and the runtime knows no language; design 38 WP4d
2026-10-03 21:05:03 +02:00
mesh-admin
6a1fc71a4c
Merge pull request 'Design 38 WP4b: four tools-only modules proven live from the runtime; two delivery traps' ( #324 ) from design/38-wp4b-seven-proven into main
2026-10-03 14:13:40 +00:00
jochen
fb76fb7256
Design 38 WP4b: four tools-only modules proven live from the runtime; two delivery traps
2026-10-03 16:13:32 +02:00
jschoubben
2344bfb69b
ADR 0191: domains are a node's — one internal, one or more public; the roster is the machines
2026-10-03 16:10:38 +02:00
jschoubben
ca8a865e73
ADR 0191: the mesh's names are known by where they were composed, not by their suffix
...
A progressive insight: the rule and its check were stated as a suffix test; the mesh composes both
names of a route and publishes its internal one. The decision is unchanged.
2026-10-03 15:39:07 +02:00
mesh-admin
27c6881287
Merge pull request 'Issue 211: a bundle is built before the toolchain it is compiled in; ADR 0192 progressive insight; design 38 WP4b built, WP4c opened' ( #322 ) from issues/211-and-0192-insight into main
2026-10-03 13:36:43 +00:00
jochen
f8458d6f2c
Issue 211: a bundle is built before the toolchain it is compiled in; ADR 0192 progressive insight; design 38 WP4b built, WP4c opened
2026-10-03 15:36:26 +02:00
mesh-admin
c5778f4366
Merge pull request 'ADR 0192: a tools bundle declares what it is given, and the runtime hands it to that bundle alone; research 020 graduated; design 38 WP4b' ( #321 ) from decision/0192-what-a-bundled-tool-is-given into main
2026-10-03 13:18:40 +00:00
jochen
4c1ad0ed45
ADR 0192: a tools bundle declares what it is given, and the runtime hands it to that bundle alone; research 020 graduated; design 38 WP4b
2026-10-03 15:18:22 +02:00
jschoubben
9873e951a9
Merge pull request 'ADR 0191: the mesh resolves only its own names; a public name resolves publicly' ( #320 ) from decision/0191-the-mesh-resolves-only-its-own-domain into main
2026-10-03 13:16:13 +00:00
jschoubben
e5e6e56ecf
ADR 0191: the mesh's resolver holds only the mesh's own names; a public name resolves publicly
...
Publishing every routed public name at a private address turned ace's LAN-facing resolver into an
outage for non-members: a phone got the control-node's tunnel address for the mail server. Routes
have internal names since 0151 and the proxy certifies public names publicly, so nothing needs the
private answer. Narrows 0066 and 0151; amends connectivity §2 and §5.
2026-10-03 15:11:45 +02:00
mesh-admin
65c30c576a
Merge pull request 'Research 020: what a bundled tool is given; design 38 WP4: fail2ban followed, proven live' ( #319 ) from research/020-what-a-bundled-tool-is-given into main
2026-10-03 13:11:24 +00:00
jochen
ee17cddb74
Research 020: what a bundled tool is given; design 38 WP4: fail2ban followed, proven live
2026-10-03 15:11:08 +02:00
mesh-admin
22e96e5bc7
Merge pull request 'Issue 210 resolved by mesh-host #80 : an unchanged process keeps its record' ( #318 ) from issues/210-resolved into main
2026-10-03 11:56:30 +00:00
jochen
7e464e3b22
Issue 210 resolved by mesh-host #80 : an unchanged process keeps its record
2026-10-03 13:44:49 +02:00
mesh-admin
502763ce5e
Merge pull request 'Issue 209: a bundle's own SDK copy registers into a registry the runtime never reads; design 38 WP4 note' ( #316 ) from issues/209-a-bundles-own-sdk-copy-registers-nowhere into main
2026-10-03 11:20:38 +00:00
jochen
eaae0e2b80
Merge remote-tracking branch 'origin/main' into issues/209-a-bundles-own-sdk-copy-registers-nowhere
2026-10-03 13:20:33 +02:00
mesh-admin
2ee6eab7b9
Merge pull request 'Issue 210: the host re-creates the node's runtime on every reconcile, restarting it every ten minutes' ( #317 ) from issues/210-the-host-re-creates-the-runtime-every-cycle into main
2026-10-03 11:20:27 +00:00
jochen
ce5f85f65e
Design 38 WP4 built and proven live on all four machines; issue 209 proven live
2026-10-03 13:20:12 +02:00
jochen
911125148c
Issue 210: the record of the runtime's process carries no digest; the credential and the unit text are ruled out
2026-10-03 13:13:25 +02:00
jochen
d718a917e5
Issue 210: the host re-creates the node's runtime on every reconcile, restarting it every ten minutes
2026-10-03 13:11:17 +02:00
jochen
a572868333
Issue 209 resolved by mesh-tools #32
2026-10-03 13:07:41 +02:00
jochen
55443b67e6
Design 38 WP4: what the review of mesh-catalog #239 found — the credential goes, iptables is declared, escalation is an unchecked machine fact
2026-10-03 13:00:35 +02:00
jochen
89a202f12e
Issue 209: a bundle's own SDK copy registers into a registry the runtime never reads; design 38 WP4 note
...
Found preparing WP4, before the first module's bundle was loaded beside the runtime's own:
proven with a two-copies probe, located in mesh-tools (node-tools), fixed by mesh-tools #32 .
Design 38 WP4 records it and the two things the package left to the module — escalation
through sudo, and the filter file read from the manifest's path rather than a container env.
2026-10-03 12:46:51 +02:00
mesh-admin
b342c9c3da
Merge pull request 'Issues 203, 206 and 207 resolved by mesh-controller #233 ; 207's diagnosis, with its two questions left open' ( #315 ) from issues/203-206-207-resolved into main
2026-10-03 09:50:56 +00:00
jochen
336b8c9b62
Issues 203, 206 and 207 resolved by mesh-controller #233 ; 207's diagnosis, with its two questions left open
2026-10-03 11:50:20 +02:00
mesh-admin
0c82909845
Merge pull request 'Issues 204 and 205 resolved: mesh-controller #232 and mesh-host #79 merged' ( #314 ) from issues/204-205-resolved into main
2026-10-03 09:46:22 +00:00
jochen
d8a0c1b02f
Issues 204 and 205 resolved: mesh-controller #232 and mesh-host #79 merged
2026-10-03 11:45:19 +02:00
mesh-admin
b232b44f4c
Merge pull request 'Design 18 and ADR 0190: shared build work proven live on all four machines, and the five gaps the switch found' ( #313 ) from design/18-shared-build-work-proven-live into main
2026-10-03 09:44:19 +00:00
jochen
c03f2cd4c6
Design 18 and ADR 0190: shared build work proven live on all four machines, and the five gaps the switch found
2026-10-03 11:43:53 +02:00
mesh-admin
73c4d24024
Merge pull request 'Issues 203–206 diagnosed and located' ( #310 ) from issues/203-206-diagnosed into main
2026-10-03 09:43:00 +00:00
mesh-admin
3372d72da0
Merge pull request 'Issue 208: a seat's worker is made only when the controller starts, so a holder assigned later finds none' ( #312 ) from issues/208-a-holder-assigned-later-finds-no-worker into main
2026-10-03 09:33:28 +00:00
jochen
273b932329
Issue 208: a seat's worker is made only when the controller starts, so a holder assigned later finds none
2026-10-03 11:33:08 +02:00
mesh-admin
f91a3efb6b
Merge pull request 'Issue 207: a re-made worker replayed every ask the stream kept, and the mesh re-registered its past' ( #311 ) from issues/207-a-re-made-worker-replayed-history into main
2026-10-03 09:06:17 +00:00
jochen
2f0ce4ce19
Issue 207: a re-made worker replayed every ask the stream kept, and the mesh re-registered its past
2026-10-03 11:05:40 +02:00
jochen
bf3338898e
Issue 204: diagnosed and located — a declaration was numbered after composing, and a dying sender recorded nothing
2026-10-03 04:03:51 +02:00
jochen
4891cdeac5
Issues 203, 205, 206: diagnosed and located
2026-10-03 03:51:41 +02:00
mesh-admin
733cff4c3c
Merge pull request 'Issue 206: a seat's worker changing type strands its holder, and the build that would fix it' ( #309 ) from issues/206-a-worker-changing-type-under-its-holder into main
2026-10-03 01:46:12 +00:00
jochen
561f26fb34
Issue 206: a seat's worker changing type strands its holder, and the build that would fix it
2026-10-03 03:45:33 +02:00
mesh-admin
d8a58dadcf
Merge pull request 'ADR 0190: a seat's work is shared by its holders, and building is the first such role; design 18 says where a build runs' ( #306 ) from decision/0190-a-seats-work-is-shared-by-its-holders into main
2026-10-03 00:44:27 +00:00
mesh-admin
3f4782cfb4
Merge pull request 'Design 38: WP3 proven live on all four machines; the three issues it found' ( #308 ) from design/38-wp3-proven-live into main
2026-10-03 00:41:47 +00:00
jochen
d076647b5d
Design 38: WP3 proven live on all four machines; the three issues it found
2026-10-03 02:41:24 +02:00
mesh-admin
ae83c5e09b
Merge pull request 'Issues 203–205: what the first node-tools rollout found' ( #307 ) from issues/203-205-what-the-first-node-tools-rollout-found into main
2026-10-03 00:41:07 +00:00
jochen
feeea127e2
Issues 203–205: what the first node-tools rollout found — an unissued credential pushed, a stale declaration during a controller handover, a package resource against a stale database
2026-10-02 23:47:12 +02:00
jochen
76b563e0ce
ADR 0190: the ack-wait race is issue 175
2026-10-02 22:29:53 +02:00