Documentation Index
Fetch the complete documentation index at: https://docs.stacyide.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Runtime Conformance Matrix
This matrix describes what operators should validate before treating a StacyVM runtime provider as production-ready on a host class. The shared provider contract is documented indocs/provider-contract.md; this guide focuses on deployment conformance.
Summary
| Runtime | Host requirement | Production status | Required validation |
|---|---|---|---|
Docker with runc | Docker daemon and socket access | Default broad-compatibility path | Provider health, lifecycle, exec, files, live preview, reconciliation |
Docker with gVisor runsc | Docker daemon plus installed runsc runtime | Stronger container isolation | Same as Docker plus runtime selection and syscall compatibility |
| Docker with Kata | Docker daemon plus installed Kata runtime and virtualization support | VM-backed container isolation | Same as Docker plus nested virtualization/runtime availability |
| Firecracker | Linux, /dev/kvm, Firecracker binary, kernel, rootfs, networking, stacyvm-agent | Highest-isolation target | Full lifecycle and file/exec conformance on real Linux/KVM host |
| PRoot | proot binary, rootfs with expected tools, writable workspace base | Restricted-host fallback | Lifecycle, exec, files, limits, and rootfs language/tool availability |
| E2B | E2B API key and network access | Hybrid/cloud burst option | API reachability, lifecycle, exec, files, and failure mapping |
| Custom | Reachable provider HTTP service | Bring-your-own runtime | Contract conformance against the custom backend |
Baseline Checks
Run these checks for every runtime:STACYVM_SMOKE_URL instead of positional arguments:
Docker
Required host state:- Docker daemon is running.
- StacyVM can access the configured Docker socket.
- The sandbox network exists when
providers.docker.network_modeis a named network. - Traefik or another reverse proxy can reach sandbox containers for live preview.
GET /api/v1/providers/dockerreports healthy.- Spawn an
alpine:latestsandbox. - Execute
echo ok. - Write, read, list, move, chmod, stat, glob, and delete a file.
- Destroy the sandbox.
- Restart StacyVM and confirm orphaned StacyVM containers reconcile correctly.
Docker gVisor
Required host state:- Docker daemon is running.
runscis installed and registered as a Docker runtime.- StacyVM config sets
providers.docker.runtime: "runsc".
- Docker provider health remains healthy with
runtime=runsc. - Basic spawn, exec, file operations, destroy, and live preview still pass.
- Workloads that need unusual syscalls are tested explicitly because gVisor changes syscall behavior.
Docker Kata
Required host state:- Kata runtime is installed and registered with Docker.
- Host supports the virtualization mode required by the Kata installation.
- StacyVM config sets
providers.docker.runtimeto the registered Kata runtime name.
- Docker provider health remains healthy with the Kata runtime.
- Spawn, exec, file operations, destroy, and live preview pass.
- Cold-start latency and memory overhead are measured against operator SLOs.
Firecracker
Required host state:- Linux host with
/dev/kvmavailable. - Firecracker binary installed and executable.
- Kernel image exists at
providers.firecracker.kernel_path. - Rootfs image exists for the requested sandbox image or template.
stacyvm-agentis available atproviders.firecracker.agent_path.- Networking setup permits guest communication.
GET /api/v1/providers/firecrackerreports healthy.- Full provider conformance passes on the Linux/KVM host.
- Snapshot restore paths work for prepared rootfs images.
- Destroy cleans up processes, sockets, tap devices, and temporary runtime files.
- Reconciliation correctly handles stale persisted sandboxes after a StacyVM restart.
PRoot
Required host state:prootbinary is installed.- Rootfs exists at
providers.proot.rootfs_path. - Workspace base is writable by the StacyVM process.
- Rootfs contains the languages and binaries advertised by
providers.proot.languages.
GET /api/v1/providers/prootreports healthy.- Basic lifecycle, exec, and file operations pass against the real rootfs.
- Configured memory and disk caps are understood as operational controls, not VM-grade isolation.
- Rootfs language availability matches templates and SDK examples.
E2B And Custom Providers
Required host state:- Outbound network access to the provider.
- API keys configured through environment variables or a secret manager.
- Provider-specific base URL configured.
- Provider health returns actionable errors when credentials or network are wrong.
- Lifecycle, exec, streaming exec, files, and destroy match
docs/provider-contract.md. - Provider errors map to typed StacyVM errors instead of leaking backend-specific response bodies.

