The lab's installer carries a builder, and genesis is told what to build
Both beds now pass a repository and a commit, and refuse to run without them rather than raising a machine the installer cannot finish.
This commit is contained in:
+11
-7
@@ -91,21 +91,25 @@ export function planned(env: NodeJS.ProcessEnv = process.env): Build[] {
|
||||
builds.push({
|
||||
what: "installer",
|
||||
in: where["mesh-host"],
|
||||
argv: ["make", "bootstrap", `IMAGE=${controlPlaneImage(env)}`, `BOOTSTRAP_OUT=${installer}`],
|
||||
argv: ["make", "bootstrap", `IMAGE=${carriedImage(env)}`, `BOOTSTRAP_OUT=${installer}`],
|
||||
});
|
||||
}
|
||||
return builds;
|
||||
}
|
||||
|
||||
/**
|
||||
* The control-plane image the installer carries.
|
||||
* The image the installer carries.
|
||||
*
|
||||
* `mesh-control:development` is what mesh-control's `make image` tags, and what the scenarios name
|
||||
* — one tag, said in one place. It is overridable because a release installer carries a release
|
||||
* image, and nothing about that is the lab's business.
|
||||
* **It is the builder, not the control plane** (novox/hq ADR 0073). The installer used to carry the
|
||||
* thing it was going to run and now carries the thing that makes it, so a raised mesh holds a
|
||||
* control plane it built from a repository and a commit rather than one it was handed.
|
||||
*
|
||||
* `mesh-builder:development` is what mesh-control's `make builder-image` tags — one tag, said in
|
||||
* one place. Overridable because a release installer carries a release image, and nothing about
|
||||
* that is the lab's business.
|
||||
*/
|
||||
export function controlPlaneImage(env: NodeJS.ProcessEnv = process.env): string {
|
||||
return env["MESH_LAB_CONTROL_IMAGE"] ?? "mesh-control:development";
|
||||
export function carriedImage(env: NodeJS.ProcessEnv = process.env): string {
|
||||
return env["MESH_LAB_CARRIED_IMAGE"] ?? "mesh-builder:development";
|
||||
}
|
||||
|
||||
/** rebuild runs the plan, and throws on the first failure rather than testing a stale artifact. */
|
||||
|
||||
Reference in New Issue
Block a user