From a734d427c0f6314d7e72bb66d86fbfe4fdb9ab09 Mon Sep 17 00:00:00 2001 From: jochen Date: Tue, 29 Sep 2026 17:45:09 +0200 Subject: [PATCH] A bed says what it actually needs to be pointed at MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The instructions in every bed named the bundle that raises the predecessor's broker, so a first attempt ends in a control plane crash-looping on a missing MESH_BUS_NATS — which reads like a broken lab. They name the bundle that works now, and the README says the host binary needs SYSTEM=arch, because one built without it refuses everything with an empty system name. And the three habits that each cost a run before they were adopted: MESH_LAB_KEEP to leave the machine standing, MESH_LAB_WARM while iterating, and rebuilding all three repositories the bed places rather than the one that changed. --- README.md | 25 ++++++++++++++++++- .../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 +- .../assigned-schedule-tick.test.ts | 2 +- .../assigned-tools-confluence.test.ts | 2 +- .../integration/assigned-tools-gitlab.test.ts | 2 +- test/integration/assigned-two-node-db.test.ts | 2 +- test/integration/assigned-vault.test.ts | 2 +- .../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 | 2 +- test/integration/lavinmq-bed.test.ts | 2 +- test/integration/local-model-bed.test.ts | 2 +- .../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 +- 33 files changed, 56 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index e9cb264..a6540bb 100644 --- a/README.md +++ b/README.md @@ -139,8 +139,15 @@ nothing. That is `novox/hq` 04-ISSUES/005 exactly, and it has now been rediscove is written down here rather than reconstructed a third time. ```sh +# Built with `make SYSTEM=arch build`, NOT with a bare `go build`. The system a host was built for +# is a link-time value, and one built without it refuses everything it is given with "this host was +# 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 -export MESH_LAB_BUNDLE=/examples/foundation-first-node.lock +# 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 export MESH_LAB_MODULES=/examples/modules export MESH_LAB_BUILDER=/build/mesh-builder # build/, which is git-ignored @@ -163,6 +170,22 @@ export MESH_LAB_OBJECTSTORE_PROVISIONER=/objectstore-provisioner export MESH_LAB_ROUTE_PROXY=/route-proxy ``` +### When a bed fails, before anything else + +Three habits, each of which cost a run on 2026-09-29 before it was adopted (novox/hq +04-ISSUES/146): + +- **`MESH_LAB_KEEP=1` leaves the machine standing.** Every answer in that sequence came from + shelling into it afterwards — the host's log, the bus's log, the file the bus was actually given, + the identity the node actually stored. The test output said only that nothing had converged. +- **`MESH_LAB_WARM=1` between attempts.** A fault found on the fifth run is a fault the first four + runs paid full price for; warm restores a snapshot instead of raising a machine, and a commit + invalidates it, so it is safe to leave on while iterating and off for the run that counts. +- **Rebuild what the bed places, not just what you changed.** The host binary, the control-plane + image and the bundle are three repositories, and a bed testing yesterday's binary reports on code + nobody is looking at (04-ISSUES/005). `make image` in mesh-controller reads its base from the + manifest, so it no longer needs a digest found by hand. + `MESH_LAB_HOST_BINARY` and `MESH_LAB_MODULES` do double duty: the repository each sits in is what `suite` rebuilds and what the receipt claims. Point the run at a repository and it is built and claimed; leave it out and it is neither. `MESH_LAB_CATALOG` is claimed without being built as a diff --git a/test/integration/adopted-store-cross-node.test.ts b/test/integration/adopted-store-cross-node.test.ts index 25c83aa..2d14123 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.lock + * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node-nats.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 33ba582..587f76c 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.lock + * MESH_LAB_BUNDLE=/examples/foundation-first-node-nats.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 eb89404..3c8afad 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 ebca781..70b808f 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.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 f5bccc4..7a9ae10 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.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 a264809..4374a39 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 3830201..50e1122 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 527a842..9872900 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 c99e3cd..3332284 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 fbea8f6..2b38e83 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.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 e7487d1..ad227b4 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.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 1d7e57a..fd7ae15 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 77b127f..a2926fa 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 58e0591..b5857e3 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.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 d2e6225..4a393c1 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 e251a61..ed701c5 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.lock (the TEMPLATE) + * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 c986311..9634145 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.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 b09f7b7..5d983ee 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.lock + * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node-nats.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 cfeab2c..5b625f4 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.lock + * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node-nats.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 466dbe9..d26d67e 100644 --- a/test/integration/harness.ts +++ b/test/integration/harness.ts @@ -23,7 +23,7 @@ import { mustBeHandedOver, pinnedInto, referenceFor, repositoryOf, type HeldImag /** * The example bundle in mesh-host names a registry that no longer exists. * - * `examples/foundation-first-node.lock` was written **for a target**, and the target was the lab: it + * `examples/foundation-first-node-nats.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. * diff --git a/test/integration/lavinmq-bed.test.ts b/test/integration/lavinmq-bed.test.ts index c90f6a3..233838e 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 b4d1667..8e9a772 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 fef1361..5af3cfd 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 632f623..6287ba8 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.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 7fcfcaa..4451798 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.lock + * MESH_LAB_BUNDLE=.../mesh-host/examples/foundation-first-node-nats.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 3caed9c..96e759e 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 8371395..3fabd6c 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 087ccf6..9f2969f 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 3bd4e0e..9d31f79 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.lock + * MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 5b1d0c5..15422c8 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 48b008b..ee88229 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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 399fa85..19a00b4 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.lock + * MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node-nats.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.