Skip to main content
🤠

Corral

Alpha

Herd your VMs into your tailnet — QEMU + KubeVirt VM manager with a Proxmox-style web UI.

Corral gives you one command for VMs on your laptop and your Kubernetes cluster. Local QEMU/KVM and cluster KubeVirt share the same five verbs — create, start, ssh, viewer, delete. Every VM lands on your Tailscale tailnet automatically. One static Go binary, no daemons.

QEMU/KVM + KubeVirtBackends
CLI · TUI · Web UIInterfaces
One static Go binaryBinary

See it in action

Corral web dashboard — datacenter view
Corral web dashboard — datacenter view
Corral web UI on mobile
Corral web UI on mobile

Features

🐄

Same commands everywhere

create, start, ssh, viewer, delete — identical whether local QEMU or cluster KubeVirt.

🔑

SSH that just works

Public key injected at create time. Corral picks the right path: K8s tunnel for cluster VMs, Tailscale port-forward for local ones.

🌐

VMs join your tailnet

Drop a Tailscale auth key and every cloud-init VM registers itself — MagicDNS name and all.

🖥️

Proxmox-style web UI

Dark dashboard with datacenter→node→VM tree, live status, create wizard, one-click live migration, in-browser VNC and serial consoles.

🧩

Plugin marketplace

Extensions ship as plugins — browse, install, and run from CLI or web UI. bootc plugin builds OS disks on-cluster from container images.

One static binary

No daemons, no controllers, no client-side K8s SDK. Drives kubectl/virtctl/systemctl — the tools you already trust.

Get started

Build from source
git clone https://github.com/tuna-os/corral.git
cd corral
go build -o corral .
Start the web UI
./corral web