Skip to main content

Module config

Module config 

Source
Expand description

runnerd.toml: the repositories to serve, the runner profiles they use, the shared caches and the host budget they must fit in. Builds without the host feature, so clients can read a config; its only I/O is reading the file and asking systemctl for a slice’s MemoryMax. It never talks to Docker or GitHub.

Structs§

ByteSize
A size in bytes, written with a binary unit as Docker and systemd do: 512M, 9G, 32.5G.
CacheLimit
A size limit on a shared cache.
Caches
[caches]: what runners share and keep between jobs.
Config
A parsed runnerd.toml. validate checks it against the host’s budget.
History
[history]: the job history database and how long it keeps what. Every field has a default.
Host
[host]: where runner containers run and how they are isolated.
Mirror
The Docker Hub pull-through mirror shared by all runners.
Profile
A runner image with its limits; every job of the profile gets one container with these limits.
Repository
A repository to serve: [[repositories]].

Enums§

ConfigError
Why a config cannot be used.
Image
The image a profile’s runners run.
Isolation
How runner containers are kept from the host: isolation under [host].
Warning
What a valid config should still fix.

Functions§

parse_memory_max
Parses a MemoryMax value as systemctl show prints it: bytes, or infinity.
slice_memory_max
Reads a slice’s MemoryMax from systemd; None when it is unlimited.