API del daemon
Un socket Unix. Nunca un puerto.
Controlar microVMs equivale a root en su host. Por eso el daemon solo escucha en /run/kling.sock (Linux) o en ~/Library/Application Support/kindling/kling.sock (macOS). En remoto, SSH.
curl --unix-socket /run/kling.sock http://kling/infoGET /info devuelve la versión, el backend, la arquitectura, el modo de copia de discos y las capacidades. Una extensión mira ahí lo que necesita en vez de deducirlo de la versión.
Rutas principales
Sección titulada «Rutas principales»| Ruta | Qué hace |
|---|---|
POST /machines |
crea y arranca (imagen o from un snapshot) |
POST /machines/{ref}/freeze · /thaw |
ciclo de vida |
POST /machines/{ref}/exec |
ejecutar dentro (con allow_exec) |
POST /machines/{ref}/credentials |
claves al proxy de credenciales |
POST /machines/{ref}/guest |
reenvía una petición HTTP al invitado |
POST /graphs |
crea un grafo |
GET /events |
flujo NDJSON de eventos |
GET /metrics |
Prometheus |
Los errores vuelven como {"message": "..."}. 507 significa “no cabe en memoria”: el planificador lo usa para desalojar y reintentar.
Escribir una extensión
Sección titulada «Escribir una extensión»Un ejecutable kling-<nombre> que contesta --kling-manifest y habla con el daemon solo por esta API. En Go: pkg/plugin, pkg/api, pkg/config.