Skip to main content

Module cache

Module cache 

Source
Expand description

The warm caches runner containers share and keep between jobs: each profile’s read-only snapshot, each slot’s volume (its layers’ changes and its Docker Engine’s data), the shared pnpm store and Maven repository, and the Docker Hub mirror on the runners’ network. Owns their names, mounts and lifecycle; it never decides when a runner starts, and it never touches a volume a running container uses.

Structs§

Emptied
A shared cache trim_shared emptied.
Names
The names of everything runnerd creates in Docker, under one prefix: runnerd, or another for tests.
Reseed
What reseed runs on: the profile’s image and limits, its slots and the isolation backend.
Trimmed
What trim_shared measured and emptied.

Constants§

MIRROR_IMAGE
The Docker Hub pull-through cache (registry 3.1.2, multi-platform index).

Functions§

finish_reseed
Waits for a seed container to exit, removes it, and returns its output. Also takes over a seed container an earlier daemon left running: stopping it between its rm and mv would lose that snapshot layer.
mirror_body
The mirror container: Docker Hub through a proxy registry, which refuses pushes, so a job can only make it fetch what Docker Hub serves. Content not pulled again within the TTL expires. No published port.
mirror_down
Stops the mirror; its storage stays.
mirror_up
Starts the mirror unless it runs.
prepare
Creates what a profile’s runner in slot (1-based) mounts and joins, if missing.
reseed
Makes slot 1’s layers the profile’s new snapshot and drops every slot’s own layer changes (image/seed.sh), if slot 1 changed at least min_changes. Call only while none of the profile’s slots runs. Returns the seed container’s output.
runner_mounts
What a runner container in slot slot (1-based) of the profile mounts (paths from image/Dockerfile).
trim_shared
Empties the shared caches that outgrew their limit; call only while no runner runs.
volumes
Every cache volume the config’s profiles use, what it holds and its limit, with size 0.