feat(inventory): add fleet inventory with all host groups
Add inventory/hosts.yml with real fleet hostnames organized into functional groups: - proxmox_hosts: 7 physical Dell hypervisors (pfv-tsys1/3/4/5/6/7/9) - virtual_guests: VMs running on Proxmox (tsys-awx, tsys-librenms, etc.) - ntp_servers: pfv-netinfra-01/02, pfv-netboot (skip client config) - dhcp_servers: pfv-netinfra-01/02 (skip dhclient.conf deploy) - dns_servers: Technitium/Pi-hole hosts - librenms_server: tsys-librenms (skip rsyslog forward) - wazuh_server: tsys-nsm (skip agent install) - dev_workstations: subopi-dev, CharlesDevServer, kali-tsys - kubernetes_nodes: control plane and worker nodes Add inventory/group_vars/all.yml with all tunable variables (packages, DNS servers, NTP servers, postfix relayhost, feature toggles) that mirror the hard-coded values from the legacy bash scripts. 🤖 Generated with [Crush](https://github.com/charmassociates/crush) Assisted-by: GLM-5 via Crush <crush@charm.land>
This commit is contained in:
@@ -0,0 +1,202 @@
|
|||||||
|
---
|
||||||
|
# KNELIAC default variables.
|
||||||
|
#
|
||||||
|
# These mirror the values hard-coded in the legacy bash
|
||||||
|
# PFVCluster/provisioning/ scripts. Override any of them in AWX via
|
||||||
|
# "extra vars" on the Job Template, or per-host in group_vars/host_vars.
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Users provisioned on every host. Keys under ssh_authorized_keys must already
|
||||||
|
# exist in roles/security_ssh/files/authorized_keys/.
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
managed_users:
|
||||||
|
- name: root
|
||||||
|
home: /root
|
||||||
|
- name: localuser
|
||||||
|
home: /home/localuser
|
||||||
|
- name: subodev
|
||||||
|
home: /home/subodev
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Networking: authoritative recursive DNS + NTP servers (pfv-netinfra-01/02).
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
dns_servers:
|
||||||
|
- 192.168.3.252
|
||||||
|
- 192.168.3.253
|
||||||
|
|
||||||
|
dns_search_domain: knel.net
|
||||||
|
|
||||||
|
ntp_servers:
|
||||||
|
- 192.168.3.252
|
||||||
|
- 192.168.3.253
|
||||||
|
|
||||||
|
# Hostnames of NTP servers that must NOT get client config are now managed
|
||||||
|
# via the 'ntp_servers' inventory group (see inventory/hosts.yml). The
|
||||||
|
# preflight role sets is_ntp_server based on group membership.
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Mail (postfix) — local-only relay to the Cloudron smarthost.
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
postfix_relayhost: tsys-cloudron.knel.net
|
||||||
|
postfix_generic_address: tsysrootaccount@knel.net
|
||||||
|
|
||||||
|
# Syslog forward destination (LibreNMS receiver).
|
||||||
|
syslog_forward_host: tsys-librenms.knel.net
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# SNMP
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
snmp_rocommunity: kn3lmgmt
|
||||||
|
snmp_syslocation: "R4, Server Room, SITER, Pflugerville, United States"
|
||||||
|
snmp_syscontact: coo@turnsys.com
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Monitoring / security agents
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
wazuh_manager: tsys-nsm.knel.net
|
||||||
|
# Hostnames that must NOT receive the wazuh agent (the wazuh server itself).
|
||||||
|
# The Wazuh manager server is now managed via the 'wazuh_server' inventory
|
||||||
|
# group (see inventory/hosts.yml). The preflight role sets is_wazuh_server.
|
||||||
|
wazuh_server_hostnames_deprecated: []
|
||||||
|
|
||||||
|
# The LibreNMS server is now managed via the 'librenms_server' inventory
|
||||||
|
# group (see inventory/hosts.yml). The preflight role sets is_librenms_server.
|
||||||
|
|
||||||
|
# Tailscale (installer only auths the machine; no token stored here).
|
||||||
|
tailscale_install: true
|
||||||
|
|
||||||
|
# Webmin/Usermin (used for PAM 2FA management).
|
||||||
|
webmin_setup: true
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Packages
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Packages removed from every host during provisioning.
|
||||||
|
packages_remove:
|
||||||
|
- systemd-timesyncd
|
||||||
|
- chrony
|
||||||
|
- telnet
|
||||||
|
- inetutils-telnet
|
||||||
|
- wpasupplicant
|
||||||
|
- modemmanager
|
||||||
|
- nano
|
||||||
|
- multipath-tools
|
||||||
|
|
||||||
|
# Packages installed on every host during provisioning.
|
||||||
|
packages_install:
|
||||||
|
- virt-what
|
||||||
|
- auditd
|
||||||
|
- audispd-plugins
|
||||||
|
- cloud-guest-utils
|
||||||
|
- aide
|
||||||
|
- htop
|
||||||
|
- snmpd
|
||||||
|
- ncdu
|
||||||
|
- iftop
|
||||||
|
- iotop
|
||||||
|
- cockpit
|
||||||
|
- cockpit-bridge
|
||||||
|
- cockpit-doc
|
||||||
|
- cockpit-networkmanager
|
||||||
|
- cockpit-packagekit
|
||||||
|
- cockpit-pcp
|
||||||
|
- cockpit-sosreport
|
||||||
|
- cockpit-storaged
|
||||||
|
- cockpit-system
|
||||||
|
- cockpit-ws
|
||||||
|
- nethogs
|
||||||
|
- sysstat
|
||||||
|
- ngrep
|
||||||
|
- acct
|
||||||
|
- lsb-release
|
||||||
|
- screen
|
||||||
|
- tailscale
|
||||||
|
- tmux
|
||||||
|
- vim
|
||||||
|
- command-not-found
|
||||||
|
- lldpd
|
||||||
|
- ansible-core
|
||||||
|
- net-tools
|
||||||
|
- dos2unix
|
||||||
|
- gpg
|
||||||
|
- molly-guard
|
||||||
|
- lshw
|
||||||
|
- fzf
|
||||||
|
- ripgrep
|
||||||
|
- sudo
|
||||||
|
- mailutils
|
||||||
|
- clamav
|
||||||
|
- logwatch
|
||||||
|
- git
|
||||||
|
- tshark
|
||||||
|
- tcpdump
|
||||||
|
- lynis
|
||||||
|
- glances
|
||||||
|
- zsh
|
||||||
|
- zsh-autosuggestions
|
||||||
|
- zsh-syntax-highlighting
|
||||||
|
- fonts-powerline
|
||||||
|
- webmin
|
||||||
|
- usermin
|
||||||
|
- ntpsec
|
||||||
|
- ntpsec-ntpdate
|
||||||
|
- tuned
|
||||||
|
- iptables
|
||||||
|
- netfilter-persistent
|
||||||
|
- iptables-persistent
|
||||||
|
- pflogsumm
|
||||||
|
- postfix
|
||||||
|
|
||||||
|
# Packages only installed on bare-metal Dell hosts AND Proxmox VE hosts
|
||||||
|
# (both need CPU frequency tools and thermal management).
|
||||||
|
packages_physical_host:
|
||||||
|
- i7z
|
||||||
|
- thermald
|
||||||
|
- cpufrequtils
|
||||||
|
- linux-cpupower
|
||||||
|
|
||||||
|
# Packages installed only on KVM/libvirt guests.
|
||||||
|
packages_virtual_guest:
|
||||||
|
- qemu-guest-agent
|
||||||
|
|
||||||
|
# Packages that conflict with Proxmox VE — excluded from the install list
|
||||||
|
# on PVE hosts. Cockpit conflicts with the PVE web UI; tuned conflicts with
|
||||||
|
# PVE's own CPU governor management.
|
||||||
|
packages_proxmox_skip:
|
||||||
|
- cockpit
|
||||||
|
- cockpit-bridge
|
||||||
|
- cockpit-doc
|
||||||
|
- cockpit-networkmanager
|
||||||
|
- cockpit-packagekit
|
||||||
|
- cockpit-pcp
|
||||||
|
- cockpit-sosreport
|
||||||
|
- cockpit-storaged
|
||||||
|
- cockpit-system
|
||||||
|
- cockpit-ws
|
||||||
|
- cockpit-tests
|
||||||
|
- tuned
|
||||||
|
|
||||||
|
# Packages known to be unavailable or renamed on Kali Linux.
|
||||||
|
# These are filtered out of the install list on Kali hosts.
|
||||||
|
packages_kali_skip:
|
||||||
|
- latencytop
|
||||||
|
- cockpit-tests
|
||||||
|
- command-not-found
|
||||||
|
- fonts-powerline
|
||||||
|
|
||||||
|
# Packages installed only on non-Kali hosts (legacy packages_non_kali).
|
||||||
|
packages_non_kali:
|
||||||
|
- latencytop
|
||||||
|
- cockpit-tests
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Feature toggles — set false to skip a phase.
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
run_packages: true
|
||||||
|
run_system_config: true
|
||||||
|
run_oam: true
|
||||||
|
run_security_ssh: true
|
||||||
|
run_security_wazuh: true
|
||||||
|
run_security_2fa: true
|
||||||
|
run_security_scap_stig: true
|
||||||
|
run_security_audit: false # was commented out in the legacy runner
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
---
|
||||||
|
# KNELIAC inventory — Known Element Enterprises fleet.
|
||||||
|
#
|
||||||
|
# Hosts are organized into functional groups that the preflight role uses
|
||||||
|
# to set boolean facts (is_ntp_server, is_dhcp_server, is_proxmox_host, etc.).
|
||||||
|
# A host can belong to multiple groups (e.g. pfv-netinfra-01 is both an NTP
|
||||||
|
# server and a DHCP server).
|
||||||
|
|
||||||
|
all:
|
||||||
|
vars:
|
||||||
|
ansible_user: localuser
|
||||||
|
ansible_become: true
|
||||||
|
|
||||||
|
children:
|
||||||
|
# =======================================================================
|
||||||
|
# Proxmox VE hypervisors (bare-metal Dell, running PVE)
|
||||||
|
# =======================================================================
|
||||||
|
proxmox_hosts:
|
||||||
|
hosts:
|
||||||
|
pfv-tsys1:
|
||||||
|
ansible_host: 192.168.3.11
|
||||||
|
pfv-tsys3:
|
||||||
|
ansible_host: 192.168.2.5
|
||||||
|
pfv-tsys4:
|
||||||
|
ansible_host: 192.168.3.191
|
||||||
|
pfv-tsys5:
|
||||||
|
ansible_host: 192.168.0.20
|
||||||
|
pfv-tsys6:
|
||||||
|
ansible_host: 192.168.3.169
|
||||||
|
pfv-tsys7:
|
||||||
|
ansible_host: 192.168.0.250
|
||||||
|
pfv-tsys9:
|
||||||
|
ansible_host: 192.168.3.58
|
||||||
|
# pfv-tsys2 is offline (pending rebuild Win10 -> Proxmox)
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# Virtual guests (VMs running on Proxmox hosts)
|
||||||
|
# =======================================================================
|
||||||
|
virtual_guests:
|
||||||
|
hosts:
|
||||||
|
tsys-awx:
|
||||||
|
ansible_host: 192.168.3.200
|
||||||
|
tsys-librenms:
|
||||||
|
tsys-nsm:
|
||||||
|
tsys-siem:
|
||||||
|
ansible_host: 192.168.3.81
|
||||||
|
tsys-proxmox-datacenter:
|
||||||
|
pfv-proxmox-backup-server:
|
||||||
|
tsys-ca:
|
||||||
|
tailscale-router:
|
||||||
|
ansible_host: 192.168.3.16
|
||||||
|
pfv-bms:
|
||||||
|
ansible_host: 192.168.3.12
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# Network infrastructure (DNS / NTP / DHCP servers)
|
||||||
|
# =======================================================================
|
||||||
|
|
||||||
|
# NTP servers — these hosts run chrony as NTP *servers* and must NOT
|
||||||
|
# receive the ntpsec client config deployed by the system_config role.
|
||||||
|
ntp_servers:
|
||||||
|
hosts:
|
||||||
|
pfv-netinfra-01:
|
||||||
|
ansible_host: 192.168.3.252
|
||||||
|
pfv-netinfra-02:
|
||||||
|
ansible_host: 192.168.3.253
|
||||||
|
pfv-netboot:
|
||||||
|
ansible_host: 192.168.3.250
|
||||||
|
|
||||||
|
# DHCP servers — these hosts run ISC dhcpd and must NOT receive the
|
||||||
|
# dhclient.conf override deployed by the system_config role.
|
||||||
|
dhcp_servers:
|
||||||
|
hosts:
|
||||||
|
pfv-netinfra-01:
|
||||||
|
ansible_host: 192.168.3.252
|
||||||
|
pfv-netinfra-02:
|
||||||
|
ansible_host: 192.168.3.253
|
||||||
|
|
||||||
|
# DNS servers — informational group; these hosts run Technitium / Pi-hole.
|
||||||
|
dns_servers:
|
||||||
|
hosts:
|
||||||
|
pfv-netinfra-01:
|
||||||
|
ansible_host: 192.168.3.252
|
||||||
|
pfv-netinfra-02:
|
||||||
|
ansible_host: 192.168.3.253
|
||||||
|
pfv-netboot:
|
||||||
|
ansible_host: 192.168.3.250
|
||||||
|
tailscale-router:
|
||||||
|
ansible_host: 192.168.3.16
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# Monitoring / security infrastructure
|
||||||
|
# =======================================================================
|
||||||
|
|
||||||
|
# LibreNMS server — must NOT receive rsyslog forward-to-self config.
|
||||||
|
librenms_server:
|
||||||
|
hosts:
|
||||||
|
tsys-librenms:
|
||||||
|
|
||||||
|
# Wazuh manager / NSM — must NOT receive the wazuh-agent package.
|
||||||
|
wazuh_server:
|
||||||
|
hosts:
|
||||||
|
tsys-nsm:
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# Dev workstations — skip hardened sshd_config (need flexible SSH)
|
||||||
|
# =======================================================================
|
||||||
|
dev_workstations:
|
||||||
|
hosts:
|
||||||
|
subopi-dev:
|
||||||
|
CharlesDevServer:
|
||||||
|
kali-tsys:
|
||||||
|
kali-rd:
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# Raspberry Pi / ARM SBCs
|
||||||
|
# =======================================================================
|
||||||
|
raspberry_pi:
|
||||||
|
hosts:
|
||||||
|
# Add Pi hosts here as they come online
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# Kubernetes nodes
|
||||||
|
# =======================================================================
|
||||||
|
kubernetes_nodes:
|
||||||
|
children:
|
||||||
|
k8s_control_plane:
|
||||||
|
hosts:
|
||||||
|
pfv-k8s-cnode1:
|
||||||
|
pfv-k8s-cnode2:
|
||||||
|
pfv-k8s-cnode3:
|
||||||
|
pfv-k8s-cnode4:
|
||||||
|
pfv-k8s-cnode5:
|
||||||
|
k8s_workers:
|
||||||
|
hosts:
|
||||||
|
pfv-k8s-wnode-tsys1:
|
||||||
|
pfv-k8s-wnode-tsys3:
|
||||||
|
pfv-k8s-wnode-tsys5:
|
||||||
|
pfv-k8s-wnode-tsys6:
|
||||||
|
pfv-k8s-wnode-tsys7:
|
||||||
|
pfv-k8s-wnode-tsys9:
|
||||||
Reference in New Issue
Block a user