Expand description
The base image every QCode container comes from, and the places inside it every other layer agrees on.
A workspace’s plain shell runs in this image, a git clone runs in it, and every profile image
is FROM it with a harness installed on top. So it carries exactly what those need — a Node
runtime the harnesses install with, git, certificates, a shell — the built-in apps a file of
the workspace is opened with, and the directories the rest of QCode mounts onto.
A profile can have its image built on another system than Debian; Os is that choice,
with a base image of its own for each system, and what each system cannot carry or run.
Three things live here. paths is the contract: where the workspace, its material and the
home directory are, and what a container runs to stay up. apps is what the image carries
for opening files: which program opens which file, and with which words. ensure is the
one piece of work: build the image when the machine has not got it, or has an older one, and
say so line by line while it happens.
Modules§
- apps
- The built-in apps: the programs the base image carries for opening a workspace’s files, which file each of them opens, and the exact command line each is started with.
- paths
- Where things are inside every QCode container, what a container runs to stay up, and the shell that gives the person running it a name when the image has none for them.
Enums§
- Failure
- Why the base image is not there.
- Gap
- A program the built-in apps or the image’s tools use that a system’s image does not carry.
- Os
- A system a profile’s image is built on.
- Outcome
- What
ensuredid. - Presence
- What the machine has under the base image’s name.
- Refusal
- Why a harness is not offered on a system: what was measured when it was tried there.
Constants§
- CONTAINERFILE
- The Containerfile the base image is built from, carried inside the binary so an installed QCode needs no files beside it.
- REVISION_
LABEL - The label the built image carries its revision in.
Functions§
- containerfile
- The Containerfile as the engine is given it: the description plus the label that says which description it was.
- containerfile_
of - The Containerfile of
os’s base image as the engine is given it, labelled the same way. - digest
- FNV-1a over the bytes of
text: a short digest that tells two descriptions apart, where nothing depends on it being hard to forge. - ensure
- Makes sure
BASE_IMAGEis on the machine and is the one described here, building it when it is not. - ensure_
os - Makes sure
os’s base image is on the machine and is the one described here, building it when it is not, the wayensuredoes for Debian’s. - presence
- What the machine has under
BASE_IMAGE, Debian’s base image. - presence_
of - What the machine has under the name of
os’s base image. - revision
- Which description the image on the machine should have been built from.
- revision_
of - Which description
os’s base image should have been built from: the digest of its own Containerfile, so a change to one system’s file rebuilds that system’s image and no other.