Provider Capabilities Matrix

This document provides a comprehensive overview of VirtRigaud provider capabilities as of v0.2.3.

Overview

VirtRigaud supports multiple hypervisor platforms through a provider architecture. Each provider implements the core VirtRigaud API while supporting platform-specific features and capabilities.

Core Provider Interface

All providers implement these core operations:

  • Validate: Test provider connectivity and credentials
  • Create: Create new virtual machines
  • Delete: Remove virtual machines and cleanup resources
  • Power: Control VM power state (On/Off/Reboot)
  • Describe: Query VM state and properties
  • GetCapabilities: Report provider-specific capabilities

Provider Status

ProviderStatusImplementationMaturity
vSphere✅ Production Readygovmomi-basedStable
Libvirt/KVM✅ Production Readyvirsh-basedStable
Proxmox VE✅ Production ReadyREST API-basedBeta
Mock✅ CompleteIn-memory simulationTesting

Comprehensive Capability Matrix

Core Operations

CapabilityvSphereLibvirtProxmoxMockNotes
VM CreateAll providers support VM creation
VM DeleteWith resource cleanup
Power On/OffBasic power management
RebootGraceful and forced restart
SuspendMemory state preservation
DescribeVM state and properties
Reconfigure⚠️CPU/Memory/Disk changes (Libvirt requires restart)
TaskStatusN/AAsync operation tracking
ConsoleURL⚠️Remote console access (Proxmox planned)

Resource Management

CapabilityvSphereLibvirtProxmoxMockNotes
CPU ConfigurationCores, sockets, threading
Memory AllocationStatic memory sizing
Hot CPU AddOnline CPU expansion
Hot Memory AddOnline memory expansion
Resource ReservationsGuaranteed resources
Resource LimitsResource capping

Storage Operations

CapabilityvSphereLibvirtProxmoxMockNotes
Disk CreationVirtual disk provisioning
Disk ExpansionOnline disk growth
Multiple DisksMulti-disk VMs
Thin ProvisioningSpace-efficient disks
Thick ProvisioningPre-allocated storage
Storage PoliciesPolicy-based placement
Storage PoolsOrganized storage management

Network Configuration

CapabilityvSphereLibvirtProxmoxMockNotes
Basic NetworkingSingle network interface
Multiple NICsMulti-interface VMs
VLAN SupportNetwork segmentation
Static IPFixed IP assignment
DHCPDynamic IP assignment
Bridge NetworksDirect host bridging
Distributed SwitchesAdvanced vSphere networking

VM Lifecycle

CapabilityvSphereLibvirtProxmoxMockNotes
Template DeploymentDeploy from templates
Clone Operations✅ CompleteFull VM duplication with snapshot support
Linked ClonesCOW-based clones with automatic snapshot creation
Full ClonesIndependent copies
VM Reconfiguration✅ Complete⚠️ Restart RequiredOnline resource modification

Snapshot Operations

CapabilityvSphereLibvirtProxmoxMockNotes
Create SnapshotsPoint-in-time captures
Delete SnapshotsSnapshot cleanup
Revert SnapshotsRestore VM state
Memory SnapshotsInclude RAM state
Quiesced SnapshotsConsistent filesystem
Snapshot TreesHierarchical snapshots

Image Management

CapabilityvSphereLibvirtProxmoxMockNotes
OVA/OVF ImportStandard VM formats
Cloud Image DownloadRemote image fetch
Content LibrariesCentralized image management
Image ConversionFormat transformation
Image CachingPerformance optimization

Guest Operating System

CapabilityvSphereLibvirtProxmoxMockNotes
Cloud-InitGuest initialization
Guest ToolsEnhanced guest integration
Guest AgentRuntime guest communication
Guest CustomizationOS-specific customization
Guest MonitoringResource usage tracking

Advanced Features

CapabilityvSphereLibvirtProxmoxMockNotes
High AvailabilityAutomatic failover
DRS/Load BalancingResource optimization
Fault ToleranceZero-downtime protection
vMotion/MigrationLive VM migration
Resource PoolsHierarchical resource mgmt
Affinity RulesVM placement policies

Monitoring & Observability

CapabilityvSphereLibvirtProxmoxMockNotes
Performance MetricsCPU, memory, disk, network
Event LoggingOperation audit trail
Health ChecksVM and guest health
AlertingThreshold-based notifications
Historical DataPerformance history
Console URL Generation⚠️Web/VNC console access (Proxmox planned)
Guest Agent Integration✅ CompleteIP detection and guest info

Provider-Specific Features

vSphere Exclusive

  • vCenter Integration: Full vCenter Server and ESXi support
  • Content Library: Centralized template and ISO management
  • Distributed Resource Scheduler (DRS): Automatic load balancing
  • vMotion: Live migration between hosts
  • High Availability (HA): Automatic VM restart on host failure
  • Fault Tolerance: Zero-downtime VM protection
  • Storage vMotion: Live storage migration
  • vSAN Integration: Hyper-converged storage
  • NSX Integration: Software-defined networking
  • Hot Reconfiguration: Online CPU/memory/disk changes with hot-add support
  • TaskStatus Tracking: Real-time async operation monitoring via govmomi
  • Clone Operations: Full and linked clones with automatic snapshot handling
  • Web Console URLs: Direct vSphere web client console access

Libvirt/KVM Exclusive

  • Virsh Integration: Command-line management
  • QEMU Guest Agent: Advanced guest OS integration
  • KVM Optimization: Native Linux virtualization
  • Bridge Networking: Direct host network bridging
  • Storage Pool Flexibility: Multiple storage backend support
  • Cloud Image Support: Direct cloud image deployment
  • Host Device Passthrough: Hardware device assignment
  • Reconfiguration Support: CPU/memory/disk changes via virsh (restart required)
  • VNC Console Access: Direct VNC console URL generation for remote viewers

Proxmox VE Exclusive

  • Web UI Integration: Built-in management interface
  • Container Support: LXC container management
  • Backup Integration: Built-in backup and restore
  • Cluster Management: Multi-node cluster support
  • ZFS Integration: Advanced filesystem features
  • Ceph Integration: Distributed storage
  • Guest Agent IP Detection: Accurate IP address extraction via QEMU guest agent
  • Hot-plug Reconfiguration: Online CPU/memory/disk modifications
  • Complete CRD Integration: Full Kubernetes custom resource support

Mock Provider Features

  • Testing Scenarios: Configurable failure modes
  • Performance Simulation: Controllable operation delays
  • Sample Data: Pre-populated demonstration VMs
  • Development Support: Full API coverage for testing

Supported Disk Types

ProviderDisk FormatsNotes
vSpherethin, thick, eagerZeroedThickvSphere native formats
Libvirtqcow2, raw, vmdkQEMU-supported formats
Proxmoxqcow2, raw, vmdkProxmox storage formats
Mockthin, thick, raw, qcow2Simulated formats

Supported Network Types

ProviderNetwork TypesNotes
vSpheredistributed, standard, vlanvSphere networking
Libvirtvirtio, e1000, rtl8139QEMU network adapters
Proxmoxvirtio, e1000, rtl8139Proxmox network models
Mockbridge, nat, distributedSimulated network types

Provider Images

All provider images are available from the GitHub Container Registry:

  • vSphere: ghcr.io/projectbeskar/virtrigaud/provider-vsphere:v0.2.3
  • Libvirt: ghcr.io/projectbeskar/virtrigaud/provider-libvirt:v0.2.3
  • Proxmox: ghcr.io/projectbeskar/virtrigaud/provider-proxmox:v0.2.3
  • Mock: ghcr.io/projectbeskar/virtrigaud/provider-mock:v0.2.3

Choosing a Provider

Use vSphere When:

  • You have existing VMware infrastructure
  • You need enterprise features (HA, DRS, vMotion)
  • You require advanced networking (NSX, distributed switches)
  • You need centralized management (vCenter)

Use Libvirt/KVM When:

  • You want open-source virtualization
  • You’re running on Linux hosts
  • You need cost-effective virtualization
  • You want direct host integration

Use Proxmox VE When:

  • You need both VMs and containers
  • You want integrated backup solutions
  • You need cluster management
  • You want web-based management

Use Mock Provider When:

  • You’re developing or testing VirtRigaud
  • You need to simulate VM operations
  • You’re creating demos or training materials
  • You’re testing VirtRigaud without hypervisors

Performance Considerations

vSphere

  • Best for: Large-scale enterprise deployments
  • Scalability: Hundreds to thousands of VMs
  • Overhead: Higher due to feature richness
  • Resource Efficiency: Excellent with DRS

Libvirt/KVM

  • Best for: Linux-based deployments
  • Scalability: Moderate to large deployments
  • Overhead: Low, near-native performance
  • Resource Efficiency: Good with proper tuning

Proxmox VE

  • Best for: SMB and mixed workloads
  • Scalability: Small to medium deployments
  • Overhead: Moderate
  • Resource Efficiency: Good with clustering

Future Roadmap

Planned Enhancements

vSphere

  • vSphere 8.0 support
  • Enhanced NSX integration
  • GPU passthrough support
  • vSAN policy automation

Libvirt

  • Live migration support
  • SR-IOV networking
  • NUMA topology optimization
  • Enhanced performance monitoring

Proxmox

  • HA configuration
  • Storage replication
  • Advanced networking
  • Performance optimizations

Support Matrix

Feature CategoryvSphereLibvirtProxmoxMock
Production Ready✅ Beta✅ Testing
DocumentationCompleteCompleteCompleteComplete
Community SupportActiveActiveGrowingN/A
Enterprise SupportAvailableAvailableAvailableN/A

Version History

  • v0.2.3: Provider feature parity - Reconfigure, Clone, TaskStatus, ConsoleURL
  • v0.2.2: Nested virtualization, TPM support, comprehensive snapshot management
  • v0.2.1: Critical fixes, documentation updates, VMClass disk settings
  • v0.2.0: Production-ready vSphere and Libvirt providers
  • v0.1.0: Initial provider framework and mock implementation

This document reflects VirtRigaud v0.2.3 capabilities. For the latest updates, see the VirtRigaud documentation.