- 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>
29 lines
467 B
Django/Jinja
29 lines
467 B
Django/Jinja
#cloud-config
|
|
hostname: {{ vm_hostname }}
|
|
manage_etc_hosts: true
|
|
|
|
# Enable root SSH with key from host
|
|
disable_root: false
|
|
ssh_pwauth: false
|
|
|
|
users:
|
|
- name: root
|
|
ssh_authorized_keys:
|
|
{% for key in vm_ssh_keys | default([]) %}
|
|
- {{ key }}
|
|
{% endfor %}
|
|
|
|
# Grow root partition to fill disk
|
|
growpart:
|
|
mode: auto
|
|
devices: [/]
|
|
|
|
resize_rootfs: true
|
|
|
|
# Ensure SSH is running
|
|
packages:
|
|
- qemu-guest-agent
|
|
|
|
runcmd:
|
|
- systemctl enable --now qemu-guest-agent
|