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 Shepherd dashboard overview

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

CapabilityOpenShift VirtualizationShepherd
Multi-cluster managementRequires RHACM✔ Native
Approval workflows✔ Built-in
Self-service portalOperator-driven✔ Request → Approve → Deliver
Audit trailOpenShift-integrated✔ Platform-native
Vendor lock-inStrong (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.

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

Web UIReact 19 · Next.js 16
▼ REST / WebSocket
Go BackendGin · Ent ORM · River Queue
PostgreSQL 18Single data store
KubeVirt Clustersclient-go · Multi-cluster
01

Contract-First API

OpenAPI spec drives code generation, docs, and client SDKs.

02

PostgreSQL-Only

No Redis, no external MQ. Minimal operational complexity.

03

ADR Governance

53 Architecture Decision Records with full context and rationale.

04

CI Gate Enforcement

Lint, test, type-check, build — all enforced. No bypass allowed.

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.