Skip to Content
Vm ManagementVM Management

VM Management

OpenFactory includes a web-based interface for managing KVM/QEMU virtual machines, powered by CTO-GUI. This enables testing, development, and manual verification of your builds.

Features

  • Network Topology Visualization - Interactive D3.js graph showing VMs and networks
  • VM Lifecycle Management - Create, start, stop, and delete virtual machines
  • Real-time Updates - WebSocket-based live status updates
  • VNC Console Access - Direct console access to running VMs
  • Machine Templates - Pre-configured VM types for quick deployment

Architecture

┌─────────────────────────────────────────────────────────┐ │ VM Management │ ├─────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌─────────┐ │ │ │ React │────▶│ Backend │────▶│ KVM │ │ │ │ Frontend │ │ (Python) │ │ libvirt │ │ │ └──────────────┘ └──────────────┘ └─────────┘ │ │ │ │ │ │ └────WebSocket───────┘ │ │ │ └─────────────────────────────────────────────────────────┘

Use Cases

Build Testing

Manually test your OpenFactory builds:

  1. Build creates an ISO
  2. Create a VM from the ISO
  3. Access the console via VNC
  4. Verify configuration interactively

Multi-VM Testing

Test client-server architectures:

  1. Create multiple VMs
  2. Configure virtual networks
  3. Test inter-VM communication
  4. Verify network services

Development

Develop and debug configurations:

  1. Boot your custom image
  2. Make changes interactively
  3. Iterate on configuration
  4. Export working configuration
TopicDescription
Network TopologyVisualize your VM network
Creating VMsCreate and manage VMs
VNC ConsoleAccess VM consoles

Prerequisites

VM Management requires:

  • KVM/QEMU installed on the host
  • libvirt running and configured
  • User permissions for libvirt group

For containerized deployments, privileged access to /dev/kvm is required.

Getting Started

  1. Navigate to VM Management in the sidebar
  2. View the network topology
  3. Create a VM from your build
  4. Access the console to verify

The interface updates in real-time as VMs start, stop, and change state.