Commit Graph

  • d0fed5b982 Merge pull request 'The forge's own address follows the port the node gave it (hq issue 088)' (#40) from feat/forge-address into main jschoubben 2026-09-22 23:29:47 +02:00
  • cf30d4b3d0 The forge's sidecar dials the port the machine put the forge on (hq issue 088) jschoubben 2026-09-22 22:36:34 +02:00
  • 5706c00566 Merge pull request 'The builder's package binding is settable per node (hq issue 085)' (#39) from feat/packages-port into main jschoubben 2026-09-22 21:59:57 +02:00
  • b2e29871fd Protect the address the builder sends its registry password to jschoubben 2026-09-22 21:56:51 +02:00
  • d63f006cb8 The builder's package binding takes its port from the node, not from the manifest jschoubben 2026-09-22 21:39:54 +02:00
  • 6e88982498 Merge pull request 'Adoption mode: guards, and a filter unit that never flushes the ruleset (hq ADR 0100, 0103)' (#38) from feat/adoption-mode into main jschoubben 2026-09-22 21:01:56 +02:00
  • 90104d0818 Reload the filter on a rule change rather than restart it, so the node is never unfiltered in between (hq ADR 0102) jschoubben 2026-09-22 19:47:43 +02:00
  • 84012fab2e Make the stock nftables unit's stop delete only the mesh's table on nodes that still have it enabled (hq ADR 0100) jschoubben 2026-09-22 18:06:15 +02:00
  • 0c37d7389d Guard the store and management ports on adopted nodes, and load the filter through a unit that never flushes the ruleset (hq ADR 0100) jschoubben 2026-09-22 17:32:26 +02:00
  • f4097b3c57 Merge pull request 'n8n and baserow no longer take the shared cache (issue 081)' (#37) from multiple-fixes into main jschoubben 2026-09-22 13:53:14 +02:00
  • 431627c510 baserow: its data directory is 0755, as the image ships it — the cache it runs for itself does so as another user, who must reach its own directory beneath (issue 081) jschoubben 2026-09-22 13:46:01 +02:00
  • 93634041db baserow: its texts no longer name the shared cache it stopped taking jschoubben 2026-09-22 12:34:58 +02:00
  • 24cbac816d n8n and baserow no longer take the shared cache: neither can keep its keys and channels under the login it is granted — baserow runs its own, n8n in its shipped mode needs none (novox/hq issue 081) jschoubben 2026-09-22 12:26:33 +02:00
  • b2a48558ea Merge pull request 'redis: a consumer's ACL loses the dangerous category (issue 080)' (#36) from multiple-fixes into main jschoubben 2026-09-22 02:19:14 +02:00
  • c71bbd497f redis: INFO is allowed back — client libraries ask it at connect, and it reads nothing a consumer keeps jschoubben 2026-09-22 02:03:23 +02:00
  • 421f4d8577 redis: a consumer's ACL loses the dangerous category — a key pattern does not confine FLUSHALL (novox/hq issue 080) jschoubben 2026-09-22 01:39:29 +02:00
  • 54af5e8536 Merge pull request 'route-proxy: the trust gate names the binding it reads; the server names the gate (ADR 0099)' (#35) from multiple-fixes into main jschoubben 2026-09-21 23:58:48 +02:00
  • 6fb2003b8d route-proxy: the trust gate names the binding it reads and runs again when the authority moved; the server follows it (ADR 0099) jschoubben 2026-09-21 23:25:06 +02:00
  • 64d62978f6 Merge pull request 'Multiple fixes: five modules keep their secrets from the vault (ADR 0094), the authority makes its own root (076), the builder on the host network, route-proxy declares its bases' (#34) from multiple-fixes into main jschoubben 2026-09-21 22:58:24 +02:00
  • ac651c7ac2 route-proxy: the trust container names its artifact jschoubben 2026-09-21 22:55:35 +02:00
  • 1c964cd571 route-proxy: the trust gate retries with a timeout and checks for a certificate; its images are declared artifacts (ADRs 0096, 0097, 0098) jschoubben 2026-09-21 22:53:29 +02:00
  • 28b8feebfc The authority makes its own root at first start, and the proxy fetches it through a gate jschoubben 2026-09-21 22:26:28 +02:00
  • 82256fcdb0 The builder runs on the machine's network: it copies images into the mesh's registry itself now jschoubben 2026-09-21 22:24:43 +02:00
  • facd41806d Five modules keep their own secrets from the vault, under local names; route-proxy declares its bases jschoubben 2026-09-21 22:16:10 +02:00
  • 126969a829 Merge pull request 'The controller's manifest lives in the controller's repository, not here (hq issue 072)' (#33) from feat/one-controller-manifest into main jschoubben 2026-09-21 19:23:18 +02:00
  • a514d9827c The controller's manifest lives in the controller's repository, not here jschoubben 2026-09-21 15:17:47 +02:00
  • e0d34723f7 Merge pull request 'Six modules take their secrets from files; the rest say precisely why not (issue 041)' (#32) from feat/migration-blockers into main jschoubben 2026-09-21 13:48:46 +02:00
  • 1289510538 mongodb names its secrets' owner: the image drops to its own user before it reads the password file jschoubben 2026-09-21 13:43:41 +02:00
  • 50b639ff52 The env-file references to files the conversion removed go with them jschoubben 2026-09-21 12:43:41 +02:00
  • 0b2f3bfbd3 grafana stays a declared exception until a bed exercises its admin password jschoubben 2026-09-21 12:31:59 +02:00
  • 1a28e5aec6 Six modules take their secrets from files; the rest say precisely why not jschoubben 2026-09-21 12:29:25 +02:00
  • db597bcb71 Merge pull request 'The controller reads its credentials from files; every other env-file secret says why' (#31) from feat/secret-not-in-environment into main jschoubben 2026-09-21 11:59:08 +02:00
  • 8647ea6671 The control plane's secret files belong to its own account (secrets-owner) jschoubben 2026-09-21 10:19:00 +02:00
  • 32dec5f0c2 The controller reads its credentials from files; every other env-file secret says why jschoubben 2026-09-21 10:10:33 +02:00
  • d03520f4ed Merge pull request 'Add mesh-vault; redis, postgres and lavinmq take their passwords from files' (#30) from feat/secrets-vault into main jschoubben 2026-09-21 10:03:12 +02:00
  • 82e513a360 Add the mesh-vault module; redis takes its password from it jschoubben 2026-09-20 23:08:28 +02:00
  • 8105ab6141 Merge pull request 'minio: pull image from quay.io (docker.io denies anonymous pulls)' (#29) from fix/minio-pull-from-quay into main jschoubben 2026-09-20 22:03:50 +02:00
  • 2ef7eb2a27 minio: pull image from quay.io (docker.io denies anonymous pulls) jschoubben 2026-09-20 22:01:20 +02:00
  • 4ce9de6f3a Merge pull request 'Correct lavinmq Dockerfile's stale MESH_TOOL_MODULES comment (061 review)' (#28) from fix/lavinmq-dockerfile-comment into main jschoubben 2026-09-20 13:42:03 +02:00
  • 17243b72df Correct lavinmq Dockerfile's stale MESH_TOOL_MODULES comment (061 review) jschoubben 2026-09-20 13:32:47 +02:00
  • 43c9c973e2 Merge pull request 'The mesh builds its own catalogue (issue 060)' (#27) from feat/the-mesh-builds-its-catalogue into main jschoubben 2026-09-20 12:53:04 +02:00
  • 965c58fe44 Defer minio from the buildable set too (issue 060) jschoubben 2026-09-18 02:51:09 +02:00
  • b8d390cbae Defer model-usage and anthropic-manager from the buildable set (issue 060) jschoubben 2026-09-18 02:48:09 +02:00
  • e362fb951c The rest of the catalogue becomes mesh-buildable (issue 060, batch 2) jschoubben 2026-09-18 02:14:09 +02:00
  • 591b26f712 Ten migration-critical modules become mesh-buildable (issue 060) jschoubben 2026-09-18 02:02:21 +02:00
  • 83a78b4fb3 Merge pull request 'Refs name the registry; lavinmq's runtime runs its provisioner (042/048/061)' (#26) from feat/refs-name-the-registry into main jschoubben 2026-09-18 01:00:43 +02:00
  • 1891b09c65 lavinmq's runtime container runs its provisioner jschoubben 2026-09-17 23:54:56 +02:00
  • 2dab3069d2 The builder names the registry by the binding again (ADR 0082) jschoubben 2026-09-17 23:05:25 +02:00
  • 728922a016 Merge pull request 'Foundation modules claim a mesh-scoped seat named after their server' (#25) from multi-node/foundation-seats into main jschoubben 2026-09-17 02:15:59 +02:00
  • fccc1e6552 The foundation modules claim a mesh-scoped seat named after their server jschoubben 2026-09-17 02:13:26 +02:00
  • a24362b74b Merge pull request 'The adopted broker declares its amqps bus port (5671) in listens' (#24) from fix/broker-declares-amqps-port into main jschoubben 2026-09-17 01:44:47 +02:00
  • 06fd436eca The adopted broker declares its amqps bus port (5671) in listens jschoubben 2026-09-17 01:01:54 +02:00
  • f155493926 Merge pull request 'Foundation modules adopted, and the mesh-controller/foundation rename' (#23) from feat/foundation-and-rename into main jschoubben 2026-09-16 23:22:47 +02:00
  • 5e4dc3748e Phase 3.2: the lavinmq module adopts mesh-broker instead of raising its own jschoubben 2026-09-16 21:24:13 +02:00
  • a63ef3d954 Phase 3.1: the postgres module adopts mesh-store instead of raising its own jschoubben 2026-09-16 20:32:12 +02:00
  • 41637befff Rename mesh-control -> mesh-controller, substrate -> foundation jschoubben 2026-09-16 18:40:40 +02:00
  • b520bd1825 The builder's workspace is a same-path bind, so sibling builds see the clone jschoubben 2026-09-16 16:02:26 +02:00
  • 065ddd6d69 gitea provides the package registry; the builder gets its npm credential jschoubben 2026-09-16 10:27:26 +02:00
  • abcba14edd Review: four manifests said something stale or nothing at all jschoubben 2026-09-15 22:03:33 +02:00
  • 1cb33732f2 Move amqp-ping's source, so the mesh has something to notice jschoubben 2026-09-15 21:03:43 +02:00
  • 71bbc7dab0 Name the two modules after their software: nftables and distribution jschoubben 2026-09-15 20:51:00 +02:00
  • bf1f67a485 listens names the port the software uses; serves is the mesh's to fill jschoubben 2026-09-15 12:59:00 +02:00
  • 9a41add136 showcase: a module that exercises everything a module can be jschoubben 2026-09-15 12:58:30 +02:00
  • c4e3ebee86 Move amqp-ping's source, so the mesh has something to notice jschoubben 2026-09-15 01:42:57 +02:00
  • d2dce34716 The catalogue asks on start, and registers a replay as history jschoubben 2026-09-15 01:26:58 +02:00
  • 4aa54fbbe0 Move amqp-ping's source, so the mesh has something to notice jschoubben 2026-09-14 23:42:52 +02:00
  • e0c92195d4 The builder names the registry by loopback until there is a certificate jschoubben 2026-09-14 22:38:05 +02:00
  • af1e3afa49 amqp-ping declares a broker secret it never mounts jschoubben 2026-09-14 21:20:48 +02:00
  • c61c7f74f9 Convert lavinmq: it is not only a broker, so it has to be built jschoubben 2026-09-14 21:05:10 +02:00
  • 030509558c Name the registry where every machine can reach it, not where the builder stands jschoubben 2026-09-14 21:00:48 +02:00
  • 680b91546c Migrate audit-logger: it builds itself now jschoubben 2026-09-14 12:58:30 +02:00
  • 071afc1e2c Merge pull request 'Modules compile in the toolchain and ship on the runtime' (#22) from feat/build-and-run-are-two-images into main jschoubben 2026-09-14 02:02:42 +02:00
  • cf116a4932 Modules compile in the toolchain and ship on the runtime jschoubben 2026-09-14 01:57:06 +02:00
  • 5ea88b149b The three modules name their base rather than pinning a copy of it jschoubben 2026-09-13 23:53:22 +02:00
  • 720e3706b2 Merge pull request 'The catalogue holds the module graph, and the modules that make it build themselves' (#21) from feat/the-catalogue-module into main jschoubben 2026-09-13 11:17:10 +02:00
  • 729582cc55 Remove what was only there to move a commit jschoubben 2026-09-13 11:15:33 +02:00
  • 21ad008879 Stale means the artifact moved, not the commit jschoubben 2026-09-13 02:48:21 +02:00
  • 87243bc524 Every module stands on a base the mesh built jschoubben 2026-09-13 02:45:37 +02:00
  • 1d0d9a3894 Name the module in its own runtime, and move the artifact with it jschoubben 2026-09-13 01:58:48 +02:00
  • 358c7d5a2d Move postgres's commit, to watch the mesh roll it out by itself jschoubben 2026-09-13 01:57:00 +02:00
  • d5300120d6 Move amqp-ping's commit, to see what the catalogue announces jschoubben 2026-09-13 01:49:48 +02:00
  • c80d9d0f7c The graph holds what a module declares, not only what it was built on jschoubben 2026-09-13 01:44:56 +02:00
  • 2d2ca80e3b Index the edge after the column that carries it exists jschoubben 2026-09-13 01:41:23 +02:00
  • f15c814145 A build edge names an artifact, because that is what the builder can see jschoubben 2026-09-13 01:37:51 +02:00
  • 9387f8b040 A module that listens is served, not run jschoubben 2026-09-13 01:30:39 +02:00
  • c774d5dbe0 Install the postgres client the way the runtime base can jschoubben 2026-09-13 01:28:15 +02:00
  • 6ebf51d312 postgres's runtime carries the client it provisions through jschoubben 2026-09-13 01:26:23 +02:00
  • 594295f009 The catalogue restarts when its database credentials change jschoubben 2026-09-13 01:22:38 +02:00
  • f7d57e9556 The catalogue brings its own postgres driver jschoubben 2026-09-13 01:16:23 +02:00
  • e742b6a569 The catalogue builds its own runtime, and postgres serves its tools jschoubben 2026-09-13 01:13:43 +02:00
  • d6c9c8d666 postgres builds its own runtime, like any other module jschoubben 2026-09-13 01:10:45 +02:00
  • 2a6fed6f4f The builder is told the mesh's name for the machine it runs on jschoubben 2026-09-13 01:07:37 +02:00
  • 81a80c675c The builder declares what it announces jschoubben 2026-09-13 00:57:41 +02:00
  • 39631d6f87 amqp-ping says what it is made of, and can be built from its own directory jschoubben 2026-09-13 00:52:57 +02:00
  • a73cb8a2f8 The catalogue, as a module that owns the module graph jschoubben 2026-09-12 23:16:05 +02:00
  • a4d10341e7 Declare what hello-web is made of, to prove a build from a path jschoubben 2026-09-12 16:57:18 +02:00
  • 5f76e34994 Add the builder as a module, so the mesh can be given one jschoubben 2026-09-12 16:45:59 +02:00
  • 5aacd2538b mesh-control: the enrolment endpoint is the substrate's, not the overlay's jschoubben 2026-09-11 11:48:51 +02:00
  • 2c322cb2fb mesh-control: the control plane could not read its own connections jschoubben 2026-09-11 11:38:28 +02:00
  • 290be37a93 step-ca: mount the directory, not each secret file jschoubben 2026-09-11 08:49:55 +02:00