From 1af6efb3567794eaf57bc6fae416ed0da75ebe0f Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 12 Oct 2026 22:50:50 +0200 Subject: [PATCH] Name the one genesis bundle in every bed and the README (hq issue 146, ADR 0331) mesh-host now carries one genesis bundle, foundation-first-node.lock, on the bus the mesh runs on; the NATS one it replaces is deleted. Beds that still named it would point at a file that is gone, and the harness's rewrite for the previous broker's image rewrote nothing. --- README.md | 8 ++++---- .../adopted-store-cross-node.test.ts | 2 +- test/integration/adoption.test.ts | 2 +- test/integration/anthropic-bed.test.ts | 2 +- test/integration/assigned-audit.test.ts | 2 +- test/integration/assigned-ca-trust.test.ts | 2 +- .../assigned-catalogue-apps.test.ts | 2 +- .../assigned-catalogue-media.test.ts | 2 +- .../assigned-catalogue-mqtt.test.ts | 2 +- .../assigned-catalogue-small.test.ts | 2 +- test/integration/assigned-model-usage.test.ts | 2 +- .../integration/assigned-schedule-tick.test.ts | 2 +- .../assigned-tools-confluence.test.ts | 2 +- test/integration/assigned-tools-gitlab.test.ts | 2 +- test/integration/assigned-two-node-db.test.ts | 2 +- test/integration/assigned-vault.test.ts | 2 +- .../integration/built-store-cross-node.test.ts | 2 +- test/integration/events.test.ts | 2 +- test/integration/fresh-mesh.test.ts | 2 +- test/integration/genesis-single.test.ts | 2 +- test/integration/harness.ts | 18 +++++++----------- .../joins-through-the-tunnel.test.ts | 2 +- test/integration/lavinmq-bed.test.ts | 2 +- test/integration/local-model-bed.test.ts | 2 +- test/integration/mesh-grant-end-to-end.test.ts | 2 +- test/integration/mesh.test.ts | 2 +- test/integration/one-node-mesh.test.ts | 2 +- test/integration/openai-bed.test.ts | 2 +- test/integration/route-forwarding.test.ts | 2 +- .../runtime-restart-on-config.test.ts | 2 +- test/integration/store-window.test.ts | 2 +- test/integration/whole-mesh-ace.test.ts | 2 +- test/integration/whole-mesh-full.test.ts | 2 +- test/integration/whole-mesh-novox.test.ts | 2 +- 34 files changed, 43 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index b8c4362..9a669f2 100644 --- a/README.md +++ b/README.md @@ -148,10 +148,10 @@ is written down here rather than reconstructed a third time. # built for \"\", which is not a system it knows" — which reads like a broken bundle and is not # (novox/hq 04-ISSUES/146). export MESH_LAB_HOST_BINARY=/mesh-host -# The bundle that raises the bus the mesh runs on. The other one in that directory raises the -# predecessor's broker and a control plane that crash-loops on a missing MESH_BUS_NATS — which -# looks like a broken lab and is a bundle nobody moved (novox/hq 04-ISSUES/146). -export MESH_LAB_BUNDLE=/examples/foundation-first-node-nats.lock +# The one genesis bundle, on the bus the mesh runs on (novox/hq ADR 0331). The bundle that raised the +# predecessor's broker, and a control plane that crash-looped on a missing MESH_BUS_NATS, is gone +# (novox/hq issue 146). +export MESH_LAB_BUNDLE=/examples/foundation-first-node.lock export MESH_LAB_MODULES=/examples/modules export MESH_LAB_BUILDER=/build/mesh-builder # build/, which is git-ignored diff --git a/test/integration/adopted-store-cross-node.test.ts b/test/integration/adopted-store-cross-node.test.ts index 2d14123..25c83aa 100644 --- a/test/integration/adopted-store-cross-node.test.ts +++ b/test/integration/adopted-store-cross-node.test.ts @@ -16,7 +16,7 @@ * * MESH_LAB_INCUS='sudo -n incus' * MESH_LAB_HOST_BINARY=.../mesh-host/mesh-host - * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node.lock * MESH_LAB_CATALOG=.../mesh-catalog/modules */ import { test, before, after } from "node:test"; diff --git a/test/integration/adoption.test.ts b/test/integration/adoption.test.ts index 587f76c..33ba582 100644 --- a/test/integration/adoption.test.ts +++ b/test/integration/adoption.test.ts @@ -34,7 +34,7 @@ * * MESH_LAB_INCUS='sudo -n incus' * MESH_LAB_HOST_BINARY=/mesh-host MESH_LAB_BOOTSTRAP_BINARY=/mesh-bootstrap - * MESH_LAB_BUNDLE=/examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=/examples/foundation-first-node.lock * MESH_LAB_CATALOG=/modules MESH_LAB_MODULES=/examples/modules * MESH_TOOLS= MESH_SDK= (default: the checkouts beside this one) * MESH_LAB_KEEP=1 leave it standing MESH_LAB_WARM=1 iterate from the adopted foundation diff --git a/test/integration/anthropic-bed.test.ts b/test/integration/anthropic-bed.test.ts index 3c8afad..eb89404 100644 --- a/test/integration/anthropic-bed.test.ts +++ b/test/integration/anthropic-bed.test.ts @@ -36,7 +36,7 @@ * in for the authenticated cross-node call a manager node would make). The node-private-key stub of * the earlier cut is GONE — the host uses its own real key. * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * Build both runtime images into the local daemon first: * scripts/build-module-runtime.sh anthropic-manager /tmp/anthropic-manager.tar * scripts/build-module-runtime.sh anthropic-consumer /tmp/anthropic-consumer.tar diff --git a/test/integration/assigned-audit.test.ts b/test/integration/assigned-audit.test.ts index 70b808f..ebca781 100644 --- a/test/integration/assigned-audit.test.ts +++ b/test/integration/assigned-audit.test.ts @@ -10,7 +10,7 @@ * It needs the host binary, the foundation bundle, and the runtime image the scenario loads: * * MESH_LAB_HOST_BINARY=.../mesh-host - * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-runtime-image.sh builds mesh-runtime-audit:development into the local daemon, * which scenarios/audit-node.yml stocks — so no MESH_LAB_RUNTIME here; the host pulls it. */ diff --git a/test/integration/assigned-ca-trust.test.ts b/test/integration/assigned-ca-trust.test.ts index 7a9ae10..f5bccc4 100644 --- a/test/integration/assigned-ca-trust.test.ts +++ b/test/integration/assigned-ca-trust.test.ts @@ -13,7 +13,7 @@ * would say nothing at all about removal — which is the half issue 129 asked for by name. * * MESH_LAB_HOST_BINARY=.../mesh-host - * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * MESH_LAB_CATALOG=.../mesh-catalog/modules * step-ca's image is upstream, pinned by the catalogue, pulled by the machine over its uplink. * ca-trust carries no image: a script, a unit, and the machine's own systemd. diff --git a/test/integration/assigned-catalogue-apps.test.ts b/test/integration/assigned-catalogue-apps.test.ts index 4374a39..a264809 100644 --- a/test/integration/assigned-catalogue-apps.test.ts +++ b/test/integration/assigned-catalogue-apps.test.ts @@ -17,7 +17,7 @@ * * All are assigned to the one anchor, pushed ONCE, and the node converges ONCE with every one up. * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-module-runtime.sh {mongodb,unifi,postgres} build the runtime images into the local * daemon; scenarios/catalogue-apps.yml stocks them. mongo:7, lscr.io/linuxserver/unifi-controller * and synesthesiam/marytts must be in the local daemon to be stocked. diff --git a/test/integration/assigned-catalogue-media.test.ts b/test/integration/assigned-catalogue-media.test.ts index 50e1122..3830201 100644 --- a/test/integration/assigned-catalogue-media.test.ts +++ b/test/integration/assigned-catalogue-media.test.ts @@ -23,7 +23,7 @@ * * All is assigned to the one anchor, pushed ONCE, and the node converges ONCE with both modules up. * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-module-runtime.sh {sonarr,radarr} build the runtime images into the local daemon; * scenarios/catalogue-media.yml stocks them. lscr.io/linuxserver/{sonarr,radarr} must be in the * local daemon; the service images are pulled from the internet. Each *arr runtime is given a lab diff --git a/test/integration/assigned-catalogue-mqtt.test.ts b/test/integration/assigned-catalogue-mqtt.test.ts index 9872900..527a842 100644 --- a/test/integration/assigned-catalogue-mqtt.test.ts +++ b/test/integration/assigned-catalogue-mqtt.test.ts @@ -22,7 +22,7 @@ * the seed), and mosquitto's provisioner — running in the assigned runtime — creates a scoped client * for a contribution the mesh delivered, which then authenticates with the password the mesh minted. * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-module-runtime.sh mosquitto builds mesh-runtime-mosquitto:development (carrying * mosquitto_ctrl and the compiled bootstrap entrypoint) into the local daemon, which * scenarios/catalogue-mqtt.yml stocks. eclipse-mosquitto:2 must be in the local daemon to be diff --git a/test/integration/assigned-catalogue-small.test.ts b/test/integration/assigned-catalogue-small.test.ts index 3332284..c99e3cd 100644 --- a/test/integration/assigned-catalogue-small.test.ts +++ b/test/integration/assigned-catalogue-small.test.ts @@ -18,7 +18,7 @@ * path is fulfilled by creating the consumer's login with the mesh-minted password — it seals nothing * and needs no seal key (novox/hq ADR 0048, issue 032-provider-runtime-has-no-seal-key). * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-module-runtime.sh {postgres,redis,minio,plex} build the four runtime images into the * local daemon; scenarios/catalogue-small.yml stocks them. postgres:17-alpine, redis:7-alpine and * minio/minio:latest is pulled from the internet by the node itself. diff --git a/test/integration/assigned-model-usage.test.ts b/test/integration/assigned-model-usage.test.ts index 2b38e83..fbea8f6 100644 --- a/test/integration/assigned-model-usage.test.ts +++ b/test/integration/assigned-model-usage.test.ts @@ -22,7 +22,7 @@ * It needs a host binary and the foundation bundle: * * MESH_LAB_HOST_BINARY=.../mesh-host - * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * * HELPER — stock the two runtimes into the local daemon before the run (some may already be there): * scripts/build-module-runtime.sh postgres /tmp/postgres.tar diff --git a/test/integration/assigned-schedule-tick.test.ts b/test/integration/assigned-schedule-tick.test.ts index ad227b4..e7487d1 100644 --- a/test/integration/assigned-schedule-tick.test.ts +++ b/test/integration/assigned-schedule-tick.test.ts @@ -25,7 +25,7 @@ * registry by digest; the host pulls and runs it on the cadence. * * MESH_LAB_HOST_BINARY=.../mesh-host (feat/apply-schedule — the scheduler that fires the step) - * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * MESH_LAB_MODULES=.../mesh-controller/examples/modules (feat/schedule-container — the parser that * carries `schedule` through). scenarios/schedule-tick.yml stocks alpine:latest (which must be in * the local daemon) and serves it by digest; there is no runtime image — schedtest is a bare tick. diff --git a/test/integration/assigned-tools-confluence.test.ts b/test/integration/assigned-tools-confluence.test.ts index fd7ae15..1d7e57a 100644 --- a/test/integration/assigned-tools-confluence.test.ts +++ b/test/integration/assigned-tools-confluence.test.ts @@ -17,7 +17,7 @@ * A tool would only fail if it were actually invoked without real creds — which this bed does not do, * because the point is exactly that serving does not require them. * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-module-runtime.sh confluence builds mesh-runtime-confluence:development into the * local daemon; scenarios/tools-confluence.yml stocks it. There is no service image. */ diff --git a/test/integration/assigned-tools-gitlab.test.ts b/test/integration/assigned-tools-gitlab.test.ts index a2926fa..77b127f 100644 --- a/test/integration/assigned-tools-gitlab.test.ts +++ b/test/integration/assigned-tools-gitlab.test.ts @@ -16,7 +16,7 @@ * A tool would only fail if it were actually invoked without real creds — which this bed does not do, * because the point is exactly that serving does not require them. * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-module-runtime.sh gitlab builds mesh-runtime-gitlab:development into the local * daemon; scenarios/tools-gitlab.yml stocks it. There is no service image — gitlab is tools-only. */ diff --git a/test/integration/assigned-two-node-db.test.ts b/test/integration/assigned-two-node-db.test.ts index b5857e3..58e0591 100644 --- a/test/integration/assigned-two-node-db.test.ts +++ b/test/integration/assigned-two-node-db.test.ts @@ -22,7 +22,7 @@ * It needs a host binary and the foundation bundle: * * MESH_LAB_HOST_BINARY=.../mesh-host - * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * * HELPER — stock the three runtimes into the local daemon before the run (some may already be there): * scripts/build-module-runtime.sh postgres /tmp/postgres.tar diff --git a/test/integration/assigned-vault.test.ts b/test/integration/assigned-vault.test.ts index 4a393c1..d2e6225 100644 --- a/test/integration/assigned-vault.test.ts +++ b/test/integration/assigned-vault.test.ts @@ -22,7 +22,7 @@ * The manifests are the catalogue's own (../mesh-catalog/modules/{mesh-vault,redis}/module.json), with * the runtime artifact named as the image the lab built, exactly as the other assigned-* beds do. * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-module-runtime.sh mesh-vault / redis build the two runtime images into the local * daemon; scenarios/vault-node.yml stocks them. */ diff --git a/test/integration/built-store-cross-node.test.ts b/test/integration/built-store-cross-node.test.ts index ed701c5..e251a61 100644 --- a/test/integration/built-store-cross-node.test.ts +++ b/test/integration/built-store-cross-node.test.ts @@ -19,7 +19,7 @@ * by the firewall the nftables module derives (issues 055/056/057 in one bed). * * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BOOTSTRAP_BINARY=.../mesh-bootstrap - * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock (the TEMPLATE) + * MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock (the TEMPLATE) * MESH_LAB_CATALOG=.../mesh-catalog/modules * MESH_LAB_SOURCE=git:///mesh-controller.git MESH_LAB_SOURCE_REF= * MESH_LAB_BUILD_REF= diff --git a/test/integration/events.test.ts b/test/integration/events.test.ts index 9634145..c986311 100644 --- a/test/integration/events.test.ts +++ b/test/integration/events.test.ts @@ -17,7 +17,7 @@ * It needs the host binary and the foundation bundle, like the mesh walk, plus a runtime image: * * MESH_LAB_HOST_BINARY=.../mesh-host - * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * MESH_LAB_RUNTIME=.../mesh-runtime-audit.tar (docker save of the runtime+audit-logger image; * built by scripts/build-runtime-image.sh) * diff --git a/test/integration/fresh-mesh.test.ts b/test/integration/fresh-mesh.test.ts index 5d983ee..b09f7b7 100644 --- a/test/integration/fresh-mesh.test.ts +++ b/test/integration/fresh-mesh.test.ts @@ -31,7 +31,7 @@ * MESH_LAB_INCUS='sudo -n incus' * MESH_LAB_HOST_BINARY=.../mesh-host/mesh-host * MESH_LAB_BOOTSTRAP_BINARY=.../mesh-host/mesh-bootstrap - * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node.lock * MESH_LAB_CATALOG=.../mesh-catalog/modules * MESH_LAB_SOURCE=/mesh-controller.git MESH_LAB_SOURCE_REF= * MESH_LAB_KEEP=1 to leave it standing afterwards diff --git a/test/integration/genesis-single.test.ts b/test/integration/genesis-single.test.ts index 5b625f4..cfeab2c 100644 --- a/test/integration/genesis-single.test.ts +++ b/test/integration/genesis-single.test.ts @@ -12,7 +12,7 @@ * MESH_LAB_INCUS='sudo -n incus' * MESH_LAB_HOST_BINARY=.../mesh-host/mesh-host * MESH_LAB_BOOTSTRAP_BINARY=.../mesh-host/mesh-bootstrap - * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node.lock * MESH_LAB_CATALOG=.../mesh-catalog/modules * MESH_LAB_KEEP=1 to leave it standing afterwards */ diff --git a/test/integration/harness.ts b/test/integration/harness.ts index 5c9b65d..7296f1e 100644 --- a/test/integration/harness.ts +++ b/test/integration/harness.ts @@ -23,14 +23,14 @@ import { mustBeHandedOver, pinnedInto, referenceFor, repositoryOf, type HeldImag /** * The example bundle in mesh-host names a registry that no longer exists. * - * `examples/foundation-first-node-nats.lock` was written **for a target**, and the target was the lab: it + * `examples/foundation-first-node.lock` was written **for a target**, and the target was the lab: it * pins `192.0.2.250:5000/…` because that is where the registry the lab used to raise served from. * That registry is gone, so those three references name nothing. * - * Two of them are ordinary third-party images and belong to the internet. Rather than invent - * digests here, they are the ones the mesh's own modules already pin — mesh-catalog's `postgres` - * and `lavinmq` — so the foundation's store and broker are literally the images the mesh runs. The - * third, mesh-controller, exists in no registry at all and becomes the ID the machine holds it under. + * Two of them are ordinary third-party images and belong to the internet. The store's is the one + * mesh-catalog's `postgres` module already pins, so the foundation's store is literally the image the + * mesh runs; the bus's is below. The third, mesh-controller, exists in no registry at all and becomes + * the ID the machine holds it under. * * **The bundle itself should be fixed in mesh-host**, and this substitution deleted with it. It is * here because the file lives in another repository and because a fixture that lies about where an @@ -38,11 +38,9 @@ import { mustBeHandedOver, pinnedInto, referenceFor, repositoryOf, type HeldImag */ const UPSTREAM_STORE = "postgres@sha256:7456ef82e5f5bc43d997f4781bbd7c0d6389bff397564649a356e206ba473aee"; -const UPSTREAM_BROKER = - "cloudamqp/lavinmq@sha256:3eb54c12916d700a978c2ea86e6362cd4974b0e3189508718006d4e6d341246b"; /** - * And the bus, for `foundation-first-node-nats.lock` — the bundle the mesh raises since it stopped - * speaking AMQP (novox/hq ADR 0131). The digest is the bundle's own: what the registry served was a + * And the bus, for `foundation-first-node.lock` — the one genesis bundle, which raises the bus the + * mesh runs on since it stopped speaking AMQP (novox/hq ADR 0131, ADR 0331). The digest is the bundle's own: what the registry served was a * copy of the upstream image, so the same digest resolves on Docker Hub, and this is a prefix being * removed rather than a reference being replaced. */ @@ -59,8 +57,6 @@ const UPSTREAM_BUS = export function foundationBundle(path: string, held: HeldImage[]): string { let text = readFileSync(path, "utf8"); text = text.replaceAll(/[A-Za-z0-9_.:-]+\/postgres@sha256:[0-9a-f]{64}/g, UPSTREAM_STORE); - text = text.replaceAll( - /[A-Za-z0-9_.:-]+\/cloudamqp\/lavinmq@sha256:[0-9a-f]{64}/g, UPSTREAM_BROKER); text = text.replaceAll(/[A-Za-z0-9_.:-]+:[0-9]+\/nats@sha256:[0-9a-f]{64}/g, UPSTREAM_BUS); return pinnedInto(text, held); } diff --git a/test/integration/joins-through-the-tunnel.test.ts b/test/integration/joins-through-the-tunnel.test.ts index 08e687f..49b15b0 100644 --- a/test/integration/joins-through-the-tunnel.test.ts +++ b/test/integration/joins-through-the-tunnel.test.ts @@ -13,7 +13,7 @@ * It needs a host binary, the foundation bundle and the control plane's image: * * MESH_LAB_HOST_BINARY=.../mesh-host - * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * (mesh-controller:development, from mesh-controller's `make image`) */ import { test, before, after } from "node:test"; diff --git a/test/integration/lavinmq-bed.test.ts b/test/integration/lavinmq-bed.test.ts index 233838e..c90f6a3 100644 --- a/test/integration/lavinmq-bed.test.ts +++ b/test/integration/lavinmq-bed.test.ts @@ -25,7 +25,7 @@ * its vhost — the provider named the vhost after the login — and nothing is hardcoded; the provider's * `serves` carries the port so the consumer references `${bound:amqp:port}`. * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * * HELPER — stock the two runtimes into the local daemon before the run (some may already be there): * scripts/build-module-runtime.sh lavinmq /tmp/lavinmq.tar diff --git a/test/integration/local-model-bed.test.ts b/test/integration/local-model-bed.test.ts index 8e9a772..b4d1667 100644 --- a/test/integration/local-model-bed.test.ts +++ b/test/integration/local-model-bed.test.ts @@ -15,7 +15,7 @@ * asserts the templated URL and that a request to it reaches the running server (ollama answers * /v1/models even with no model pulled — the wiring is what is proven, not a model's output). * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * No module runtime image is built — both modules are pure declaration. */ diff --git a/test/integration/mesh-grant-end-to-end.test.ts b/test/integration/mesh-grant-end-to-end.test.ts index 5af3cfd..fef1361 100644 --- a/test/integration/mesh-grant-end-to-end.test.ts +++ b/test/integration/mesh-grant-end-to-end.test.ts @@ -11,7 +11,7 @@ * Mint on one side and create on the other agreeing, with no shared key and nothing placed by the * test, is the entire provider/consumer contract working as one thing. * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-module-runtime.sh redis builds mesh-runtime-redis:development, which * scenarios/redis-node.yml stocks. */ diff --git a/test/integration/mesh.test.ts b/test/integration/mesh.test.ts index 269f635..0d4eb0a 100644 --- a/test/integration/mesh.test.ts +++ b/test/integration/mesh.test.ts @@ -9,7 +9,7 @@ * It needs a host binary and the foundation bundle: * * MESH_LAB_HOST_BINARY=.../mesh-host - * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * * The bundle's image references are rewritten to the ones this scenario's own registry serves. * A digest belongs to whatever registry serves it, so a committed bundle names a registry that is diff --git a/test/integration/one-node-mesh.test.ts b/test/integration/one-node-mesh.test.ts index 4451798..7fcfcaa 100644 --- a/test/integration/one-node-mesh.test.ts +++ b/test/integration/one-node-mesh.test.ts @@ -31,7 +31,7 @@ * MESH_LAB_INCUS='sudo -n incus' * MESH_LAB_HOST_BINARY=.../mesh-host/mesh-host * MESH_LAB_BOOTSTRAP_BINARY=.../mesh-host/mesh-bootstrap - * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node.lock * MESH_LAB_CATALOG=.../mesh-catalog/modules * MESH_LAB_SOURCE=/mesh-controller.git MESH_LAB_SOURCE_REF= * MESH_LAB_KEEP=1 to leave it standing afterwards diff --git a/test/integration/openai-bed.test.ts b/test/integration/openai-bed.test.ts index 96e759e..3caed9c 100644 --- a/test/integration/openai-bed.test.ts +++ b/test/integration/openai-bed.test.ts @@ -12,7 +12,7 @@ * ordinary sealed-delivery path — with NO manager, NO refresh, NO access/refresh split, NO usage. The * whole of OpenAI's integration in the control plane is one registry line (vendor -> static-key). * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * Build the consumer runtime image into the local daemon first: * scripts/build-module-runtime.sh openai-consumer /tmp/openai-consumer.tar */ diff --git a/test/integration/route-forwarding.test.ts b/test/integration/route-forwarding.test.ts index 3fabd6c..8371395 100644 --- a/test/integration/route-forwarding.test.ts +++ b/test/integration/route-forwarding.test.ts @@ -25,7 +25,7 @@ * publicly-trusted certificate and answering an HTTP-01 challenge at the name — is proven separately * by certificates.test.ts, which drives the same proxy binary against a real ACME server (Pebble). * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-route-proxy-image.sh builds mesh-route-proxy:development into the local daemon; * scenarios/route-forwarding.yml stocks it and alpine:latest, and serves both by digest. */ diff --git a/test/integration/runtime-restart-on-config.test.ts b/test/integration/runtime-restart-on-config.test.ts index 9f2969f..087ccf6 100644 --- a/test/integration/runtime-restart-on-config.test.ts +++ b/test/integration/runtime-restart-on-config.test.ts @@ -12,7 +12,7 @@ * the container was replaced (a new container id) and the config on disk carries the new value. * It builds the host from source (no --no-build), because the behaviour under test is the host's. * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-module-runtime.sh grafana builds mesh-runtime-grafana:development, which * scenarios/grafana-node.yml stocks. */ diff --git a/test/integration/store-window.test.ts b/test/integration/store-window.test.ts index 9d31f79..3bd4e0e 100644 --- a/test/integration/store-window.test.ts +++ b/test/integration/store-window.test.ts @@ -14,7 +14,7 @@ * It needs a host binary and the foundation bundle: * * MESH_LAB_HOST_BINARY=.../mesh-host - * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock */ import { test, before, after } from "node:test"; import assert from "node:assert/strict"; diff --git a/test/integration/whole-mesh-ace.test.ts b/test/integration/whole-mesh-ace.test.ts index 15422c8..5b1d0c5 100644 --- a/test/integration/whole-mesh-ace.test.ts +++ b/test/integration/whole-mesh-ace.test.ts @@ -20,7 +20,7 @@ * references of OURS are rewritten to the IDs the machine holds, and the co-located * host-port collisions are remapped at load time (see REMAP). * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock */ import { test, before, after } from "node:test"; diff --git a/test/integration/whole-mesh-full.test.ts b/test/integration/whole-mesh-full.test.ts index ee88229..48b008b 100644 --- a/test/integration/whole-mesh-full.test.ts +++ b/test/integration/whole-mesh-full.test.ts @@ -50,7 +50,7 @@ * (whole-mesh-full-live) and NOT torn down — it is left standing and browsable. Without it the bed * behaves like every other: raise in before(), destroy in after(). * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * MESH_LAB_BOOTSTRAP_BINARY=.../mesh-bootstrap MESH_LAB_CATALOG=.../mesh-catalog/modules */ diff --git a/test/integration/whole-mesh-novox.test.ts b/test/integration/whole-mesh-novox.test.ts index 19a00b4..399fa85 100644 --- a/test/integration/whole-mesh-novox.test.ts +++ b/test/integration/whole-mesh-novox.test.ts @@ -28,7 +28,7 @@ * host ports here (container ports unchanged); the provider ports the consumers actually connect to * (postgres 5432, minio 9000, mongodb 27017, mssql 1433) are left as-is. See REMAP below. * - * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock * scripts/build-module-runtime.sh builds one runtime per module that has code; the route-proxy image * is built by scripts/build-route-proxy-image.sh; scenarios/whole-mesh-novox.yml stocks them all * alongside every server image.