jschoubben
f61f047a5d
Merge pull request 'Issue 102 resolved and verified on the machine; issue 097's orphan was on the host network' ( #94 ) from issues/102-resolved-and-097-worse into main
2026-09-23 22:15:49 +00:00
jschoubben
133e10a738
Issue 102 resolved, verified on the machine with both forwarders gone; 097's orphan was on the host network
...
The addresses follow: the control plane holds the ports the node gave, a recorded build
holds no address at all, and the two forwarders that had been holding the control plane
together are removed. 097's stranded container turned out to be listening on every
interface and connected to the mesh's store — by its own old database, which is the only
reason nothing was at risk.
2026-09-24 00:02:13 +02:00
jschoubben
f3ad60b98c
Issue 103 resolved by mesh-host #22
2026-09-23 23:44:31 +02:00
jschoubben
0c433d51ad
Design 25: the bus on NATS — subjects, streams, accounts as configuration, enrolment, a person's client, the cutover, the beds
...
The architecture ADR 0106 asks for, proposed for review before any code.
2026-09-23 23:42:42 +02:00
jschoubben
c209a575e1
Merge pull request 'ADR 0106: the bus is NATS; issue 104 resolved' ( #92 ) from decide/0106-the-bus-is-nats into main
2026-09-23 21:40:03 +00:00
jschoubben
e022798858
ADR 0106: the bus is NATS — native, built beside the migration, cut over after its core; issue 104 resolved
2026-09-23 23:39:17 +02:00
jschoubben
6f173a7912
Merge pull request 'Issue 108: the registry has no garbage collection, and two doors make it harder to add' ( #91 ) from issues/108-registry-gc into main
2026-09-23 21:32:52 +00:00
jschoubben
73091dcb4c
Issue 108: the registry has no garbage collection, and two doors make it harder to add
2026-09-23 23:32:29 +02:00
jschoubben
f6ec64ee4e
Merge pull request 'Issue 107: a declaration carries no order; rescue on an enrolled node is reconcile, not apply FILE' ( #90 ) from issues/107-declarations-carry-no-order into main
2026-09-23 21:27:24 +00:00
jschoubben
671c2f3881
Issue 107: a declaration carries no order; rescue on an enrolled node is reconcile, not apply FILE
...
Both from the review of the issue-104 fix: a hand-applied file on an enrolled node is
recorded as carried and would remove the foundation, and nothing on the wire orders one
declaration against another.
2026-09-23 23:27:08 +02:00
jschoubben
2445d80565
Merge pull request 'Research 014: the bus on NATS — decide now, build in the lab, cut over once after the core' ( #89 ) from research/014-nats into main
2026-09-23 21:15:22 +00:00
jschoubben
a548b34f5d
Research 014: fix the reference to ADR 0039
2026-09-23 23:14:57 +02:00
jschoubben
b59907ee08
Research 014: the bus on NATS — decide now, build in the lab, cut over once after the core
...
Measured: AMQP is spoken in three places of the mesh's own code and in none of the
sdk or the modules; the predecessor's world is AMQP and retiring. NATS answers every
guarantee the bus relies on, durability via JetStream. Recommended: not underneath
the migration, not after it either — in parallel, one rehearsed rollout.
2026-09-23 23:14:39 +02:00
jschoubben
8638ba3a4f
Merge pull request 'Issues 102–106 and ADR 0105: what the core migration found, and the hub adopting the predecessor's tunnel' ( #88 ) from core/issues-102-106-and-tunnel-adr into main
2026-09-23 20:54:53 +00:00
jschoubben
cb2117f1c4
Issues 102–106 and ADR 0105 from the core migration
...
Two birth-address outages and a registry that would have been the third; a
container that keeps a stale environment after its file changes; a host command
that applied a converged declaration to an adopted node; the hub and the vault
without seats. And the decision the operator made under it all: the hub adopts
the predecessor's tunnel in place, key and peers and range and port.
2026-09-23 22:50:10 +02:00
jschoubben
ee2bdf220c
Merge pull request 'Issue 101: taking a service its neighbours reach by container name cuts them off' ( #87 ) from issues/101-a-service-reached-by-name-loses-its-network into main
2026-09-23 18:14:08 +00:00
jschoubben
61e4e971a4
Issue 101: taking a service reached by container name cuts its neighbours off
...
Found checking the third cutover rather than running it. The first two were safe by
accident — both are reached through a host port, which survives a change of owner.
This is the first constraint found that decides the order of the migration.
2026-09-23 20:13:53 +02:00
jschoubben
f4f58e7c30
Merge pull request 'Issue 100: a secret the mesh mints cannot be the one the service it takes over already uses' ( #86 ) from issues/100-a-minted-secret-cannot-be-the-one-the-service-already-uses into main
2026-09-23 00:54:21 +00:00
jschoubben
157c6edd50
Issue 100: a minted secret cannot be the one the service already uses
...
Found at the second cutover. Carrying a value in works only for a module's own
secrets; a secret answered by the provision is minted, and six catalogue modules
take one that way.
2026-09-23 02:54:09 +02:00
jschoubben
e9e5df36bd
Merge pull request 'Issue 099: a module's image pin ages into a downgrade, and taking it over is where that is discovered' ( #85 ) from issues/099-a-pin-ages-into-a-downgrade into main
2026-09-23 00:48:02 +00:00
jschoubben
9faa985be3
Issue 099: a module's image pin ages into a downgrade
...
Three modules in a row on one machine; the first was found by taking it and cost a
three-minute outage. The runbook's answer is a rule a person must remember, which is
the shape this repository says not to settle for.
2026-09-23 02:47:50 +02:00
jschoubben
cda7a4e348
Merge pull request 'Issue 094 diagnosed and resolved; 096, 097 and 098 opened from what it uncovered' ( #84 ) from issues/094-diagnosis-and-096 into main
2026-09-23 00:37:27 +00:00
jschoubben
668ce3ad62
Issue 094 resolved: a given port names either end and is answered once
...
The first pass answered under both ends, which review showed is the same fault seen
from the other side where two mappings share a number. Verified on the machine: the
forge is back on the port its own configuration has always advertised.
2026-09-23 02:37:07 +02:00
jschoubben
0c8615aa8f
Issue 098: taking a module replaces a configuration nobody compared
...
Found reading the second module's cutover rather than running it: the catalogue's
config drops a rule the machine's has, and no step puts the two side by side.
2026-09-23 02:23:58 +02:00
jschoubben
235b9ea0e5
Issues 096 and 097, and 094 diagnosed: a setting stored where it cannot work, and a resource that changed target
...
094's cause is one blind spot read from two ends, written up in its diagnosis; the fix
answers the first open question and not the other two, which become 096. 097 was found
looking at what the forge's cutover left running.
2026-09-23 02:20:48 +02:00
jschoubben
1b8e5043ee
Merge pull request 'Issues 094 and 095, both found in the first module's cutover' ( #83 ) from issues/094-095-from-the-first-cutover into main
2026-09-22 23:57:48 +00:00
jschoubben
515cb8adc1
Issues 094 and 095, both found in the first module's cutover
2026-09-23 01:57:10 +02:00
jschoubben
0d8b683ad7
Merge pull request 'Research 013: the forge and the registries — a seat answers the wrong question' ( #82 ) from research/013-the-forge-and-the-registries into main
2026-09-23 01:03:10 +02:00
jschoubben
43b55d6664
Research 013: the forge and the registries — a seat answers the wrong question; issues 090 and 085 corrected from the code
2026-09-23 00:38:34 +02:00
jschoubben
6c81ea2204
Merge pull request 'ADR 0104: a provision may be answered by an adapter to the predecessor' ( #81 ) from decide/0104-route-adapter into main
2026-09-22 23:57:54 +02:00
jschoubben
a23ede495e
ADR 0104: a provision may be answered by an adapter to the predecessor; issue 093 located; connectivity says how the proxy hands over
2026-09-22 23:57:38 +02:00
jschoubben
a2323ade2e
Merge pull request 'Issue 093: the successor proxy cannot serve what the predecessor still serves' ( #80 ) from issue/093-proxy-handover into main
2026-09-22 23:57:04 +02:00
jschoubben
d697c6f776
Issue 093: the successor proxy cannot serve what the predecessor still serves, so no web module can migrate one at a time
2026-09-22 23:45:49 +02:00
jschoubben
a7b3f7823b
Issue 092: it happened twice more — the registry's mesh name, and the mesh's own trust naming the default port
2026-09-22 23:37:05 +02:00
jschoubben
cc3af29084
Issue 092: genesis publishes to a registry the container runtime does not yet trust
2026-09-22 22:43:17 +02:00
jschoubben
fb9d3035d4
Issue 091: a module definition carries a machine port, measured across the catalogue
2026-09-22 22:26:14 +02:00
jschoubben
dd81523eab
Merge pull request 'Issue 085 resolved' ( #77 ) from fix/085-resolved into main
2026-09-22 22:00:49 +02:00
jschoubben
5c5821b210
Issue 085 resolved: the packages port is a node setting; two of its open questions stay open
2026-09-22 22:00:38 +02:00
jschoubben
c46c508c03
Merge pull request 'Issues 088, 089 and 090, found fixing 085' ( #76 ) from fix/issue-085-followups into main
2026-09-22 22:00:02 +02:00
jschoubben
1728765fe3
Issues 089 and 090: a contributed route does not follow a moved port; the forge module cannot take over the forge genesis raised
2026-09-22 21:54:35 +02:00
jschoubben
e609ccdbfb
Issue 088: the forge's own address names a port it may not have
2026-09-22 21:41:58 +02:00
jschoubben
60eae92fb1
Merge pull request 'Adoption mode as built: ADRs 0101–0103, issues 084–086' ( #75 ) from feat/adoption-mode into main
2026-09-22 21:02:00 +02:00
jschoubben
7bbbfb158a
ADR 0103: a unit is found when an administrator installed it or the machine uses it
2026-09-22 20:02:18 +02:00
jschoubben
87ae893407
Issue 087: the controller cannot tell that a node's host is too old for what it sends
2026-09-22 19:43:01 +02:00
jschoubben
c74ea2a4a8
Records say what the build does: 0101 names only measured daemons; 0102 adds to lists and keeps what it writes over; 0103 names every held kind, the found-service rule, conflicting found rules, guards, and what of 0100 it replaces; designs 05, 09 and 17 in step; issue 084's diagnosis in its own file
2026-09-22 19:38:16 +02:00
jschoubben
ca1f648973
Issue 086: taking a module narrows a port the predecessor served, without saying so
2026-09-22 19:00:59 +02:00
jschoubben
019184ec0f
Issue 085: the packages port given at genesis is not a setting, and a later module can undo it
2026-09-22 18:17:21 +02:00
jschoubben
213ab898d6
ADR 0103: what an adopted node holds and what its guard refuses; the node host and connectivity designs name 0102 and 0103
2026-09-22 17:52:58 +02:00
jschoubben
84761f0600
ADR 0102: the mesh writes into a shared file, never over it; issue 084 located
2026-09-22 17:46:06 +02:00
jschoubben
1901a90d68
ADR 0101 accepted; raising a mesh names it
2026-09-22 17:43:13 +02:00