diff --git a/inventories/client_sanrufo_homes/group_vars/all.yml b/inventories/client_sanrufo_homes/group_vars/all.yml new file mode 100644 index 0000000..a8d9022 --- /dev/null +++ b/inventories/client_sanrufo_homes/group_vars/all.yml @@ -0,0 +1,7 @@ +--- +# Client: Sanrufo Homes (SRH-001) +# Onboarded: 2026-03-12 + +# Client-specific variable overrides go here. +# Global vars (XO_URL, XO_TOKEN, N8N_WEBHOOK_URL) come from Semaphore variable group. +# Override here only if this client uses a different XO instance or webhook. diff --git a/inventories/client_sanrufo_homes/hosts.yml b/inventories/client_sanrufo_homes/hosts.yml new file mode 100644 index 0000000..fe8860b --- /dev/null +++ b/inventories/client_sanrufo_homes/hosts.yml @@ -0,0 +1,55 @@ +--- +# Client: Sanrufo Homes (SRH-001) +# Onboarded: 2026-03-12 +# Hypervisor: xcpng +# Billing: hybrid +# +# ansible_user: ansible-msp-agent (deployed by scripts/deploy_agent.sh) +# Do NOT use root as ansible_user for day-to-day operations. + +all: + vars: + client_id: "SRH-001" + client_name: "Sanrufo Homes" + billing_model: "hybrid" + maintenance_window_start: "02:00" + maintenance_window_end: "05:00" + maintenance_window_tz: "UTC" + change_freeze: false + hypervisor_type: "xcpng" + auto_reboot: false + human_estimate_seconds: 2700 + + children: + linux_hosts: + hosts: {} + vars: + ansible_user: ansible-msp-agent + ansible_become: true + ansible_become_method: sudo + # Per-host vars to set: + # ansible_host: + # xcpng_vm_uuid: (if hypervisor is xcpng or mixed) + # proxmox_vmid: (if hypervisor is proxmox or mixed) + + windows_hosts: + hosts: {} + vars: + ansible_user: Administrator + ansible_connection: winrm + ansible_winrm_transport: ntlm + ansible_winrm_server_cert_validation: validate + ansible_port: 5986 + # Windows patching not yet implemented — hosts listed for inventory completeness + # Per-host vars to set: + # ansible_host: + # xcpng_vm_uuid: (if hypervisor is xcpng or mixed) + + # XCP-NG pool entries — one entry per pool (not per hypervisor host) + # Each entry triggers xcpng_pool_update.yml against that pool via XO REST API + # Required per host: xo_pool_uuid + # XO_URL and XO_TOKEN come from Semaphore variable group (override here if needed) + xcpng_hosts: + hosts: {} + vars: + ansible_connection: local