delonix oci-runtime
CLI de runtime compatível com o runc (ADR-0080): corre um container a partir de um bundle OCI, com o init do próprio motor por trás do contrato do runc.
runc-compatible runtime CLI (ADR-0080): run a container from an OCI bundle, with the engine's own init behind the runc contract.
O contrato que o Kubernetes, o Docker e o Podman falam com o nível mais baixo é o do
runc: create/start/state/kill/delete
sobre um bundle OCI (um directório com config.json + rootfs/ já
extraído). Este grupo expõe exactamente esse contrato por cima do init do delonix — logo o
delonix oci-runtime pode ocupar o lugar onde hoje está o runc ou o crun.
O estado vive no --root (por omissão $XDG_RUNTIME_DIR/delonix-runtime em rootless, ou
/run/delonix-runtime), à parte do image store: o bundle já traz o rootfs/, por isso
não é preciso imagem nem unpack. O trabalho é traduzir o config.json (args, env,
cwd, hostname, limites delegados, user namespace, seccomp) para o Container + RunSpec do
motor. Campos sem suporte real em rootless (hooks, AppArmor, controladores de recurso não delegados)
são recusados pelo nome, com a razão — nunca ignorados em silêncio.
The contract that Kubernetes, Docker and Podman speak to the lowest level is
runc's: create/start/state/kill/delete
over an OCI bundle (a directory with config.json + an already-extracted
rootfs/). This group exposes exactly that contract on top of delonix's init —
so delonix oci-runtime can take the place where runc or crun sit
today.
State lives under --root (default $XDG_RUNTIME_DIR/delonix-runtime in
rootless, or /run/delonix-runtime), apart from the image store: the bundle already brings
the rootfs/, so no image and no unpack are needed. The work is to
translate config.json (args, env, cwd, hostname, delegated limits, user namespace,
seccomp) into the engine's Container + RunSpec. Fields with no real support
in rootless (hooks, AppArmor, non-delegated resource controllers) are refused by
name, with the reason — never silently ignored.
📄 Implementação real em Rust: cmd/oci_runtime.rs
Usage: delonix oci-runtime [OPTIONS] <COMMAND>
Commands:
create Create a container from an OCI bundle WITHOUT starting it
delete Delete a container's state (teardown; `--force` kills it first)
kill Send a signal to a container (default `SIGTERM`)
start Start a container previously `create`d
state Print the OCI state JSON of a container
help Print this message or the help of the given subcommand(s)
Options:
--root <ROOT>
State directory (the per-runtime root, like `runc --root`). Default: `$XDG_RUNTIME_DIR/delonix-runtime` (rootless) or `/run/delonix-runtime`
-h, --help
Print help (see a summary with '-h')
COMMAND MAP:
Lifecycle create · start · kill · delete
Inspect state
EXAMPLES:
# create a container from an OCI bundle, then start it
delonix oci-runtime create web -b ./bundle
# its OCI state, the way runc reports it
delonix oci-runtime state web
SEE ALSO:
delonix oci-runtime create · delonix oci-runtime start · delonix oci-runtime
state · delonix oci-runtime delete · delonix container
delonix › oci-runtimeoci-runtime create
Create a container from an OCI bundle WITHOUT starting it
Usage: delonix oci-runtime create [OPTIONS] --bundle <BUNDLE> <ID>
Arguments:
<ID>
Options:
-b, --bundle <BUNDLE>
Path to the OCI bundle (its `rootfs/` and `config.json`)
--root <ROOT>
State directory (the per-runtime root, like `runc --root`). Default: `$XDG_RUNTIME_DIR/delonix-runtime` (rootless) or `/run/delonix-runtime`
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# stage a container from a bundle without running it
delonix oci-runtime create web -b ./bundle
SEE ALSO:
delonix oci-runtime start · delonix oci-runtime state · delonix oci-runtime
delete
delonix › oci-runtime › createExemplosExamples
delonix image export --rootless alpine:3.19 /tmp/b && delonix oci-runtime create c1 --bundle /tmp/boci-runtime start
Start a container previously created
Usage: delonix oci-runtime start [OPTIONS] <ID>
Arguments:
<ID>
Options:
--root <ROOT>
State directory (the per-runtime root, like `runc --root`). Default: `$XDG_RUNTIME_DIR/delonix-runtime` (rootless) or `/run/delonix-runtime`
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# run a container that was already created
delonix oci-runtime start web
SEE ALSO:
delonix oci-runtime create · delonix oci-runtime state · delonix oci-runtime
kill
delonix › oci-runtime › startExemplosExamples
delonix oci-runtime start c1oci-runtime state
Print the OCI state JSON of a container
Usage: delonix oci-runtime state [OPTIONS] <ID>
Arguments:
<ID>
Options:
--root <ROOT>
State directory (the per-runtime root, like `runc --root`). Default: `$XDG_RUNTIME_DIR/delonix-runtime` (rootless) or `/run/delonix-runtime`
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# print the OCI runtime-spec state JSON
delonix oci-runtime state web
SEE ALSO:
delonix oci-runtime create · delonix oci-runtime start
delonix › oci-runtime › stateExemplosExamples
delonix oci-runtime state c1oci-runtime kill
Send a signal to a container (default SIGTERM)
Usage: delonix oci-runtime kill [OPTIONS] <ID> [SIGNAL]
Arguments:
<ID>
[SIGNAL]
[default: SIGTERM]
Options:
--root <ROOT>
State directory (the per-runtime root, like `runc --root`). Default: `$XDG_RUNTIME_DIR/delonix-runtime` (rootless) or `/run/delonix-runtime`
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# send SIGTERM (the default)
delonix oci-runtime kill web
# send a specific signal
delonix oci-runtime kill web SIGKILL
SEE ALSO:
delonix oci-runtime delete · delonix oci-runtime state
delonix › oci-runtime › killExemplosExamples
delonix oci-runtime kill c1 KILLoci-runtime delete
Delete a container's state (teardown; --force kills it first)
Usage: delonix oci-runtime delete [OPTIONS] <ID>
Arguments:
<ID>
Options:
-f, --force
--root <ROOT>
State directory (the per-runtime root, like `runc --root`). Default: `$XDG_RUNTIME_DIR/delonix-runtime` (rootless) or `/run/delonix-runtime`
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# tear down a stopped container's state
delonix oci-runtime delete web
# kill it first, then delete
delonix oci-runtime delete web --force
SEE ALSO:
delonix oci-runtime kill · delonix oci-runtime create
delonix › oci-runtime › deleteExemplosExamples
delonix oci-runtime delete c1