- Add development environment inventory structure - Configure libvirt/KVM inventory plugin for VM management - Add grokbox hypervisor host configuration - Include existing VM hosts (pihole, mymx, derp) - Set up SSH ProxyJump through grokbox for all VMs
100 lines
2.7 KiB
YAML
100 lines
2.7 KiB
YAML
---
|
|
# =============================================================================
|
|
# KVM Guest VMs Group Variables
|
|
# =============================================================================
|
|
# Common configuration for all KVM guest virtual machines
|
|
# =============================================================================
|
|
|
|
# VM Platform Details
|
|
# -----------------------------------------------------------------------------
|
|
virtualization_type: kvm
|
|
virtualization_role: guest
|
|
hypervisor_host: grokbox
|
|
management_interface: libvirt
|
|
|
|
# Network Configuration
|
|
# -----------------------------------------------------------------------------
|
|
vm_network_type: nat
|
|
vm_network_bridge: virbr0
|
|
vm_network_subnet: "192.168.122.0/24"
|
|
vm_gateway: "192.168.122.1"
|
|
|
|
# SSH & Connectivity
|
|
# -----------------------------------------------------------------------------
|
|
ansible_user: ansible
|
|
ansible_become_password: null # Passwordless sudo configured
|
|
|
|
# Connection via ProxyJump through hypervisor
|
|
ansible_ssh_common_args: >-
|
|
-o ProxyJump=grokbox
|
|
-o StrictHostKeyChecking=accept-new
|
|
-o ServerAliveInterval=45
|
|
-o ServerAliveCountMax=3
|
|
-o ControlMaster=auto
|
|
-o ControlPersist=600s
|
|
|
|
# Storage Configuration (LVM - per CLAUDE.md)
|
|
# -----------------------------------------------------------------------------
|
|
lvm_enabled: true
|
|
lvm_vg_name: vg_system
|
|
lvm_pvs:
|
|
- /dev/vda2
|
|
|
|
lvm_lvs:
|
|
- name: lv_root
|
|
size: 8G
|
|
mount_point: /
|
|
fstype: ext4
|
|
- name: lv_boot
|
|
size: 2G
|
|
mount_point: /boot
|
|
fstype: ext4
|
|
- name: lv_opt
|
|
size: 3G
|
|
mount_point: /opt
|
|
fstype: ext4
|
|
- name: lv_tmp
|
|
size: 1G
|
|
mount_point: /tmp
|
|
fstype: ext4
|
|
mount_options: noexec,nosuid,nodev
|
|
- name: lv_home
|
|
size: 2G
|
|
mount_point: /home
|
|
fstype: ext4
|
|
- name: lv_var_log
|
|
size: 2G
|
|
mount_point: /var/log
|
|
fstype: ext4
|
|
- name: lv_var_audit
|
|
size: 1G
|
|
mount_point: /var/log/audit
|
|
fstype: ext4
|
|
- name: lv_swap
|
|
size: 1G
|
|
fstype: swap
|
|
|
|
# Resource Monitoring Thresholds
|
|
# -----------------------------------------------------------------------------
|
|
disk_usage_warning_threshold: 80
|
|
disk_usage_critical_threshold: 90
|
|
memory_warning_threshold: 85
|
|
memory_critical_threshold: 95
|
|
cpu_warning_threshold: 80
|
|
|
|
# Backup Configuration
|
|
# -----------------------------------------------------------------------------
|
|
backup_enabled: false # Development environment
|
|
snapshot_enabled: true
|
|
snapshot_retention_days: 7
|
|
|
|
# VM Lifecycle
|
|
# -----------------------------------------------------------------------------
|
|
vm_autostart: true
|
|
vm_shutdown_timeout: 300 # seconds
|
|
|
|
# Cloud-init Configuration
|
|
# -----------------------------------------------------------------------------
|
|
cloud_init_enabled: true
|
|
cloud_init_datasource: NoCloud
|