Skip to content
virtfoundryPublic

About

VirtFoundry core — API, worker, and UI for Kubernetes-native private cloud (KubeVirt)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Latest commit

 

History

235 Commits

Folders and files

VirtFoundry

Declarative cloud-native IaaS and private cloud on Kubernetes

License Kubernetes KubeVirt Discussions Project

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.

Key features

  • 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 VolumeSnapshot required — not local-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.io objects are the source of truth, no external database
  • Terraform — official provider
  • Packaging — official Helm charts

Quick start

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.

Repositories

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

Product model

Open-source core (Apache 2.0) + optional enterprise components from Thurler IT. See docs/PRODUCT.md.

Enterprise support

Migration from CloudStack/VMware, SSO, billing, and SLA support: Thurler IT Consultancy — thurlerit.com

Development

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 dev

Requires 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.

Documentation

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)

Contributing

See CONTRIBUTING.md. Security: SECURITY.md. Conduct: CODE_OF_CONDUCT.md. Maintainers: MAINTAINERS.md.

Questions and ideas: GitHub Discussions. Traction board: VirtFoundry Traction.

License

Apache License 2.0 — see LICENSE and NOTICE.

About

VirtFoundry core — API, worker, and UI for Kubernetes-native private cloud (KubeVirt)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages