Expand description
What every target that runs the machines as containers shares, whichever backend writes the
files (Compose, Kubernetes) or builds the host they run on (a cloud VM, a local VM): the
images Isoloom brings and the readiness probe here; the one-shot jobs and how a Compose
project starts (jobs); the project files read into Compose’s environment
(project_files); the size of the VM the containers run on (host); the containers’ side
of a hybrid environment (hybrid). Pure functions over the spec and the plan.
Structs§
- Host
Size - The size of the VM the containers run on.
- Hybrid
Containers - The containers’ side of a hybrid environment.
Constants§
- CHECK_
IMAGE - The check runner: a small image with
sh,curland busyboxnc. - PROBE_
DIR - Where a machine sees that busybox (read-only).
- PROBE_
IMAGE - A static busybox Isoloom brings into every machine with services, so its probe needs
nothing from the machine’s image (distroless and
scratchimages have no shell). - UTILITY_
IMAGE - A small image with busybox
ip, for the router, route sidecars and the stand-in.
Functions§
- as_
arguments - The shell commands making the words
listingprints the positional parameters ("$@"), one argument each: a list known only at run time, handed to a command without splitting an unquoted expansion. - copied_
from_ project - Whether file
fis copied in from Compose’s environment: a project file the spec gives an owner or a mode. - docker_
net - The Docker network a hybrid environment’s container network is on the host: named after the environment.
- exec_
runner - The runner of a machine’s
execchecks, in.isoloom/docker/checks/: piped into the machine (docker compose exec -T <machine> sh -s < exec-<machine>.sh). - host_
environment - On a Docker host, in the project’s folder before
docker compose up: each project file with an owner or a mode read into its variable, its last line breaks kept, as commands joined by&&(ending with one). Nothing when there are none. - init_
names - The one-shot jobs of a machine, in order:
<machine>-init-<n>. - leaf_
jobs - The one-shot jobs no running service waits for: those of machines nothing depends on.
Compose’s
up --waitfails when such a job exits, even with 0, so starters bring the rest up with--waitfirst, then run these attached, in order (seestart_commands). - probe
- A TCP probe for each service port but the dormant ones, run by Isoloom’s own busybox (see
PROBE_IMAGE). - project_
variables - The project files Compose reads from its own environment, as (variable, path in the project).
- ready_
test - Everything a machine’s readiness checks, as one line for Isoloom’s busybox
sh: its ports (probe), then its own healthcheck (health; a page through busyboxwget), grouped so its own||stays its own. Empty when there is neither. - start_
commands - The shell command that starts a Compose project with
compose(e.g.docker compose -f x): plainup -d --build --waitwhen no job is left over, else everything but the jobs up and waited for, then each job attached.jobsare the leaf jobs (leaf_jobs); the services to wait for are listed at run time (as_arguments). - variable
- The variable of Compose’s own environment holding machine
machine’snth file, when it is a project file with an owner or a mode (ISOLOOM_FILE_WEB_1). Machine names are kebab-case, so two files never share one.