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
jschoubben
347bbce633
ADR 0101 proposed: a machine's own resolver does not make it in use, as measured on a fresh machine
2026-09-22 17:38:44 +02:00
jschoubben
6165a7ae02
Issue 084: taking networking on an adopted node restarts every container, and the held runtime file blocks pulling
2026-09-22 17:09:21 +02:00
jschoubben
dfadfd23c0
Merge pull request 'ADR 0100 (proposed): a node in use is adopted before it is converged' ( #74 ) from feat/adoption-mode into main
2026-09-22 16:35:32 +02:00
jschoubben
3d4ab23830
ADR 0100: the machine's own traffic is known by its interface, not its source address
2026-09-22 16:35:25 +02:00
jschoubben
37252f9c3e
ADR 0100: the guard lets the machine itself through; in use is a non-loopback listener; openings say from where; 09 in step with the flip
2026-09-22 16:34:53 +02:00
jschoubben
f3152d827f
ADR 0100 after re-review: the bus and registry stay reachable for enrolment; the mesh guards the store in a table that only refuses; a machine in use defined; the flip refuses while a found container is held; held containers and returning to adopted spelled out
2026-09-22 16:32:37 +02:00