- 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
108 lines
3.6 KiB
YAML
108 lines
3.6 KiB
YAML
---
|
|
# =============================================================================
|
|
# Ansible Development Inventory
|
|
# =============================================================================
|
|
# Static/hybrid inventory for development environment
|
|
# Parsed from SSH config: ~/.ssh/config
|
|
# Generated: 2025-11-10
|
|
# =============================================================================
|
|
|
|
all:
|
|
children:
|
|
# External hosts accessible from public internet
|
|
external_hosts:
|
|
hosts:
|
|
odin:
|
|
ansible_host: 65.108.217.156
|
|
ansible_port: 22
|
|
ansible_user: user
|
|
ansible_python_interpreter: /usr/bin/python3
|
|
host_description: "External VPS Mail Server (Debian 13)"
|
|
host_role: mail_server
|
|
host_type: vps
|
|
os_family: Debian
|
|
os_version: "13"
|
|
|
|
# KVM/QEMU Hypervisors
|
|
hypervisors:
|
|
hosts:
|
|
grokbox:
|
|
ansible_host: grok.home.serneels.xyz
|
|
ansible_user: grok
|
|
ansible_python_interpreter: /usr/bin/python3
|
|
ansible_ssh_extra_args: '-o ForwardAgent=yes'
|
|
host_description: "Primary KVM hypervisor (libvirt 11.3.0)"
|
|
host_role: hypervisor
|
|
host_type: physical
|
|
hypervisor_type: kvm
|
|
libvirt_uri: "qemu:///system"
|
|
|
|
# KVM Guest Virtual Machines
|
|
kvm_guests:
|
|
vars:
|
|
# Common variables for all KVM guests
|
|
ansible_user: ansible
|
|
ansible_python_interpreter: /usr/bin/python3
|
|
ansible_ssh_common_args: '-o StrictHostKeyChecking=accept-new'
|
|
host_type: virtual_machine
|
|
hypervisor: grokbox
|
|
network: "virbr0 (192.168.122.0/24)"
|
|
|
|
children:
|
|
# DNS/DHCP Servers
|
|
dns_servers:
|
|
hosts:
|
|
pihole:
|
|
ansible_host: 192.168.122.12
|
|
ansible_ssh_common_args: '-o ProxyJump=grokbox -o StrictHostKeyChecking=accept-new'
|
|
host_description: "Pi-hole DNS/DHCP Server"
|
|
host_role: dns_server
|
|
vm_uuid: "6d714c93-16fb-41c8-8ef8-9001f9066b3a"
|
|
vm_vcpus: 2
|
|
vm_memory_mb: 2048
|
|
services:
|
|
- pihole
|
|
- dnsmasq
|
|
- lighttpd
|
|
autostart: true
|
|
|
|
# Mail Servers
|
|
mail_servers:
|
|
hosts:
|
|
mymx:
|
|
ansible_host: 192.168.122.119
|
|
ansible_ssh_common_args: '-o ProxyJump=grokbox -o StrictHostKeyChecking=accept-new'
|
|
host_description: "Local Mail Transfer Agent"
|
|
host_role: mail_server
|
|
vm_vcpus: 2
|
|
vm_memory_mb: 2048
|
|
services:
|
|
- postfix
|
|
- dovecot
|
|
autostart: true
|
|
|
|
# Development/Testing Hosts
|
|
development:
|
|
hosts:
|
|
derp:
|
|
ansible_host: 192.168.122.99
|
|
ansible_ssh_common_args: '-o ProxyJump=grokbox -o StrictHostKeyChecking=accept-new'
|
|
host_description: "General Purpose Development VM"
|
|
host_role: development
|
|
vm_uuid: "9ede717f-879b-48aa-add0-2dfd33e10765"
|
|
vm_vcpus: 2
|
|
vm_memory_mb: 2048
|
|
services:
|
|
- experimental
|
|
autostart: true
|
|
|
|
# Uncategorized/Discovery Hosts
|
|
uncategorized:
|
|
hosts:
|
|
seed:
|
|
ansible_host: 192.168.129.1
|
|
ansible_ssh_common_args: '-o StrictHostKeyChecking=accept-new'
|
|
host_description: "Host to be discovered"
|
|
host_role: unknown
|
|
discovery_status: pending
|