Add dynamic inventory configuration
- 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
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
---
|
||||
# =============================================================================
|
||||
# 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
|
||||
Reference in New Issue
Block a user