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:
@@ -17,19 +17,19 @@ import { duplicateAddresses, describeConflicts, type Held } from "../../src/life
|
||||
import type { Scenario } from "../../src/declaration/types.ts";
|
||||
import { mustBeHandedOver, pinnedInto, referenceFor, repositoryOf, type HeldImage } from "../../src/pinning.ts";
|
||||
|
||||
// --- the substrate bundle, and what its three images are on a real machine ---------------------
|
||||
// --- the foundation bundle, and what its three images are on a real machine ---------------------
|
||||
|
||||
/**
|
||||
* The example bundle in mesh-host names a registry that no longer exists.
|
||||
*
|
||||
* `examples/substrate-first-node.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 substrate's store and broker are literally the images the mesh runs. The
|
||||
* third, mesh-control, exists in no registry at all and becomes the ID the machine holds it under.
|
||||
* 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.
|
||||
*
|
||||
* **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
|
||||
@@ -41,13 +41,13 @@ const UPSTREAM_BROKER =
|
||||
"cloudamqp/lavinmq@sha256:3eb54c12916d700a978c2ea86e6362cd4974b0e3189508718006d4e6d341246b";
|
||||
|
||||
/**
|
||||
* The substrate bundle as a machine should receive it.
|
||||
* The foundation bundle as a machine should receive it.
|
||||
*
|
||||
* Third-party references become upstream ones, which the machine pulls over its uplink; ours
|
||||
* become the ID the machine was handed. Nothing points inside the scenario any more, which is the
|
||||
* whole of this change: what the bed proves about a bootstrap is now what would happen anywhere.
|
||||
*/
|
||||
export function substrateBundle(path: string, held: HeldImage[]): string {
|
||||
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(
|
||||
|
||||
Reference in New Issue
Block a user