Expand description
The container runtime seam (Principle #3, deep module).
veloslet drives micro-VMs only through the ContainerRuntime trait, so the
Apple Containerization container CLI can be swapped for Tart, Linux, or a
fake without touching the worker’s reconcile logic. Every instance is keyed by
its Velos container uid, which makes actuation idempotent: reconcile after a
crash matches existing instances by uid before launching.
Backends today: AppleContainer (real) and FakeRuntime (tests). A Linux
backend (e.g. via podman/runc or a libkrun micro-VM) is the planned next
addition behind this same trait — tracked separately, not in this change.
Structs§
- Apple
Container - Real backend: shells out to the
containerCLI viatokio::process. - Fake
Runtime - An in-memory runtime used by tests and
velos-tests. Exit can be simulated withFakeRuntime::set_exited. - Instance
- One instance the runtime is tracking, tagged with its Velos uid.
- Instance
Id - The runtime-local identifier of a launched instance.
- RunSpec
- What
velosletasks the runtime to launch.
Enums§
- Instance
State - Observed liveness of an instance. There is no “assumed running”: an instance
the runtime cannot account for simply isn’t in
list. - Runtime
Error