Platform prerequisites¶
Install these before virtfoundry-operator and virtfoundry. VirtFoundry does not bundle hypervisor or CNI operators — pin versions to match your Kubernetes distro.
Recommended order: Kubernetes → storage → KubeVirt → Multus → CDI → (optional) MetalLB / snapshot CRDs → virtfoundry-operator → virtfoundry.
Required¶
| Component | Docs | Verify |
|---|---|---|
| Kubernetes 1.28+ | kubernetes.io/docs/setup | kubectl version |
| KubeVirt | Quickstart · User guide | kubectl get pods -n kubevirt · kubectl get crd virtualmachines.kubevirt.io |
| Multus CNI | Installation · How to use | kubectl get pods -n kube-system -l app=multus · kubectl get crd network-attachment-definitions.k8s.cni.cncf.io |
| CDI (ISO/import templates) | Installing CDI · KubeVirt lab | kubectl get pods -n cdi · kubectl get crd datavolumes.cdi.kubevirt.io |
| StorageClass (Longhorn recommended) | Longhorn install | kubectl get sc |
| virtfoundry-operator | Installation | kubectl get crd tenants.virtfoundry.io |
Recommended¶
| Component | Docs | When |
|---|---|---|
| CSI external-snapshotter | Installation | Volume snapshots (Longhorn includes snapshot class) |
| MetalLB | Installation | Bare-metal LoadBalancer Services / tenant L4 VIPs |
| Ingress or Gateway API | Ingress-NGINX · Gateway API guides | Expose UI + API on a hostname |
Not used¶
VirtFoundry does not require MySQL, Vitess, or an async worker. Platform state is stored in virtfoundry.io CRDs (store.driver=kubernetes).
Laptop / CI¶
| Path | Guide |
|---|---|
| Kind (no VLAN) | Kind |
| Under 30 min | Quickstart |
| Production-style homelab | Topologies |
Upstream version pins (reference)¶
Check upstream release notes before upgrading. Homelab has been validated with:
- Kubernetes 1.28+
- KubeVirt 1.4.x / 1.5.x
- Multus 4.x (thin plugin deployment)
- CDI 1.61+
- Longhorn 1.6+
After prerequisites are green, continue with Installation.