Files
infra-automation/inventories/development/hosts.yml
Infrastructure Team e7f5c7aea7 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
2025-11-10 22:51:17 +01:00

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