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:
107
inventories/development/hosts.yml
Normal file
107
inventories/development/hosts.yml
Normal file
@@ -0,0 +1,107 @@
|
||||
---
|
||||
# =============================================================================
|
||||
# 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
|
||||
Reference in New Issue
Block a user