Skip to main content

Module engine

Module engine 

Source
Expand description

The container engine layer: finding a working engine, spelling out its commands and running them.

Building a command is pure: a request goes in, a program and an argument list come out, so every command is checked in tests without a container runtime anywhere near them. Running is separate, in run.

Modules§

known
Engine refusals QCode can put into a plain sentence.
names
What QCode calls the images, containers and volumes it makes.
run
Running the commands an Engine spells out.
scratch
Folders of this machine that a container is handed for one piece of work: the folder a login is taken out into, the folder a sign-in window leaves addresses in, the context an image is built from.

Structs§

Container
One container as Engine::list_containers lists it.
ContainerCreate
Creating the lasting container of a workspace, on its own or with a profile in it.
CopyIn
Copying from the host into a container.
CopyOut
Copying out of a container onto the host.
Engine
A container engine QCode can use: its kind and the binary that was found.
EngineCommand
A command to run: the engine binary and its arguments, ready for std::process::Command or for qframe’s TerminalSession::spawn.
Exec
Running a command in a container that is already up.
ImageBuild
Building the image a profile or the base lives in.
Mount
One thing the container can see at a path of its own.
RunAttached
Running a program in a container of its own, attached to a terminal, removed when it ends.
RunOnce
Running a command in a container of its own that is removed as soon as the command ends.
RunWindow
Running a program in a container of its own that draws a window on the person’s desktop.
Socket
A socket of this machine, made reachable inside a container at a path of its own.
Tmpfs
A private, writable filesystem a container gets of its own at a path inside it.

Enums§

Access
Whether a mount may be written to.
ContainerState
The state a container is in.
EngineKind
Which container engine: the two QCode supports.
HostUser
Who a container runs as.
MountSource
What a mount brings into the container.
Network
Whether a container reaches the network.
Unavailable
Why an engine cannot be used. Each one asks something different of the person, so each one is kept apart; the words are in the language files.

Constants§

ANSWER_WITHIN
How long an engine is given to answer a question: whether an image is there, what a container is doing, to remove a volume. Each of those takes a moment; one that has taken this long is not going to answer, usually because the engine is stuck waiting on a lock of its own, and the person is better told so than left looking at a task that never ends. Generous, because a busy machine can make a moment long.

Functions§

detect
Looks for kind and makes sure it works.