Repoint ADR references after HQ consolidated 65 records to 23
Comments naming records that no longer exist now point at the consolidated record holding their reasoning -- the four lab records are 0016, a test defends a decision is 0017.
This commit is contained in:
+1
-1
@@ -93,7 +93,7 @@ async function main(): Promise<void> {
|
||||
|
||||
case "base": {
|
||||
// `base build` exists because a sealed scenario cannot install a container runtime, and
|
||||
// the runtime has to come from somewhere with a network (novox/hq ADR 0046).
|
||||
// the runtime has to come from somewhere with a network (novox/hq ADR 0006).
|
||||
if (rest[0] !== "build") fail("base needs a subcommand: build");
|
||||
const { buildBaseImage } = await import("./lifecycle/base.ts");
|
||||
const built = await buildBaseImage((line) => console.log(line));
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* Building the base image a scenario's machines are raised from.
|
||||
*
|
||||
* A sealed scenario cannot install a container runtime: its segments use documentation ranges
|
||||
* and there is no route out (novox/hq ADR 0032). ADR 0046 records the consequence — *the lab
|
||||
* and there is no route out (novox/hq ADR 0016). ADR 0006 records the consequence — *the lab
|
||||
* needs a way to place images, and the machine it places them into needs a container runtime,
|
||||
* which a sealed scenario cannot install either.*
|
||||
*
|
||||
|
||||
@@ -97,7 +97,7 @@ export interface PlacedHost {
|
||||
* Put the host on a machine and ask it what the machine is.
|
||||
*
|
||||
* The result is read back from the running binary, never assumed from the fact that the copy
|
||||
* succeeded (novox/hq ADR 0035). A file arriving is not a host working, which is the same
|
||||
* succeeded (novox/hq ADR 0018). A file arriving is not a host working, which is the same
|
||||
* distinction the host itself makes about installed packages.
|
||||
*/
|
||||
export async function placeHost(
|
||||
@@ -192,7 +192,7 @@ export async function applyPlacements(
|
||||
* The base image a scenario's machines are built from, when they need a container runtime.
|
||||
*
|
||||
* A sealed scenario cannot install one: its segments use documentation ranges and there is no
|
||||
* route out (novox/hq ADR 0032). So the runtime arrives the way research 012 says everything
|
||||
* route out (novox/hq ADR 0016). So the runtime arrives the way research 012 says everything
|
||||
* awkward should — **fetched at build time on a machine that has a network, applied on a target
|
||||
* that then needs nothing.** Building this image is that build time.
|
||||
*
|
||||
@@ -262,7 +262,7 @@ export async function placeImage(
|
||||
// sealed machine cannot reach. Measured, not assumed: the load says `Loaded image ID:`
|
||||
// instead of `Loaded image:`, and `docker images` then lists nothing.
|
||||
//
|
||||
// This collides with novox/hq ADR 0046, which pins bundle images BY DIGEST and has the host
|
||||
// This collides with novox/hq ADR 0006, which pins bundle images BY DIGEST and has the host
|
||||
// refuse anything else. Reconciling the two needs a registry inside the scenario, which is
|
||||
// real design work — see 04-ISSUES/009.
|
||||
if (reference.includes("@sha256:")) {
|
||||
|
||||
@@ -169,7 +169,7 @@ export async function raise(
|
||||
const log = options.onProgress ?? (() => {});
|
||||
|
||||
// A scenario that places a runtime or an image needs machines built from the base image,
|
||||
// because a sealed machine cannot install one (novox/hq ADR 0046). Chosen here rather than
|
||||
// because a sealed machine cannot install one (novox/hq ADR 0006). Chosen here rather than
|
||||
// declared, so a scenario says WHAT it needs and not which image provides it.
|
||||
const needsRuntime = planPlacements(scenario).some(({ artifacts }) =>
|
||||
artifacts.some((a) => a === "runtime" || a.startsWith(IMAGE_PREFIX))
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
* digest — `docker save` of a digest reference produces an archive with no repo tag, because a
|
||||
* repo digest only exists for an image a registry served (novox/hq 04-ISSUES/009). So an image
|
||||
* pinned by digest, which is the only kind the host accepts
|
||||
* ([ADR 0046](../../02-DECISIONS/0046-the-installer-fetches-what-it-pins.md)), could not be
|
||||
* ([ADR 0006](../../02-DECISIONS/0046-the-installer-fetches-what-it-pins.md)), could not be
|
||||
* placed at all.
|
||||
*
|
||||
* The answer is a registry, and it is not a workaround for the lab: ADR 0048 names an OCI
|
||||
* registry as substrate, and ADR 0046 says a first node fetches "upstream, wherever the image
|
||||
* The answer is a registry, and it is not a workaround for the lab: ADR 0006 names an OCI
|
||||
* registry as substrate, and ADR 0006 says a first node fetches "upstream, wherever the image
|
||||
* ordinarily lives". **This is that upstream** — scenery, like the transit router is the
|
||||
* internet ([ADR 0033](../../02-DECISIONS/0033-a-router-is-scenery-not-a-node.md)).
|
||||
* internet ([ADR 0016](../../02-DECISIONS/0033-a-router-is-scenery-not-a-node.md)).
|
||||
*
|
||||
* The digests it serves are its own, not Docker Hub's, and that is correct rather than a
|
||||
* compromise. What ADR 0046 requires is a reference that is exact and cannot move. A digest
|
||||
* compromise. What ADR 0006 requires is a reference that is exact and cannot move. A digest
|
||||
* assigned by this registry is both.
|
||||
*/
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* nothing to say about it.
|
||||
*
|
||||
* A router is **scenery, not a node**, so it is a container rather than a virtual machine
|
||||
* (novox/hq ADR 0033). Nothing under test runs on it and no assertion is made about its
|
||||
* (novox/hq ADR 0016). Nothing under test runs on it and no assertion is made about its
|
||||
* internals; it exists so packets behave the way they behave in the world. What it has to
|
||||
* reproduce is kernel behaviour, and a container has the same kernel.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user