the complete set

Everything crucible does.

One static Go binary: the daemon, the CLI, the TUI, and the MCP server. Runtime through platform, isolation through observability.

01

Isolation & security

Firecracker microVM per sandboxEvery workload is a real hardware VM with its own kernel.crucible run
Jailer + KVM confinementchroot, seccomp, cgroups, and dropped capabilities around each guest.--jailer-bin
Per-sandbox network namespaceOwn veth, subnet, DHCP, and DNS proxy; no shared network.netns
Default-deny egressNo network unless allowlisted by hostname or public CIDR.--net-allow
SSRF range-filteringMetadata, link-local, and RFC1918 blocked even with full egress.--net-full-egress
Scoped policy tokensAPI keys bound to operations, egress ceilings, resource caps, and expiry./whoami
Resource capsPer-sandbox vCPU, memory, disk, and timeout ceilings.--memory --vcpus --disk
02

The fork primitive

Live snapshotFreeze a running guest: memory, page cache, and writable rootfs.snapshot create
ForkBranch independent copies of a snapshot in about 125 ms.fork --count
Lazy userfaultfd memoryChildren page in only the working set they touch, not full guest RAM.userfaultfd
Copy-on-write rootfsO(1) disk clone on reflink filesystems; hundreds of forks bounded by RAM.--work-base
Clone-safetyReseed RNG, rotate machine-id and netns before a fork is reachable.fatal-before-reachable
03

Images & files

Boot any OCI imageRun unmodified Docker images in a microVM, no rebuild.crucible run <image>
BuildTurn a Dockerfile context into a bootable image.crucible build
Private registriesPer-registry credentials feed every pull, including app re-pulls.registry login
File push & pullCopy files and directories into and out of a live VM.crucible cp
SizingGrow the rootfs and set memory and vCPUs per run.--disk --memory --vcpus
Prebuilt profilesEight language and runtime rootfs profiles out of the box.--profile
04

Durable apps

Deploy durable appsDesired-state services the daemon keeps alive across restarts.app create
Reach by nameAn ingress proxy routes web.<domain> to the current instance.ingress proxy
Self-healingA crashed instance is reconciled back from spec automatically.reconcile
Zero-downtime updatesBoot, health-gate, flip the route, drain the old instance.app update
Config & healthEnv vars and exec health checks per app.--env
Operate by nameexec, logs, and shell resolved to the current instance per call.app exec / logs / shell
05

Scale

Scale to zeroIdle apps sleep to ~0 RAM and wake in place in about 125 ms.--min-scale 0 --idle-timeout
Scale outN replicas forked from a golden snapshot, P2C load-balanced.--min-scale --max-scale
AutoscaleReplica count tracks request concurrency.autoscale
App-to-app networkingPrivate, default-deny calls between apps at <app>.internal.--can-call
06

Observability

Per-app metricsRPS, latency, errors, replicas, and wake counts on /metrics./metrics
OTLP exportMetrics and logs to any collector; honors OTEL_* env.--otlp-endpoint
Grafana dashboardA reference dashboard ships with it.grafana-dashboard.json
pprofDaemon profiling on a loopback-gated port.--pprof-listen
Packet captureHost-side pcap of a sandbox or app, on demand.sandbox capture
Durable logsPer-sandbox logs that outlive the VM, streamable live.crucible logs -f
07

Interfaces & control

CLIA fast, scriptable command for every operation.crucible
TUIA live terminal dashboard of sandboxes and apps.crucible tui
MCP server27 scoped, policy-gated tools so agents drive the runtime.crucible mcp serve
Go SDKThe typed client the CLI, TUI, and MCP all use.sdk
One REST APISpec-generated and drift-checked, documented byte by byte.openapi.json
API-key authOff on loopback, required everywhere once any key exists.bearer

on any Linux + KVM box

One binary. Install and run.

The installer provisions Firecracker, jailer, and the guest kernel, then starts the daemon under systemd.

$ curl -fsSL https://github.com/gnana997/crucible/releases/latest/download/install.sh | sudo bash -s -- --with-deps --enable