Declarative cloud-native IaaS and private cloud on Kubernetes
VirtFoundry turns Kubernetes clusters into a multi-tenant private cloud: VPCs, subnets, security groups, VMs, snapshots, IAM, and a web UI — built on KubeVirt and Multus.
Leaving Proxmox (or avoiding raw KubeVirt YAML)? Start with Why VirtFoundry (source).
Website / docs (canonical front door): virtfoundry.github.io/helm-charts/docs — Quickstart, topologies, and project docs. Custom domain (virtfoundry.dev) is optional later; until then this URL is the official entry point.
- Multi-tenancy — isolated namespaces per tenant
- Networking — VPCs, private subnets, optional public IP pool, security groups (NetworkPolicy), L4 load balancers (VIP, listener, target group)
- Compute — KubeVirt VMs, templates, offerings, VM snapshots, noVNC console
- Storage — PVC volumes; volume snapshots (CSI
VolumeSnapshotrequired — notlocal-path) - IAM — users, roles, API keys (
vfd_live_...) - Kubernetes as a service (VKS) — tenant clusters with a Kamaji control plane and KubeVirt VM workers
- State in CRDs —
virtfoundry.ioobjects are the source of truth, no external database - Terraform — official provider
- Packaging — official Helm charts
Under 30 minutes (cluster already has KubeVirt, Multus, CDI): follow the Quickstart.
Full prerequisites and platform setup: installation guide.
helm repo add virtfoundry https://virtfoundry.github.io/helm-charts
helm repo update
# 1. CRDs (separate release: they hold your data, Helm never deletes them)
helm install virtfoundry-crds virtfoundry/virtfoundry-crds \
--version 0.12.0 \
-n virtfoundry-system --create-namespace
# 2. Operator + API + UI in one release
helm install virtfoundry virtfoundry/virtfoundry-platform \
--version 0.12.0 \
-n virtfoundry-system \
--set-string core.secrets.rootPassword='choose-a-strong-password' \
--set-string core.secrets.jwtSecret="$(openssl rand -hex 32)"Needs Linux nodes with /dev/kvm. The chart refuses to install without a root password (12+ chars) and a JWT secret (32+ chars).
Login: root / your root password. For volume snapshots, set platform.storage.snapshotClass (e.g. longhorn) — see Configuration — Snapshots.
| Repository | Purpose |
|---|---|
| virtfoundry/core | REST API, UI (this repo) |
| virtfoundry/operator | virtfoundry.io CRDs and Kubernetes operator |
| virtfoundry/vks | VKS operator: VKSCluster to Kamaji control plane and worker Instances |
| virtfoundry/vks-image-factory | Node images (KubeVirt containerDisk) for VKS workers |
| virtfoundry/helm-charts | Helm charts, docs, deploy scripts |
| virtfoundry/terraform-provider-virtfoundry | Terraform provider |
Open-source core (Apache 2.0) + optional enterprise components from Thurler IT. See docs/PRODUCT.md.
Migration from CloudStack/VMware, SSO, billing, and SLA support: Thurler IT Consultancy — thurlerit.com
Production / homelab: store.driver=kubernetes — platform state in virtfoundry.io CRDs.
Local without cluster: memory store (default for go run).
Prerequisites for kubernetes store: Platform prerequisites — KubeVirt, Multus, CDI, operator CRDs.
export VIRTFOUNDRY_STORE=kubernetes
ROOT_PASSWORD=virtfoundry go run ./cmd/server
cd ui && npm install && npm run devRequires KUBECONFIG pointing at a cluster with virtfoundry.io CRDs installed.
See docs/superpowers/specs/2026-09-01-crd-operator-design.md and docs/ARCHITECTURE.md.
gRPC spike (experimental): InstanceService behind cmux on the same :8080 as REST — see docs/GRPC-SPIKE.md. REST remains canonical for UI/TF; set VIRTFOUNDRY_GRPC=0 to disable.
| Doc | Description |
|---|---|
| docs/CI.md | Required PR checks (Go, UI, Helm, Terraform) |
| docs/WHY.md | Positioning vs Proxmox / KubeVirt / Harvester |
| ROADMAP.md | Near-term product themes |
| docs/GRPC-SPIKE.md | Experimental gRPC InstanceService + cmux (:8080) |
| docs/CNCF-CHECKLIST.md | Traction & CNCF Sandbox checklist |
| docs/CNCF-SANDBOX-APPLICATION.md | Sandbox application draft (tracked in #200) |
| GOVERNANCE.md | How decisions are made |
| MAINTAINERS.md | Lead (Matheus) and maintainers (Weslei, Rodrigo) |
| ADOPTERS.md | Who runs VirtFoundry |
| docs/ARCHITECTURE.md | System design and API overview |
| docs/VM-TEMPLATES.md | VM template catalog, ISO import, container disks |
| docs/PRODUCT.md | Product model (core vs enterprise) |
See CONTRIBUTING.md. Security: SECURITY.md. Conduct: CODE_OF_CONDUCT.md. Maintainers: MAINTAINERS.md.
Questions and ideas: GitHub Discussions. Traction board: VirtFoundry Traction.