provisioning/config/vms/vm-defaults.toml
Jesús Pérez 6a59d34bb1
chore: update provisioning configuration and documentation
Update configuration files, templates, and internal documentation
for the provisioning repository system.

Configuration Updates:
- KMS configuration modernization
- Plugin system settings
- Service port mappings
- Test cluster topologies
- Installation configuration examples
- VM configuration defaults
- Cedar authorization policies

Documentation Updates:
- Library module documentation
- Extension API guides
- AI system documentation
- Service management guides
- Test environment setup
- Plugin usage guides
- Validator configuration documentation

All changes are backward compatible.
2025-12-11 21:50:42 +00:00

93 lines
2.2 KiB
TOML

# Virtual Machine System Defaults (Phase 0)
# Configuration for hypervisor taskservs
[hypervisors]
# Primary hypervisor selection
# Options: "libvirt" (preferred), "qemu", "docker-vm"
primary_backend = "libvirt"
# Fallback backends (in preference order)
fallback_backends = ["qemu", "docker-vm"]
# Auto-detection: Try to detect installed hypervisors
auto_detect = true
# Auto-installation: Install missing hypervisors
auto_install = false
[kvm]
# KVM hypervisor configuration
enabled = true
nested_virtualization = false
huge_pages = true
kvm_page_size = 2 # MB (2 or 1000)
prealloc_memory = false
[libvirt]
# libvirt daemon configuration
enabled = true
socket_activation = true
dynamic_ownership = true
listen_unix = true
listen_tcp = false # Disabled for security
unix_sock_group = "libvirt"
max_connections = 512
mem_limit_mb = 512
[qemu]
# QEMU emulator configuration
enabled = true
enable_kvm = true
enable_tcg = true
supported_archs = ["x86_64", "aarch64", "i386"]
[docker_vm]
# Docker Desktop VM fallback (macOS/Windows)
enabled = true
docker_desktop_required = true
min_docker_version = "4.0.0"
[vm_paths]
# Where to store VM data
base_dir = "{{paths.workspace}}/vms"
images_dir = "{{paths.workspace}}/vms/images"
permanent_dir = "{{paths.workspace}}/vms/permanent"
temporary_dir = "{{paths.workspace}}/vms/temporary"
config_dir = "{{paths.workspace}}/vms/config"
[vm_storage]
# Storage backend settings
golden_images_dir = "{{vm_paths.images_dir}}/golden"
base_images_dir = "{{vm_paths.images_dir}}/base"
image_format = "qcow2" # qcow2, raw, vmdk
default_disk_gb = 20
default_cpu_cores = 2
default_memory_mb = 4096
[vm_resources]
# Resource limits
max_vms_per_host = 100
max_cpu_per_vm = 64
max_memory_per_vm_gb = 256
max_disk_per_vm_gb = 2048
[vm_network]
# Network configuration
default_network = "default"
network_mode = "bridge" # bridge, nat, host
nat_subnet = "192.168.122.0/24"
bridge_name = "virbr0"
[vm_lifecycle]
# VM lifecycle settings
auto_cleanup_temporary = true
temporary_ttl_hours = 24 # Auto-cleanup after 24 hours
startup_timeout_seconds = 300
shutdown_timeout_seconds = 60
[health_checks]
# Health check intervals
kvm_check_interval = 60
libvirtd_check_interval = 60
socket_check_interval = 60