Commit Graph
3 Commits
Author SHA1 Message Date
mrcharles 50c3f50d11 feat(system-config): add system service configuration role
Port global-systemServiceConfigurationFiles() and
global-postPackageConfiguration().

Manages:
- Global zsh config (/etc/zshrc)
- Mail aliases and postfix relay (local-only, smarthost to Cloudron)
- Static DNS resolv.conf (replaces systemd-resolved symlinks)
- rsyslog forwarding to LibreNMS (skipped on LibreNMS server itself)
- DHCP client config (skipped on DHCP servers pfv-netinfra-01/02)
- SNMP daemon config selected by host class (Pi/physical/Proxmox/VM)
- NTP client config (skipped on NTP server hosts)
- LLDP network discovery
- Cockpit disallowed-users
- Default user shells (zsh, conditional on user existence)
- Process accounting (accton)
- CPU governor on physical/Proxmox hosts (performance)
- tuned profile on VM guests (virtual-guest)

Infrastructure configs use Jinja2 templates parameterized by variables
in group_vars/all.yml.

🤖 Generated with [Crush](https://github.com/charmassociates/crush)

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-07-30 12:16:02 -05:00
mrcharles 78c8ba2208 feat(packages): add package management role
Port global-installPackages() and scripts/up2date.sh.

Features:
- Deploy /usr/local/bin/up2date.sh helper for operators
- Install webmin and tailscale apt repositories
- apt dist-upgrade + autoremove (up2date equivalent)
- Remove unwanted packages (systemd-timesyncd, chrony, telnet, etc.)
- Install fleet toolset with platform-aware filtering:
  - Proxmox hosts: skip cockpit/tuned (conflicts with PVE)
  - Kali hosts: skip unavailable packages (latencytop, fonts-powerline)
- Install KVM guest agent on virtual guests
- Install bare-metal power/perf packages on physical AND Proxmox hosts

🤖 Generated with [Crush](https://github.com/charmassociates/crush)

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-07-30 12:15:56 -05:00
mrcharles 3672227f94 feat(preflight): add host-class detection role
Port PreflightCheck.sh and pi-detect.sh to the preflight role.

Detects at runtime:
- Physical Dell host (dmidecode, NOT Proxmox, NOT Pi)
- Proxmox VE host (dpkg-query proxmox-ve)
- Virtual guest (virt-what: hyperv/kvm)
- KVM guest specifically
- Raspberry Pi (device-tree model file)
- Distro: Debian, Ubuntu, Kali
- User existence: localuser, subodev

Derives from inventory groups:
- NTP server, DHCP server, DNS server
- LibreNMS server, Wazuh server
- Dev workstation

All facts are cacheable so downstream roles can branch on them without
re-running detection commands.

🤖 Generated with [Crush](https://github.com/charmassociates/crush)

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-07-30 12:15:50 -05:00