π‘ Need help deploying or extending this? β hello@volantvm.com
The modular microVM orchestration engine.
Volant lets you spin up fully isolated microVMs as easily as running a container β with real kernels, VFIO passthrough, and cloud-init built in.
Volant turns microVMs into a first-class runtime surface. The project ships a control plane, CLI, and agent that speak a common plugin manifest so teams can run secure, stateful workloads without stitching together networking, scheduling, and lifecycle plumbing themselves.
Runtime-specific behavior lives in signed manifests and their associated artifacts. The core engine stays lean while plugin authors ship the kernels/initramfs overlays and workload processes their runtime requires. Operators decide which manifests to install and must reference one whenever a VM is created.
Together with fledge β the artifact builder β Volant provides a complete solution for building and deploying microVM's with custom applications embedded in initramfs, or with the regular OCI images we are familiar with.
Cloud-init support makes Volant ideal for dev sandboxes, while VFIO passthrough allows for isolation of GPU and AI workloads.
Volant ships with sensible defaults out of the box, lowering the barrier to entry while keeping full configurability for power users
However, Volant is built to be modular, scriptable and configurable beyond those defaults, and advanced users can customize it to their own needs.
For instance, the Kestrel agent acts as a robust PID1 and is responsible for setting up the guest environment in multiple scenarios, and also acts as a secure proxy to workloads inside network-isolated VM's over vsock, providing a frictionless path to maximum isolation.
If you require more fine-grained control, it is possible to override the kernel paths and the fledge artifact builder has configuration settings for using your own init. Refer to the documentation for more details.
Volant provides:
-
volantd
β Control plane (SQLite registry + VM orchestration) -
volar
β CLI for managing VMs and plugins -
kestrel
β In-guest agent & init (PID 1) -
fledge
β Plugin builder (OCI images β bootable artifacts)
Two paths, same workflow:
Rootfs strategy
β Convert OCI images to bootable disk images (Docker compatibility)Initramfs strategy
β Build custom appliances from scratch (maximum performance)
Spin up your first microVM in under a minute.
# This installs volar (CLI), volantd (control plane), kestrel (guest agent),
# and default kernels to /var/lib/volant/kernel.
# By default, setup creates a bridge (vbr0) at 192.168.127.1/24.
curl -fsSL https://get.volantvm.com | bash
Tip: To inspect or customize network setup later:
sudo volar setup --help
If you prefer to skip automatic setup and handle networking yourself:
curl -fsSL https://get.volantvm.com | bash -s -- --skip-setup
Letβs start with a Caddy initramfs plugin (initramfs-plugin-example)
volar plugins install --manifest \
https://github.com/volantvm/initramfs-plugin-example/releases/latest/download/caddy.json
volar vms create web --plugin caddy --cpu 2 --memory 512
Check itβs alive:
curl 192.168.127.10
# β Hello from Caddy in a Volant microVM! π
4. Try a Docker-based workload (oci-plugin-example)
This example runs NGINX directly from the official Docker image:
volar plugins install --manifest \
https://github.com/volantvm/oci-plugin-example/releases/latest/download/nginx.json
volar vms create my-nginx --plugin nginx --cpu 1 --memory 1024
curl http://192.168.127.11
cat > web-config.json <<'EOF'
{
"plugin": "caddy",
"resources": {
"cpu_cores": 2,
"memory_mb": 512
}
}
EOF
volar deployments create web-cluster \
--config web-config.json \
--replicas 5
Result: 5 isolated microVMs, each with its own kernel, IP, and lifecycle management.
Done β youβve just deployed a replicated microVM cluster with real kernel isolation, no YAMLs, and zero boilerplate.
Use fledge to build custom plugins from OCI images or static binaries.
Examples:
- initramfs-plugin-example β Caddy web server (fast boot, minimal size)
- oci-plugin-example β NGINX from Docker image (Docker compatibility)
Feature | Containers | Volant microVMs |
---|---|---|
Isolation | Kernel shared | Hardware-level (dedicated kernel) |
Boot time | ~1s | 50-150ms (initramfs) / 2-5s (rootfs) |
Image size | 80 MB (NGINX) | 20 MB (full appliance) |
Security | Namespaces | Full VM isolation |
Overhead | Shared kernel | ~25 MB per VM |
Networking | NAT/bridge/overlay | Simple Linux bridge |
GPU Passthrough | Limited | Native VFIO for AI/ML |
βββββββββββββββββββββββββββββββββββββββββββ
β Host Machine β
β βββββββββββββββββββββββββββββββββββββ β
β β volantd (Control Plane) β β
β β β’ SQLite registry β β
β β β’ IPAM (192.168.127.0/24) β β
β β β’ Cloud Hypervisor orchestration β β
β β β’ REST + MCP APIs β β
β βββββββββββββββββ¬ββββββββββββββββββββ β
β β β
β βββββββββββββββββΌββββββββββββββββββββ β
β β Bridge Network (vbr0) β β
β ββ¬βββββββββ¬βββββββββ¬βββββββββ¬ββββββββ β
β β β β β β
β ββΌβββ ββΌβββ ββΌβββ ββΌβββ β
β βVM1β βVM2β βVM3β βVMNβ β
β βββββ βββββ βββββ βββββ β
β βββ βββ βββ βββ β
β βββββ βββββ βββββ βββββ β
β βββββ βββββ βββββ βββββ β
β kestrel agents (PID 1) β
βββββββββββββββββββββββββββββββββββββββββββ
Unified kernel boot:
- Defaults to
bzImage
for maximum compatibility - Optional
vmlinux
override when needed - Both initramfs and rootfs can be supplied; the agent selects the boot path via
volant.boot
(auto | initramfs | rootfs)
- CORS: set
VOLANT_CORS_ORIGINS="http://localhost:3000,https://app.example.com"
to enable browser-based UIs - IP allowlist:
VOLANT_API_ALLOW_CIDR="127.0.0.1/32,192.168.0.0/16"
- API key:
VOLANT_API_KEY=...
then send headerX-Volant-API-Key: <key>
- System summary:
GET /api/v1/system/summary
- VM list with filters/pagination:
GET /api/v1/vms?status=running&runtime=browser&plugin=caddy&q=web&limit=20&offset=0&sort=created_at&order=desc
(returnsX-Total-Count
) - Console WebSocket:
GET ws://<host>/ws/v1/vms/:name/console
(raw serial bridge) - Plugin artifacts API:
- List:
GET /api/v1/plugins/:plugin/artifacts?version=v1
- Upsert:
POST /api/v1/plugins/:plugin/artifacts
- Delete:
DELETE /api/v1/plugins/:plugin/artifacts?version=v1
- List:
VM-level device overrides (VFIO):
{
"devices": {
"vfio": ["0000:01:00.0", "0000:01:00.1"]
}
}
Apply with PATCH /api/v1/vms/:name/config
or via volar
config patching.
- Secure multi-tenancy β True hardware isolation
- Edge computing β Minimal footprint, fast boot
- CI/CD β Ephemeral test environments
- Development β Local Kubernetes-style orchestration
- High-density workloads β 50-100 VMs per host
- AI/ML Run machine learning workloads in isolation
Full documentation: docs.volantvm.com
Quick links:
- Why Volant
- Installation Guide
- Quick Starts Β· Rootfs
- Networking Β· Cloud-init Β· Deployments Β· GPU
- Plugin Development Β· Initramfs Β· OCI Rootfs
- Architecture Overview
- Reference: Manifest Β· fledge.toml Β· CLI Β· OpenAPI
- Contributing Β· Security
See ROADMAP.md for the full vision.
2025 Q3-Q4: VFIO GPU passthrough β Native GPU support for AI/ML workloads
- 2025 Q4: PaaS mode β serverless-like workloads, boot from snapshot
- 2025 Q4: Multi-node clustering support
- GitHub: github.com/volantvm/volant
- Discord: (coming soon)
- Email: hello@volantvm.com
Contributing: See contributing
Business Source License 1.1 β free for personal, educational, and internal use. Commercial hosting or resale requires a license from HYPR PTE. LTD. Converts to Apache 2.0 on October 4, 2029.
See LICENSE for full terms.
Volant β Designed for stealth, speed, and scale.
Β© 2025 HYPR PTE. LTD.