- ansible/: VM provisioning playbooks and roles - provision-vm.yml: create KVM VM from Ubuntu cloud image - install.yml: install OpenClaw on guest (upstream) - customize.yml: swappiness, virtiofs fstab, linger - roles/vm/: libvirt domain XML, cloud-init templates - inventory.yml + host_vars/zap.yml: zap instance config - backup-openclaw-vm.sh: daily rsync + MinIO upload - restore-openclaw-vm.sh: full redeploy from scratch - README.md: full operational documentation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
35 lines
1.1 KiB
YAML
35 lines
1.1 KiB
YAML
---
|
|
# VM provisioning defaults — override in host_vars/<instance>.yml
|
|
|
|
# Libvirt connection URI
|
|
vm_libvirt_uri: qemu:///system
|
|
|
|
# Cloud image
|
|
vm_ubuntu_release: noble
|
|
vm_cloud_image_url: "https://cloud-images.ubuntu.com/{{ vm_ubuntu_release }}/current/{{ vm_ubuntu_release }}-server-cloudimg-amd64.img"
|
|
vm_cloud_image_cache: "/var/lib/libvirt/images/{{ vm_ubuntu_release }}-cloudimg-amd64.img"
|
|
|
|
# VM identity
|
|
vm_domain: "" # full libvirt domain name, e.g. "zap [claw]"
|
|
vm_hostname: "" # guest hostname
|
|
vm_disk_path: "" # path to qcow2 disk image
|
|
|
|
# Resources
|
|
vm_memory_mib: 3072
|
|
vm_vcpus: 2
|
|
vm_disk_size: "60G"
|
|
|
|
# Network
|
|
vm_mac: "" # MAC address, e.g. "52:54:00:01:00:71"
|
|
vm_ip: "" # static IP for DHCP reservation
|
|
vm_network: default
|
|
|
|
# virtiofs share (host → guest)
|
|
vm_virtiofs_source: "" # host path
|
|
vm_virtiofs_tag: "" # mount tag used inside guest
|
|
|
|
# OVMF firmware (Arch/CachyOS paths)
|
|
vm_ovmf_code: /usr/share/edk2/x64/OVMF_CODE.secboot.4m.fd
|
|
vm_ovmf_vars_template: /usr/share/edk2/x64/OVMF_VARS.4m.fd
|
|
vm_ovmf_vars_dir: /var/lib/libvirt/qemu/nvram
|