Governance-First KubeVirt VM Management Platform
Self-service virtual machine lifecycle management with structured approval workflows, role-based access control, and full audit trails across multiple Kubernetes clusters.
KubeVirt runs your VMs.
Who governs them?
KubeVirt solves "running VMs on Kubernetes". Shepherd solves what comes next: who can request a VM, who approves it, how are quotas enforced, and where is the audit trail?
Without Governance
- ⚠️Anyone can spin up VMs without approval
- ⚠️No visibility into who did what and when
- ⚠️Resource sprawl and orphaned instances
- ⚠️Compliance gaps in regulated environments
- ⚠️Vendor lock-in with commercial solutions
With Shepherd
- ✅Structured approval workflows for every VM operation
- ✅Complete audit trail for every resource change
- ✅Governed self-service — freedom with guardrails
- ✅Production-grade RBAC with environment scoping
- ✅No vendor lock-in — runs on any Kubernetes distribution
How Shepherd Compares
| Capability | OpenShift Virtualization | Shepherd |
|---|---|---|
| Multi-cluster management | Requires RHACM | ✔ Native |
| Approval workflows | ✔ | ✔ Built-in |
| Self-service portal | Operator-driven | ✔ Request → Approve → Deliver |
| Audit trail | OpenShift-integrated | ✔ Platform-native |
| Vendor lock-in | Strong (OpenShift) | None |
Search by the KubeVirt problem you are solving
Focused guides for teams evaluating KubeVirt UI, dashboards, VM management, self-service, approval workflows, multi-tenant RBAC, console access, and multi-cluster operations.
Self-Service Portal
A request-approve-deliver portal for KubeVirt VMs with RBAC, audit history, and multi-cluster placement controls.
Read guide KubeVirt UIUI & Dashboard
A KubeVirt dashboard for teams that need more than a generic Kubernetes resource view: VM requests, approvals, access control, and audit history.
Read guide KubeVirt VM ManagementVM Management
Govern create, modify, power, delete, export, and console workflows for KubeVirt virtual machines.
Read guide KubeVirt GovernanceApproval Workflow
Govern VM create, change, power, delete, export, and console access flows through approval-aware operations.
Read guide Multi-Tenant KubeVirtMulti-Tenant RBAC
A governance layer for teams that need KubeVirt self-service without giving every user direct cluster-wide control.
Read guide Multi-Cluster KubeVirtMulti-Cluster
A cluster-aware KubeVirt management layer for teams operating VMs across environments, namespaces, and Kubernetes clusters.
Read guide KubeVirt ConsoleConsole Access
VNC and serial console entrypoints for KubeVirt VMs, tied to the same access and audit model as other VM lifecycle operations.
Read guide Open-Source KubeVirt ManagementManagement Platform
A vendor-neutral control layer for KubeVirt VM governance, self-service, approval workflows, RBAC, and audit trails.
Read guideProduction Governance Capabilities
Every capability balances platform control with user autonomy — structured enough for compliance, flexible enough for daily operations.
Approval Workflows
Structured request and multi-level approval for every VM lifecycle operation — create, modify, start, stop, delete.
Dual-Layer RBAC
Platform-facing RBAC for global capabilities, plus System membership that inherits down to Services and VMs with environment scoping.
Full Audit Trail
Complete operation history for every resource change. Know who did what, when, and why — compliance-ready from day one.
Multi-Cluster
Unified management plane across multiple Kubernetes clusters. No additional components like RHACM required.
VM Console Access
VNC and serial console access with approval-aware entrypoints. Direct browser-based console for managed virtual machines.
Internationalization
Chinese/English UI out of the box, extensible to additional languages. Auth Plugin SDK for LDAP, OIDC, and custom providers.
Engineering Approach
Contract-first API design, declarative schema migrations, and structured decision governance through Architecture Decision Records.
Contract-First API
OpenAPI spec drives code generation, docs, and client SDKs.
PostgreSQL-Only
No Redis, no external MQ. Minimal operational complexity.
ADR Governance
53 Architecture Decision Records with full context and rationale.
CI Gate Enforcement
Lint, test, type-check, build — all enforced. No bypass allowed.
Two Ways to Try Shepherd
From instant demo to full self-hosted deployment — pick the path that fits your needs.
Frequently Asked Questions
Quick answers about KubeVirt Shepherd: project status, deployment, supported versions, authentication, and how Shepherd compares to KubeVirt and OpenShift Virtualization.
What is KubeVirt Shepherd?
KubeVirt Shepherd, also referred to as kv-shepherd or kubevirt-shepherd, is an open-source, governance-first management platform for KubeVirt virtual machines. It provides self-service VM lifecycle management with structured approval workflows, dual-layer RBAC, environment-scoped role bindings, and full audit trails across multiple Kubernetes/KubeVirt clusters. The project is released under Apache 2.0 at https://github.com/kv-shepherd/shepherd.
How is Shepherd different from KubeVirt itself?
KubeVirt provides the core capability of running virtual machines on Kubernetes. Shepherd focuses on the operating model around those VMs: who can request them, who approves the change, how platform permissions are enforced, which clusters are available, and where the audit trail lives. Shepherd does not replace KubeVirt — it adds the governance layer required to operate KubeVirt in regulated, multi-team environments.
Is Shepherd an alternative to OpenShift Virtualization?
Yes, for teams that want VM governance without coupling to a specific commercial platform stack. Shepherd ships with native multi-cluster management (no RHACM required), built-in approval workflows, a request-approve-deliver self-service portal, platform-native audit trails, and zero vendor lock-in. It is Apache 2.0 licensed and runs on any Kubernetes distribution that meets the supported KubeVirt and Kubernetes baselines.
What is the current project status of KubeVirt Shepherd?
Shepherd is currently Alpha (current published prerelease: v0.1.1-alpha.8). The core governance paths — approval workflows, RBAC, audit trails, and VM lifecycle management — have been validated through internal production use in a financial-services Kubernetes/KubeVirt environment. The Alpha label is intentionally conservative while broader external feedback is gathered across different KubeVirt versions, storage classes, auth providers, and organization models.
How can I try or deploy KubeVirt Shepherd?
You can explore the live online demo at https://demo.kv-shepherd.io without any installation. For self-hosting, four deployment paths are officially supported: (1) Helm chart for Kubernetes-native installs from kv-shepherd/helm-charts (recommended); (2) Docker Compose using published GHCR release images for VPS or production hosts; (3) local development from source via ./start-dev.sh; (4) Docker Compose source-build mode when you want to build images from a checkout. See docs/DEPLOYMENT.md for the full guide and security checklist.
What VM operations does Shepherd govern?
Shepherd applies its approval workflow and audit trail to the full VM lifecycle: create, modify, power (start, stop, restart), delete, manifest export, and VNC/serial console entrypoints. Admin catalogs cover clusters, namespaces, templates, instance sizes, auth providers, rate limits, roles, and users.
What is the technology stack and which KubeVirt and Kubernetes versions are supported?
Shepherd uses a Go backend (Gin, Ent and sqlc hybrid persistence, River Queue for PostgreSQL-native async execution), a single PostgreSQL 18 data store (no Redis, no external message queue), and a React 19 plus Next.js 16 web UI. The KubeVirt provider is aligned with KubeVirt v1.8.x and Kubernetes v1.34.x. Building from source requires Go 1.25.10 or newer and Node.js 22 or newer.
Which authentication providers does Shepherd support?
Shepherd ships with an Auth Provider Plugin SDK and supports LDAP, OIDC, and custom integrations. Sessions, login routes, and trust boundaries are treated as first-class security concerns and are continuously hardened — see CHANGELOG entries under the auth and security categories.
Is Shepherd free and open source?
Yes. KubeVirt Shepherd is released under the Apache License 2.0 and developed in the open at https://github.com/kv-shepherd/shepherd. There is no paid tier and no vendor lock-in. Community channels include Discord (https://discord.gg/9P2wtpPMUe), GitHub Issues, and GitHub Discussions.
Built in the Open
Shepherd is Apache 2.0 licensed and developed in the open. We follow community best practices with transparent governance, Architecture Decision Records, and an enforced CI pipeline to ensure code quality.
We welcome all forms of feedback — bug reports, feature suggestions, usage stories, and governance ideas. Your input shapes the project direction.