f03e7b33c9
Merge pull request 'The controller may ask any module's tool' (#117) from fix/the-controller-may-ask-a-tool into main
main
mesh-admin2026-09-28 02:21:26 +00:00
94dd49a968
Merge pull request 'A module serves every tool under its own name, and may answer' (#116) from fix/a-module-serves-its-own-namespace into main
mesh-admin2026-09-28 02:14:52 +00:00
220b79f5cd
Merge pull request 'rollout check dials the bus the way the mesh does' (#115) from fix/the-check-dials-as-the-mesh-does into main
mesh-admin2026-09-28 02:05:35 +00:00
0ab9b86f0a
Merge pull request 'An edge is recorded by path, like the artifact it points at' (#114) from fix/an-edge-is-recorded-by-path into main
mesh-admin2026-09-28 01:52:10 +00:00
c74d990cee
Merge pull request 'A build records the bases it was handed, and the mesh reads its edges from builds' (#113) from feat/build-edges-are-recorded into main
mesh-admin2026-09-28 01:51:16 +00:00
aab6ded41b
Merge pull request 'One bus: the AMQP transport is gone from the controller' (#112) from feat/one-bus into main
mesh-admin2026-09-28 01:36:27 +00:00
30362118a1
Merge pull request 'The controller follows the subject it decodes' (#111) from fix/the-controller-follows-what-it-decodes into main
mesh-admin2026-09-28 01:15:18 +00:00
12ed35e87d
Merge pull request 'A merge on the forge builds what it moved, bases first' (#110) from feat/a-merge-on-the-forge-builds-what-it-moved into main
mesh-admin2026-09-28 00:59:04 +00:00
0547316cf2
Merge pull request 'rollout hand: a machine's membership, minted afresh and handed to an operator once' (#109) from feat/rollout-hand into main
mesh-admin2026-09-28 00:40:25 +00:00
9fe9b5349c
Merge pull request 'A store row keeps its seat's protocol, and a holder may take work from its queue' (#108) from fix/store-seats-keep-their-protocol into main
feat/rollout-hand
jschoubben2026-09-28 00:09:28 +00:00
d1e488efaf
Merge pull request 'A store row keeps its seat's protocol, and a holder may take work from its queue' (#108) from fix/store-seats-keep-their-protocol into main
jschoubben2026-09-28 00:09:28 +00:00
7efcccd013
Merge pull request 'The build machine takes work on the bus its credential names, and the work queue has a taker' (#107) from feat/the-build-machine-takes-work-on-nats into main
jschoubben2026-09-27 23:59:56 +00:00
5698dda11f
Merge pull request 'A principal may hear what its consumer delivers' (#106) from fix/a-principal-may-hear-its-consumer into main
jschoubben2026-09-27 23:47:29 +00:00
e2ee0dfe98
Merge pull request 'The bus account has JetStream, and the control plane's client has its own inbox' (#105) from fix/the-bus-account-has-jetstream into main
jschoubben2026-09-27 23:40:38 +00:00
77643aa3f4
Merge pull request 'The control plane pins the bus's certificate, and keeps its password out of errors' (#104) from fix/the-controller-pins-the-bus-certificate into main
jschoubben2026-09-27 23:35:56 +00:00
c37018fdd2
Merge pull request 'The control plane serves and pushes on the bus it is told to' (#103) from feat/the-controller-serves-on-nats into main
jschoubben2026-09-27 23:30:52 +00:00
40f5e9a41c
Merge pull request 'A machine may bind its consumer' (#102) from fix/a-node-may-bind-its-consumer into main
jschoubben2026-09-27 23:18:20 +00:00
aa2d0b51ea
Golden: a machine's user may bind its consumer, ack, and hear its inbox
jschoubben2026-09-28 01:17:15 +02:00
64d154d9d7
A machine may bind its consumer and hear the answer
jschoubben2026-09-28 01:16:46 +02:00
ffa390f916
Merge pull request 'The mint leaves the control plane's old-bus secret alone' (#101) from fix/mint-leaves-the-control-planes-old-secret-alone into main
jschoubben2026-09-27 23:08:35 +00:00
386ae676ca
Merge pull request 'The control plane mounts the bus secret it reads' (#100) from fix/the-controller-mounts-its-bus-secret into main
jschoubben2026-09-27 23:03:42 +00:00
83671fae5f
Merge pull request 'The network map resolves each machine with the seat holders on record' (#99) from fix/the-network-map-knows-the-holders into main
jschoubben2026-09-27 22:56:55 +00:00
e06fc1ed16
Merge pull request 'The control plane speaks the new bus' (#98) from switch/the-controller-speaks-nats into main
jschoubben2026-09-27 22:38:27 +00:00
13d7c5c5dd
Merge pull request 'The mint names the bus by bare host, and can mint again' (#97) from fix/mint-bare-host-and-again into main
jschoubben2026-09-27 22:37:36 +00:00
bd10e2c695
Merge pull request 'The mint finds the bus on the hub' (#96) from fix/mint-finds-the-bus-on-the-hub into main
jschoubben2026-09-27 22:34:41 +00:00
ad2eed2f71
Merge pull request 'The move mints every credential and tells each machine its membership' (#95) from feat/the-move-mints-and-delivers into main
jschoubben2026-09-27 22:30:58 +00:00
337aaea123
Merge pull request 'The first handover records the standing holder without re-judging it' (#93) from fix/record-the-standing-holder into main
jschoubben2026-09-27 21:35:08 +00:00
ae7fb520d7
Merge pull request 'AMQP is not a provision: the bus seat delivers the bus, and the word is refused' (#92) from feat/amqp-is-not-a-provision into main
jschoubben2026-09-27 21:30:09 +00:00
33c4e4be34
Merge pull request 'A seat is handed over as one act, and the holder is on record' (#91) from feat/seat-handover into main
jschoubben2026-09-27 21:22:50 +00:00
8d52a2cfb0
Merge pull request 'The move ends with the old broker going, not staying' (#90) from fix/rollout-retires-the-old-broker into main
jschoubben2026-09-27 21:05:47 +00:00
4e4481b6f2
Merge pull request 'The store owns the seat set, so only the control plane may judge a claim' (#89) from fix/the-store-owns-the-seat-set into main
jschoubben2026-09-27 20:00:05 +00:00
b244a768a3
Merge pull request 'The Go base has to be 1.26: the NATS client requires it' (#88) from fix/go-126-base into main
jschoubben2026-09-27 19:00:32 +00:00
f6a93fe74c
Merge pull request 'The bus on NATS: both transports behind seams, and the rollout switch' (#87) from feat/nats-genesis into main
jschoubben2026-09-27 17:36:41 +00:00
dded086b54rollout check: whether this mesh could move its bus, and what is missing
jschoubben2026-09-27 17:59:01 +02:00
e7b5100324
Merge pull request 'The mesh owns the operator's ~/.ssh: account fact + home-scoped resources (to-be 29)' (#86) from feat/to-be-29-mesh-owns-ssh into main
jschoubben2026-09-27 15:51:55 +00:00
8ceec32692
The mesh owns the operator's ~/.ssh: account fact + home-scoped resources (to-be 29)
jschoubben2026-09-27 17:50:56 +02:00
5fcde512bc
A build is announced under both names on the old bus, or merging breaks the live mesh
jschoubben2026-09-27 17:39:39 +02:00
e5007a7daa
The user list is composed before anything moves onto the bus
jschoubben2026-09-27 17:33:52 +02:00
cb77f35a27
A module may watch a role's events, and the catch-up turns out to be unnecessary
jschoubben2026-09-27 17:22:30 +02:00
71dbca6392
Merge pull request 'A module declares its fail2ban jail; mesh composes per node (to-be 31 mechanism)' (#85) from feat/a-module-declares-its-jail into main
jschoubben2026-09-27 15:21:03 +00:00
47d412e13f
A module declares its fail2ban jail; the mesh composes them per node (to-be 31)
jschoubben2026-09-27 17:20:50 +02:00
53e8f5bdd8
A person may be issued, listed and revoked
jschoubben2026-09-27 17:07:19 +02:00
6ecd631b3e
Merge pull request 'A module can name the mesh's range: ${machine:mesh-range}' (#84) from feat/machine-names-the-mesh-range into main
jschoubben2026-09-27 14:52:23 +00:00
19d2725c13
A module can name the mesh's range: ${machine:mesh-range} (novox/hq ADR 0112)
jschoubben2026-09-27 16:52:00 +02:00
8e2824201a
Genesis can raise a mesh on the new bus, and the carried user list is checked against the composer
jschoubben2026-09-27 16:39:19 +02:00
75dab209d7
Merge pull request 'Seats keep their former names — a rename is one DB op (ADR 0122, phase 2)' (#83) from feat/seats-rename-is-a-db-op into main
jschoubben2026-09-27 14:34:45 +00:00
6da9a5478b
Seats keep their former names, so a rename breaks nothing (ADR 0122, phase 2)
jschoubben2026-09-27 16:32:22 +02:00
ff51b329f6
Merge pull request 'Seats are data the controller owns, loaded from its store (ADR 0122, phase 1)' (#82) from feat/seats-are-data into main
jschoubben2026-09-27 14:05:40 +00:00
2ec0fd218b
Seats are data the controller owns, loaded from its store (ADR 0122, phase 1)
jschoubben2026-09-27 16:04:44 +02:00
e4e960ec1c
A build is work submitted to a role, on both buses
jschoubben2026-09-27 16:01:53 +02:00
cc69737934
The agreement check knows the mesh's own roles, and was passing vacuously without them
jschoubben2026-09-27 15:37:21 +02:00
0c83ecf1b5
The mesh's own roles carry a protocol, and the build branch retires
jschoubben2026-09-27 15:34:44 +02:00
05ff6065d0
Event names are checked now, per manifest and across the catalogue
jschoubben2026-09-27 14:43:16 +02:00
a7df0fc62f
Merge pull request 'Name system seats by scope; let a module define its own (ADR 0121)' (#81) from feat/system-seats-named-by-scope into main
jschoubben2026-09-27 12:32:27 +00:00
1c56210530
Name system seats by scope; let a module define its own (ADR 0121)
jschoubben2026-09-27 14:30:56 +02:00
d65c37caad
The controller could not answer an enrolment, and a probe on an open server said it could
jschoubben2026-09-27 14:13:52 +02:00
eb72ec36ba
1.7 finished: minting, the file delivered, and a test flake I caused
jschoubben2026-09-27 03:19:41 +02:00
4de10e32e3
The bus's objects are raised on every start, and one switch says which bus
jschoubben2026-09-27 02:59:05 +02:00
f8ab9f2dcf
The mesh composes the accounts; the module owns its server
jschoubben2026-09-27 02:50:23 +02:00
ccf50b1269
Merge pull request 'Facts carry the format as a template, so the control plane holds none (ADR 0120)' (#80) from feat/roster-facts-are-templates into main
jschoubben2026-09-26 23:51:23 +00:00
a6d89e3f73
Reconcile with hq 128: hosts template is the region form, node-names is shared
jschoubben2026-09-27 01:50:11 +02:00
ee1b8ffe24
1.7, second half: the user list read out of the mesh's records
jschoubben2026-09-27 01:49:09 +02:00
0560c792d8
1.7, first half: the mesh can say who its bus users are, and hold their keys
jschoubben2026-09-27 01:44:53 +02:00
966c5ddad3
Merge remote-tracking branch 'origin/main' into feat/roster-facts-are-templates
jschoubben2026-09-27 01:41:23 +02:00
b36f822cb6
Facts carry the format as a template, so the control plane holds none (ADR 0120)
jschoubben2026-09-27 01:33:20 +02:00
7180a273a2
The enrolment user is per token, and it has an inbox
jschoubben2026-09-27 01:31:34 +02:00
e65b3950cc
A node's declaration consumer, which only the mesh can make
jschoubben2026-09-27 01:24:46 +02:00
a0e09695e5
Merge pull request 'The uplink seat (ADR 0117), and the mesh's names written into the hosts file, not over it (hq 128)' (#79) from feat/the-uplink-seat-and-the-hosts-region into main
jschoubben2026-09-26 23:00:19 +00:00
88bef39952
The consume side on NATS, and the window held by the server
jschoubben2026-09-27 00:53:33 +02:00
06cf3c04e5
The consume side behind a seam, and the window wiring into the loop
jschoubben2026-09-27 00:44:16 +02:00