CellarCellar
Client API

Run the gateway

Start cellar-gateway and use the HTTP JSON API

On each node that should serve HTTP (typically every manager, optionally workers):

sudo systemctl enable --now cellar-gateway
# or manually:
cellar-gateway --listen :8080 --data-dir /var/lib/cellar
# optional: --upstreams 192.0.2.10:17946,192.0.2.11:17946

The gateway loads the cluster CA from --data-dir. Managers dial their advertise address; workers dial their stored manager_addr plus any rediscovered manager_addrs from heartbeats/join. Override with --upstreams for an explicit multi-manager list.

Health endpoints

No auth:

PathMeaning
/healthzProcess is up
/readyzCan reach a manager SandboxAPI

HTTP API

Routes follow the microsandbox cloud shape. All require Authorization: Bearer cellar_… or X-Api-Key:

MethodPathNotes
POST/v1/sandboxescreate body is microsandbox CloudSandboxSpec (Cellar does not extend it; create-time network.secrets supported)
GET/v1/sandboxeslist
GET/v1/sandboxes/:idget
POST/v1/sandboxes/:id/startstart
POST/v1/sandboxes/:id/stopstop
DELETE/v1/sandboxes/:idremove
GET/v1/sandboxes/:id/logslog stream
GET/v1/sandboxes/:id/agentagent WebSocket relay
GET/v1/sandboxes/by-name/:nameget by name
POST/v1/sandboxes/by-name/:name/startstart by name
POST/v1/sandboxes/by-name/:name/stopstop by name
DELETE/v1/sandboxes/by-name/:nameremove by name
GET/v1/volumeslist volumes
POST/v1/volumescreate volume
GET/v1/volumes/defaultdefault volume
DELETE/v1/volumes/:iddelete volume
*/v1/volumes/:id/files…volume filesystem ops

Point official microsandbox SDKs at this gateway as the cloud backend.

On this page