Runtime per kind

Which program runs containers, virtual machines and microVMs on this machine, and what a given binary is.

Each kind of Space has its own setting, runtime.container, runtime.vm and runtime.microvm (auto, builtin or system), and with system a runtime.<kind>_path naming the program to use. runtime_kinds reads them with what is installed for each kind; runtime_check_path tells what a binary is before it is saved. The Cua app's Settings, Advanced shows the same, and cua and the daemon use the same program.

Runtime per kind methods#

Methods of Local.

Local.runtime_kinds#

Each kind of Space (container, vm, microvm) with its runtime setting (runtime.<kind>), the runtimes installed on this machine for it and what the path in use is. Read-only: runs each runtime's --version, nothing else; probed in this process (the daemon runs on the same host).

async def runtime_kinds(self) -> List[RuntimeKindState]

Returns Vec<RuntimeKindState> · Async · Raises CuaError

Local.runtime_check_path#

What path is for kind (container, vm, microvm): there, runnable, which runtime and its version. Settings checks a typed path with it before it is saved (runtime.<kind>_path).

async def runtime_check_path(self, kind: str, path: str) -> RuntimePathProbe
ParameterTypeDefault
kindStringrequired
pathStringrequired

Returns RuntimePathProbe · Async · Raises CuaError

RuntimeKindState record#

One kind of Space's runtime, as Settings shows it.

Returned by Local.runtime_kinds.

FieldTypeDefaultDescription
kindStringcontainer, vm or microvm.
sourceStringruntime.<kind>: auto, builtin or system.
pathOption<String>runtime.<kind>_path, when set.
detectedVec<RuntimeDetected>What is installed here for the kind, the one used first.
checkOption<RuntimePathProbe>The path in use (the custom one, else the first detected), probed.
expectedVec<String>The names of the tools the kind takes here (Docker, Podman).

RuntimeDetected record#

A runtime installed on this machine for one kind of Space.

FieldTypeDefaultDescription
toolStringdocker, podman, lume, qemu, container, firecracker.
nameStringAs people know it (Docker, Apple container).
pathString
versionOption<String>As --version says it (27.3.1).
guestsOption<String>The guest system it runs, when only one (macOS, Linux).

RuntimePathProbe record#

What a binary is, for one kind of Space (runtime_check_path).

Returned by Local.runtime_check_path.

FieldTypeDefaultDescription
pathString
existsboolA file is there.
executableboolIt can be run.
toolOption<String>The tool it is, when it is one the kind takes.
nameOption<String>
versionOption<String>
min_version / minVersionOption<String>The oldest version cua runs on.
expectedVec<String>The names of the tools the kind takes here (Docker, Podman).
guestsOption<String>