Rename mesh-control -> mesh-controller, substrate -> foundation

One name per thing, per the HQ glossary: the module/container/image/binary/repo
becomes mesh-controller, the seat the-controller, and the store+broker pair the
foundation (embedded base bundles, default template and example lock renamed with
their go:embed directives). No behaviour change — a pure vocabulary rename.

Claude-Session: https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
This commit is contained in:
2026-09-16 18:40:40 +02:00
parent 49b80d8516
commit 5d6e8fbe7a
89 changed files with 785 additions and 785 deletions
+6 -6
View File
@@ -35,7 +35,7 @@ const skip = !capability.usable
: !host || !existsSync(host)
? "MESH_LAB_HOST_BINARY is not set to a built mesh-host"
: !bundle || !existsSync(bundle)
? "MESH_LAB_BUNDLE is not set to a substrate bundle"
? "MESH_LAB_BUNDLE is not set to a foundation bundle"
: false;
const SCENARIO = "first-node";
@@ -62,7 +62,7 @@ async function must(command: string, timeoutMs?: number): Promise<string> {
}
const mesh = (command: string, timeoutMs?: number) =>
must(`docker exec mesh-control /mesh-control ${command}`, timeoutMs);
must(`docker exec mesh-controller /mesh-controller ${command}`, timeoutMs);
before(async () => {
if (skip) return;
@@ -70,9 +70,9 @@ before(async () => {
onProgress: (m) => console.log(`raise: ${m}`),
});
instanceId = raised.instanceId;
await must(`cat > /tmp/substrate.lock <<'MESHBUNDLE'\n${
await must(`cat > /tmp/foundation.lock <<'MESHBUNDLE'\n${
pinnedInto(readFileSync(bundle, "utf8"), raised.images)}\nMESHBUNDLE`);
await must(`${HOST_PATH} apply /tmp/substrate.lock`, 300_000);
await must(`${HOST_PATH} apply /tmp/foundation.lock`, 300_000);
// **And the machine joins.** Applying the bundle raises a control plane; it does not tell that
// control plane a machine exists. Leaving this out is what the first run of this canary found,
@@ -111,7 +111,7 @@ test("a module reaches the machine", { skip, timeout: 600_000 }, async () => {
{ id: "note", type: "file", path: "/var/lib/canary/it-arrived", content: "yes\n", mode: "0644" },
],
}))} > /tmp/canary.json`);
await must(`docker cp /tmp/canary.json mesh-control:/canary.json`);
await must(`docker cp /tmp/canary.json mesh-controller:/canary.json`);
await mesh("module add /canary.json");
await mesh(`assign ${MACHINE} canary`);
await mesh(`push ${MACHINE}`, 300_000);
@@ -151,7 +151,7 @@ test("a consumer gets a credential it can use", { skip, timeout: 600_000 }, asyn
],
}))} > /tmp/canary-app.json`);
for (const name of ["canary-store", "canary-app"]) {
await must(`docker cp /tmp/${name}.json mesh-control:/${name}.json`);
await must(`docker cp /tmp/${name}.json mesh-controller:/${name}.json`);
await mesh(`module add /${name}.json`);
await mesh(`assign ${MACHINE} ${name}`);
}