# 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