Commit Graph

  • e4dbb49d2f Integration: a node the placement names composes and applies its own module with no controller composition, and again on a changed config value (issue 1126, ADR 0547 §2) jschoubben 2026-10-26 18:51:36 +01:00
  • 02d9d7b053 The node composes its own modules once the catalogue places it: one composer per node drains a mark set by any input's change, the agent applies what it composed when it differs, and a record move waits for a yes (issue 1126, ADR 0547 §2, §3) jschoubben 2026-10-26 18:44:58 +01:00
  • 7fc0ea5478 Pin mesh-sdk feat/1126-nodes-compose 9789c83 (issue 1126) jschoubben 2026-10-26 18:34:35 +01:00
  • 8be1c2ab0d The node agent writes what the machine observes of itself as its record in its own have key, only when it changed (issue 1126, ADR 0555 §3) jschoubben 2026-10-26 18:32:54 +01:00
  • ff9386dccc Merge pull request 'The node-engine runs yielding processes in one capped idle slice (issue 1806, ADR 0553/0554, change A)' (#148) from fix/build-cpu-yields into main mesh-tools 2026-10-26 14:22:54 +00:00
  • bba9081ca1 Merge pull request 'The node-engine moves a running daemon's build aside instead of deleting it (issue 734)' (#147) from fix/daemon-dir-kept into main mesh-tools 2026-10-26 14:16:00 +00:00
  • 65cd7b4787 Retire a daemon's running build instead of deleting it before the restart (issue 734) jschoubben 2026-10-26 15:01:55 +01:00
  • a78239b2aa Pin mesh-sdk at fix/build-cpu-yields' head (ADR 0553, ADR 0554) jschoubben 2026-10-26 14:47:02 +01:00
  • 2ac0c4686a The node-engine holds the node's one build CPU share as its own config (ADR 0553 §3, round 2) jschoubben 2026-10-26 14:40:24 +01:00
  • 5233f7584d Pin mesh-sdk at fix/build-cpu-yields' head (ADR 0553) jschoubben 2026-10-26 14:23:13 +01:00
  • 8858dba25e Merge main into fix/build-cpu-yields jschoubben 2026-10-26 14:22:43 +01:00
  • 9254180cab A yielding process runs in the node's one yielding slice, which holds the shared quota (ADR 0553, issue 1806) jschoubben 2026-10-26 14:21:24 +01:00
  • 94f9aa298c Merge pull request 'The node-engine writes the followed user list into the bus module's have even when it does not apply that module (issue 1945)' (#146) from fix/have-keeps-user-list into main mesh-tools 2026-10-26 12:52:15 +00:00
  • ee9fcaba20 Pin mesh-sdk at fix/build-cpu-yields' head (issue 1806) jschoubben 2026-10-26 13:49:41 +01:00
  • 43f2d6020e Write the bus's user list into a have no apply here says, merged over the key's value jschoubben 2026-10-26 13:38:40 +01:00
  • 6250b1274b A process that yields is written at idle priority under its share of the machine (issue 1806) jschoubben 2026-10-26 13:37:48 +01:00
  • 7f04d12047 Merge pull request 'Bus node: follow the grants part's sealed user list after the operator's take-over, never both sources; hand the vault the loaded hashes (issue 1945)' (#145) from feat/1945-user-list-switch into main mesh-tools 2026-10-26 12:21:55 +00:00
  • e88ddab241 An apply of the bus module waits when the list on the machine cannot be read while the grants part's is followed, so the file is never removed as an orphan (review of the switch, issue 1945) jschoubben 2026-10-26 12:54:06 +01:00
  • 06f70e11ee Bring in the adoption handing; the bus node writes nothing before it heard the switch, retries the key's watch and keeps the follow last heard, and an apply never writes the controller's list while the grants part's is followed (review of the switch, issue 1945) jschoubben 2026-10-26 12:30:07 +01:00
  • 61cec66ba8 gofmt the follower's test (issue 1945) jschoubben 2026-10-26 12:08:37 +01:00
  • 5e2fadce15 Pin mesh-sdk at the group's head 83ee7769 (issue 1945) jschoubben 2026-10-26 12:07:10 +01:00
  • 882e75c954 The bus node follows the grants part's sealed user list from take-over, the controller's otherwise, never both (ADR 0547 clauses 7, 8; issue 1945) jschoubben 2026-10-26 12:06:17 +01:00
  • 1a190090ab The engine states its key again until it hears the vault's key, and at a slow interval after, so a vault delivered after it or a changed vault key is heard (review of the adoption handing, ADR 0547 clause 9) fix/1945-adopt-hashes jschoubben 2026-10-26 12:03:12 +01:00
  • fd381567f4 The bus node hands the loaded list's hashes to the vault, sealed to its key, in the bus module's have (ADR 0547 clause 9, issue 1945) jschoubben 2026-10-26 11:32:36 +01:00
  • 1195cf4597 Merge pull request 'The node-engine retries an apply that met a passing bus error, so a reload does not leave a module failed (issue 1945)' (#144) from fix/apply-retries-transient into main mesh-tools 2026-10-25 22:42:41 +00:00
  • 99285cb080 Retry an apply, a fetch by digest and a have write that met the bus reloading, and keep the cause in the have jschoubben 2026-10-25 23:37:02 +01:00
  • d75c66dc7e Merge pull request 'The bus node writes the newest signed bus user list by itself, without a want (ADR 0547 bridge, issue 1945)' (#143) from fix/1945-user-list-follows into main mesh-tools 2026-10-25 21:16:06 +00:00
  • e196058f6f Merge pull request 'The node-engine wakes the provisioner when an apply lets a file it refused be written (issue 924)' (#142) from fix/provisioner-retries-on-declaration into main mesh-tools 2026-10-25 21:08:52 +00:00
  • 5e71ab6ae6 Count the bus's users from the list a digest names, take only a composition of this node and module, and refuse a list that would lock the mesh out (review of the bridge, ADR 0547 §8) jschoubben 2026-10-25 22:00:05 +01:00
  • 3f02bd7ff6 The bus node writes the bus's user list alone from the newest composition of the bus module, with no want, and says it in the bus module's have (ADR 0547 §8, issue 1945) jschoubben 2026-10-25 21:50:49 +01:00
  • 338797a527 Knock under the apply's lock, and read what is owed first (review of this fix) jschoubben 2026-10-25 21:49:23 +01:00
  • 2c93f79429 Tell the provisioner's client to fill again once a settled apply may let through a write the filling refused (ace, 2026-10-25 21:17) jschoubben 2026-10-25 21:42:41 +01:00
  • 5f16cf507a Merge pull request 'Say a module's health is not yet judged while it changes, and judge it as soon as its change ends (issue 1945)' (#141) from fix/r6-health-unknown into main mesh-tools 2026-10-25 15:04:54 +00:00
  • b32a27c115 Owe a look when a module's change ends unjudged, so a module with nothing long-running is ok within a look of its apply jschoubben 2026-10-25 15:46:05 +01:00
  • c16e625a08 Say a module's health is not yet judged while its change is under way and until a look after it jschoubben 2026-10-25 15:32:59 +01:00
  • 1cdb4d1a29 Say a module found running on its own have again at the agent's start, so its health is this engine's and not an older engine's unknown jschoubben 2026-10-25 15:27:23 +01:00
  • 0dfbe1a179 Merge pull request 'Drop the node's own copy of a resource a module composition declares, and give the kept declaration's filled paths to their modules (issue 1945)' (#140) from fix/r6-own-composition-dupes into main mesh-tools 2026-10-25 13:51:00 +00:00
  • 1bdbf47ffa Leave out the node's own copy only by kind and id, never by a shared target (issue 1945, review) jschoubben 2026-10-25 14:29:06 +01:00
  • 16f84b53da Leave the node's own copy of a module's resource out, and carry the kept declaration's filled paths (issue 1945) jschoubben 2026-10-25 14:10:52 +01:00
  • 57b553ac5a Merge pull request 'Apply the revision of a composition its want names, read from the key's history, when the latest has another digest (issue 1945)' (#139) from fix/r6-want-names-revision into main mesh-tools 2026-10-25 12:30:40 +00:00
  • 11a635796d Bound a key's history read to 10 s and test it on a real bus; the witness test waits for its process to run from its image (issue 1945) jschoubben 2026-10-25 12:51:00 +01:00
  • 8343c4fb36 Apply the revision of a composition key whose digest the want names, from the revisions the bucket keeps (issue 1945) jschoubben 2026-10-25 12:42:20 +01:00
  • 3e3e43de52 Merge pull request 'Never lose the bus to a replace of its own container (issue 1945)' (#138) from fix/r6-bus-replace into main mesh-tools 2026-10-25 11:25:11 +00:00
  • 175fb45c19 Take a container left set aside as the next apply's, and bound an apply to 30 minutes (issue 1945) jschoubben 2026-10-25 12:18:50 +01:00
  • 219169dbd9 Set a running container aside until its replacement runs, and put it back when the replacement does not come up (issue 1945) jschoubben 2026-10-25 12:14:41 +01:00
  • b99d0b45bf Run an apply in a context the bus's loss cannot end, and say why a killed command was killed (issue 1945) jschoubben 2026-10-25 12:09:28 +01:00
  • f06058390c Merge pull request 'Apply again a module whose resources are gone, move a module with nothing to back up, and report ok for a running module with nothing to watch (issue 1944)' (#137) from fix/r6-reapply-missing into main jschoubben 2026-10-25 10:11:19 +00:00
  • 958ccbde3e Say a running module ok once looked at when nothing of it is judged, so mesh-host's canary can be healthy and its other nodes get the new engine (issue 1945) jschoubben 2026-10-25 11:08:10 +01:00
  • 43d1c2456f Apply a module again only for a newly missing resource, leave filled files out of the record check, and say when the applied state cannot be read (issue 1945) jschoubben 2026-10-25 11:04:08 +01:00
  • c46937da04 Apply a module again when the engine holds no record of its resources or its health says one is missing, and move a module with nothing to back up without a backup (issue 1944, issue 1945) jschoubben 2026-10-25 10:59:21 +01:00
  • cf455bc4fe Merge pull request 'Never remove a module's resources while its own composition waits to be applied (issue 1944)' (#136) from fix/r6-node-own-keeps-moved into main jschoubben 2026-10-25 09:23:28 +00:00
  • ecf142e451 Let only a module's wanted or newest composition hold the node's own apply back, never a stale refused one (issue 1945) jschoubben 2026-10-25 02:01:24 +01:00
  • fa9e4483c8 Hold back the node's own apply while a module's composition cannot be read or is refused, naming it (issue 1944, issue 1945) jschoubben 2026-10-25 02:56:20 +02:00
  • e62c32c8c3 Leave a record another module's composition now holds, whatever its type, instead of removing it in the node's own apply; a removed module holds nothing back (issue 1944, issue 1945) jschoubben 2026-10-25 02:54:58 +02:00
  • 2bfde7d659 Hold out a module whose own composition waits to be applied, so the node's own apply never removes the resources it moved there (issue 1944, issue 1945) jschoubben 2026-10-25 02:52:10 +02:00
  • db06feed2e Merge pull request 'Refuse an apply that would write a provisioner file empty, naming the file (issue 1944)' (#135) from fix/r6-node-composition into main jschoubben 2026-10-25 00:17:56 +00:00
  • 4e6b756bd2 Refuse an apply that would write a provisioner's file empty, read the node's own filled paths, and name the node's own composition when its apply fails (issue 1944, issue 1945) jschoubben 2026-10-25 01:49:00 +02:00
  • b833d09d28 Merge pull request 'R6: the node-engine applies from its wants and signed compositions, one module at a time; operator-signers (issue 1944)' (#134) from feat/r6 into main jschoubben 2026-10-24 23:17:39 +00:00
  • 81758b24a8 Pin mesh-sdk to feat/r6 748c564, which carries main's composer (issue 1943) jschoubben 2026-10-24 23:06:00 +02:00
  • 25ad5ce42c Merge remote-tracking branch 'origin/main' into feat/r6 jschoubben 2026-10-24 23:00:09 +02:00
  • 285395d523 Merge pull request 'R4g finish: merge-check.sh gone, reads-outside markers (issues 1295, 1935)' (#133) from feat/r4g-finish into main jschoubben 2026-10-24 20:57:23 +00:00
  • b47df31834 Pin mesh-sdk to d7a9b96 jschoubben 2026-10-24 21:18:33 +02:00
  • fd05c8235d Pin mesh-sdk to 7f9cc0e jschoubben 2026-10-24 20:43:47 +02:00
  • 98d1f165b7 Pin mesh-sdk to e45bdc0 jschoubben 2026-10-24 20:22:00 +02:00
  • 332d8f161b The carried genesis template no longer lists the controller's plan-moved event jschoubben 2026-10-24 18:32:58 +02:00
  • 5088755e5e gofmt jschoubben 2026-10-24 18:28:22 +02:00
  • e72c682450 Pin mesh-sdk to a523a8c jschoubben 2026-10-24 18:18:06 +02:00
  • be5f31ce66 What runs is the agent's compositions plus the kept declaration's rest: health, filling, take act, directories and the others held out of an apply read it; a restart trusts the node-engine's own haves; the bed tests run off Arch (review round 1) jschoubben 2026-10-24 18:13:40 +02:00
  • 67db003813 Pin mesh-sdk to the head of feat/r6 (5da87a0) jschoubben 2026-10-24 17:50:20 +02:00
  • e5a06cc73d The node agent waits for a backup's end on the holder's event, not by polling; the manifest consumes it (R6-A A5) jschoubben 2026-10-24 17:03:30 +02:00
  • 20d0998cdd The operator's public keys reach the node as the file operator-keys, fed by the node-engine's setting operator-signers (ADR 0539 clause 3) jschoubben 2026-10-24 16:57:15 +02:00
  • 83f16cff8d apply FILE is no hand path: mesh-compose and a want are (ADR 0539 clause 10); genesis keeps the carried bundle jschoubben 2026-10-24 16:55:23 +02:00
  • 96d0322498 The node-engine reports reads-wants; a failed apply is said; the have's fingerprint and digest follow its health (R6-A A6) jschoubben 2026-10-24 16:43:26 +02:00
  • b2003e7a38 A composition is applied only when the controller or the operator signed it; the node agent's integration tests on an embedded bus (R6-A A9, A1, A5) jschoubben 2026-10-24 16:42:11 +02:00
  • 3303797bfb The node agent runs in the node-engine: watches the wants and compositions on the link, applies one module's composition, asks the backup, writes the haves (R6-A A1, A5, A6) jschoubben 2026-10-24 16:39:51 +02:00
  • d5dd7761c6 The node agent: follows the wants and the node's compositions, applies one module at a time, backs a data module up first, holds it on a failed backup (R6-A A1, A2, A5, A6) jschoubben 2026-10-24 16:36:21 +02:00
  • 5f5f37b0b2 Pin mesh-sdk to feat/r6 S1-S3 (d6cef58): the composition bucket, the want's composition and backup answer, the have's composition and held phase jschoubben 2026-10-24 16:31:20 +02:00
  • c30b86ae22 Proved: the evidence is a have under the running build (comment) jschoubben 2026-10-24 16:26:39 +02:00
  • 1598156752 The node-engine hears no declaration: the queue, orders, put-backs, unsaid, numbers and news go; a session says the facts in the node-engine's own order, and the first have proves a build (R6-A A7, A8) jschoubben 2026-10-24 16:25:11 +02:00
  • e2b6f37168 Apply one module at a time: a scope of the module and what the others hold, and an owner record, so a removal is the module's own (R6-A A3, A4) jschoubben 2026-10-24 16:16:32 +02:00
  • 13bdcb694b Mark the packages whose tests read files outside their directory, found by the review (issue 1935) jschoubben 2026-10-24 04:39:01 +02:00
  • 89ebd0eefe Merge remote-tracking branch 'origin/feat/r4g-finish-1935' into HEAD jschoubben 2026-10-24 04:26:19 +02:00
  • b4f6537f80 Mark the packages whose tests read files outside their directory, so mesh-build-go never keeps their verdict (issue 1935) feat/r4g-finish-1935 jschoubben 2026-10-24 04:01:02 +02:00
  • 7618f661ea Fail, not skip, when the checker places no controller beside the node-engine (issue 1295) jschoubben 2026-10-24 03:43:49 +02:00
  • 3c3628c0ce Merge pull request 'R4g (mesh-host): merge-check.sh goes; the checker judges the repository (design 47)' (#132) from feat/r4g into main jschoubben 2026-10-23 17:50:55 +00:00
  • 4b4bb09a05 Make the apply tests fit the checker's isolated step: accept any who in the refused line, skip aloud where no group can be set (issue 1919, R4g) jschoubben 2026-10-23 18:54:53 +02:00
  • 11b0a1fb29 Skip aloud the controller's step-nine check where the running checker places no controller (issue 1295, R4g) jschoubben 2026-10-23 18:35:32 +02:00
  • 6ea77844d6 Judge the other genesis modules' toolchains; set aside only build-agent (issue 1152, R4g) jschoubben 2026-10-23 18:20:50 +02:00
  • 2633573012 Skip aloud the tests whose subject R4g removes: genesis's build agent (issue 1152) jschoubben 2026-10-23 18:20:11 +02:00
  • 976c9998d6 Delete merge-check.sh; the checker's levels run what it ran (issue 1295, S3; ADR 0529) jschoubben 2026-10-23 15:26:03 +02:00
  • 48c3e3834c Merge pull request 'Take a root-made directory in the mesh's own tree, and hold a container until the file it mounts exists (issue 1873)' (#131) from fix/1873-mesh-tree-dirs into main mesh-tools 2026-10-22 20:41:08 +00:00
  • 0d12fb11a4 Make no container before a file it mounts is there, and clear the empty directory a runtime left at a file's path (issue 1873) jschoubben 2026-10-22 22:29:39 +02:00
  • 03b9c47af4 Judge the mesh's tree by where a path leads, not only by its text (issue 1873, review) jschoubben 2026-10-22 22:27:45 +02:00
  • cdbff1777e Take a directory in the mesh's own tree that the engine's account owns as the mesh's, not as found (issue 1873) jschoubben 2026-10-22 22:23:04 +02:00
  • 59e6a6fa2a Merge pull request 'Write the store's superuser secret where the postgres module now keeps it, and read the bus's release from its upstream image (issues 1873, 1875)' (#130) from fix/1873-system-state-dirs into main mesh-tools 2026-10-22 20:04:32 +00:00
  • 8c0bb9d453 Read the bus's release from the nats module's pinned server image, not a NATS_BASE build argument (issue 1875) jschoubben 2026-10-22 21:46:34 +02:00
  • de809d7e0a Keep the store's superuser file in the postgres module's own directory, not in /var/lib/postgres (issue 1873) jschoubben 2026-10-22 21:36:38 +02:00
  • 4065b45ae8 Merge pull request 'Have a replacement image before removing a running container (issue 1742)' (#129) from fix/1732-held-moves-asked into main mesh-tools 2026-10-21 19:07:56 +00:00
  • 09c77d57b8 Have a replacement container's image before removing the running one, so an unobtainable image leaves the service up (issue 1742) jschoubben 2026-10-21 19:16:32 +02:00
  • c231d1031f Merge pull request 'Read a declared file from the node's own object bucket, declaration-files-<node> (issue 1695, ADR 0488)' (#128) from feat/1696-declaration-files into main mesh-tools 2026-10-21 16:31:25 +00:00