Saltar al contenido principal

Visión general de la CLI

El binario​

rc es el binario del host. Se ejecuta en macOS Apple Silicon y en Linux x86_64/aarch64 con KVM.

rc --help
SubcomandoQué hacePágina
runejecuta código en una VM nueva (arranque en frío), con la salida en streamingrun y shell
shellshell interactivo en una VM nueva de una stackrun y shell
machine ...máquinas persistentes: create, start, exec, shell, cp, logs, stop, delete, run, branch, pause, resume, sync, update, status, ls, data-dir, prunemachine, runner.code, Red y volúmenes
pack ...create, inspect, prune: imagen o máquina en un artefacto portátilpack
serveAPI HTTP con pool de VMs pre-arrancadas y rutas de máquinaAPI HTTP
image build, image prunegenera el ext4 de una o más stacks a partir de la imagen OCI oficial; limpia la cachéimage
languageslista el catálogo y si la imagen de cada stack ya está construidamás abajo
doctorverifica si el host puede ejecutar microVMs y qué ofrecemás abajo
vmmproceso de una VM; uso interno, invocado por el launcherlibkrun

El guest (runner-guest) es otro binario y se ejecuta solo dentro de la VM; no se invoca a mano.

languages​

rc languages

Una línea por stack del catálogo, con ready=true cuando el ext4 ya existe en la caché, y la imagen OCI de origen:

awk      ready=true  alpine:3.22
...
llama ready=true fedora:43
nodejs ready=false node:22-alpine
python ready=true python:3.12-alpine

doctor​

rc doctor

Una línea por elemento, con ok, info, warn o FAIL. Salida real en un Mac M1 Pro:

ok    platform
ok libkrun
ok gpu: libkrun built with virtio-gpu (Venus); use --gpu on a stack with gpu
info cuda: not supported (no CUDA remoting; --gpu is Vulkan)
info nested: not supported on this host; --nested is refused
ok guest
info sandbox: macOS has no Landlock/seccomp; the VM process runs unconfined
ok image awk
...
ElementoQué verifica
platformmacOS en Apple Silicon, o Linux con /dev/kvm abierto para lectura y escritura
libkrunsi la biblioteca carga desde la ruta configurada
gpu, cudasi libkrun tiene virtio-gpu (Venus); CUDA no está soportado
nestedsi el host anida virtualización (--nested)
guestsi el binario del guest existe junto al host
sandboxen Linux, la ABI de Landlock y seccomp; avisa cuando la ABI es < 9
image <stack>una línea por imagen ya construida

Una falla aparece como FAIL <item> <motivo>, y el comando termina con error cuando hay alguna.

Variables de entorno​

VariableValor por defectoUso
RUNNER_LISTEN127.0.0.1:8080dirección de serve
RUNNER_CACHE_DIR~/Library/Caches/runner-codes (macOS), ~/.cache/runner-codes (Linux)imágenes, VM de build, máquinas, packs, sockets
RUNNER_KRUN_LIB~/.nix-profile/lib/libkrun.dylib (macOS); en Linux ~/.nix-profile/lib/libkrun.so.1 o el soname libkrun.so.1ruta de libkrun
RUNNER_GUEST_BINrc-guest-linux-<arch> junto al hostguest inyectado en las imágenes
RUNNER_SANDBOXactivadooff desactiva Landlock + seccomp en Linux, solo para diagnóstico

Mediante el Taskfile​

TaskEquivale a
task run -- <flags>./bin/rc run <flags>
task shell -- <flags>./bin/rc shell <flags>
task serve -- <flags>./bin/rc serve <flags>
task image:build -- <flags>./bin/rc image build <flags>
task doctor./bin/rc doctor