RHEL Virtual Machine
Golden Path

Self-service provisioning of RHEL virtual machines on OpenShift Virtualization with GitOps-driven lifecycle management via bootc (image-mode RHEL).

Get Started Architecture

What is this Golden Path?

This is a Backstage Software Template designed for Red Hat Developer Hub that enables platform teams and developers to provision RHEL virtual machines on OpenShift Virtualization through a self-service wizard. Every VM is managed declaratively via GitOps (ArgoCD), and the operating system can be delivered as an immutable OCI image using bootc (image-mode RHEL).

Optionally, the VM can be exposed to external traffic through Red Hat Connectivity Link (Kuadrant), which provides Gateway API routing, authentication policies (OIDC or API Key), and rate limiting — all configured from the same wizard.

Key Capabilities

🏘

VM Provisioning

Configure CPU, memory, storage, boot source, and run strategy through a guided wizard. The template generates all required Kubernetes manifests automatically.

📦

bootc (Image-Mode RHEL)

Deliver the OS as an OCI container image. Atomic updates, automatic rollbacks, and a familiar container build workflow for infrastructure teams.

🔄

GitOps with ArgoCD

Every VM is backed by a Git repository. Push a change, ArgoCD reconciles it. Full audit trail, drift detection, and self-healing built in.

🔒

Connectivity Link

Expose VMs through Gateway API with Kuadrant-powered authentication (OIDC / API Key) and rate limiting. Publish APIs to a Dev Portal.

📝

Developer Hub Catalog

Each provisioned VM is automatically registered in the Backstage catalog with TechDocs, ArgoCD status, and Kubernetes topology views.

📧

Notifications

After provisioning, a confirmation email is sent with VM details, namespace, compute specs, and boot source information.

How it Works

Developer Hub          Gitea               ArgoCD            OpenShift Cluster
     |                   |                   |                      |
     |  1. Fill wizard   |                   |                      |
     |------------------>|                   |                      |
     |  2. Push manifests|                   |                      |
     |                   |  3. Webhook       |                      |
     |                   |------------------>|                      |
     |                   |                   |  4. Sync manifests   |
     |                   |                   |--------------------->|
     |                   |                   |                      |
     |                   |                   |         VirtualMachine created
     |                   |                   |         Service created
     |                   |                   |         Gateway + Policies (optional)
     |                   |                   |                      |
     |  5. Catalog entry registered          |                      |
     |<--------------------------------------|                      |
  1. Self-Service Wizard — A developer fills out the template form in Red Hat Developer Hub, configuring VM name, compute, storage, networking, and optional Connectivity Link settings.
  2. Repository Created — The template generates Kubernetes manifests and pushes them to a new Gitea repository.
  3. ArgoCD Syncs — An ArgoCD Application is created pointing to the new repo. It syncs the manifests to the target namespace with auto-prune and self-heal enabled.
  4. VM Running — OpenShift Virtualization creates the VirtualMachine, provisions storage via DataVolume, injects cloud-init config, and (optionally) sets up Gateway API routing.
  5. Day-2 Operations — Any change pushed to the Git repo is automatically reconciled. Update CPU, memory, boot image, or policies simply by editing YAML and pushing.

Quick Links