THakur Runtime Isolation Virtualization Engine — a daemonless, rootless, OCI-compliant container runtime written in Go.
Thrive reimplements core container runtime concepts from the ground up: image distribution, namespace isolation, resource limits, and networking — with no central daemon and a fully auditable codebase.
| Capability | Status |
|---|---|
| OCI image pull / push / build | Complete |
| Namespace isolation (PID, mount, UTS, IPC, net) | Complete |
| cgroups v2 resource limits | Complete |
| Rootless (user namespaces) | Complete |
| Lazy-pull via FUSE chunk store | Complete |
| P2P image distribution (DHT) | Complete |
| AES-256-GCM secret store | Complete |
| Ed25519 image signing | Complete |
| CNI network + port forwarding | Complete |
| OpenTelemetry observability | Complete |
| Systemd socket activation | Complete |
| macOS VM desktop (vfkit) | Complete |
thrive CLI (cross-platform)
cmd/thrive ──proxy──▶ cmd/thrived (Linux daemon)
│
┌─────────▼─────────┐
│ thrived │
│ runtime + ns │
│ network + CNI │
│ cgroup v2 │
│ OCI image store │
│ FUSE lazy-pull │
│ DHT p2p │
│ AES-GCM secrets │
│ Ed25519 signing │
└────────────────────┘
git clone https://github.com/thakurtpr/thrive
cd thrive && make install
thrive --version
thrive run alpine:3.19 -- echo hello
thrive ps
thrive imagesgit clone https://github.com/thakurtpr/thrive
cd thrive
GOOS=darwin go build -o bin/thrive ./cmd/thrive
thrive desktop init
thrive desktop start
thrive run alpine:3.19 -- echo helloRequires Go 1.25+.
make build # CLI for current OS
make build-linux # linux/amd64 + linux/arm64
make build-darwin # darwin/arm64 CLI
make test # full test suite
make test-cover # with coverage report
make lint # golangci-lintsudo make install-systemd
sudo systemctl enable --now thrive.socketcurl -fsSL https://raw.githubusercontent.com/thakurtpr/thrive/main/scripts/install.sh | sh- Kernel 5.11+, cgroups v2
/dev/fusefor lazy-pull- Go 1.25+ to build from source
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Code of Conduct: CODE_OF_CONDUCT.md