The rack moved from a USB-attached APC on monitor-02 to a UniFi UPS 2U Pro,
a network device running its own NUT server. Cluster nodes no longer run
NUT at all, so this section installed a client that could never connect.
Two reasons it is gone rather than repointed:
- The UPS allow-lists NUT client IPs and caps at ~3, and requires
credentials. Only monitor-02 is allow-listed, and it cannot relay:
dummy-ups repeater mode on NUT 2.8.1 (Debian trixie) cannot
authenticate upstream, as `authconf` is 2.8.6+.
- The per-node upsmon was harmful anyway. Its only action was
SHUTDOWNCMD "/sbin/poweroff", which skips the graceful VM/LXC
shutdown and the Ceph protective flags that ups-shutdown.sh sets.
Replaced with a startup banner making the real requirement explicit: a new
node is only covered once it is added to the NODES array in ups-shutdown.sh.
That dependency was previously implicit and easy to miss.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Adds shellcheck disable comments for intentional word-splitting on
\$COMMON_PKGS package list (SC2086). Adds -r flag to read (SC2162).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
If /etc/hwmonDaemon/.env already exists and has a real API key,
skip the prompt and preserve the file entirely. Only write a new
.env when none exists or it still has the placeholder value.
Safe to run freshStart.sh on existing hosts.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When freshStart.sh runs on a new PVE node, it now installs nut-client,
configures MODE=netclient, and writes upsmon.conf pointing to monitor-02
as slave — prompts for NUT_PASSWORD during setup.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Installs Promtail (Grafana Loki agent) to ship host logs to the
central Loki instance at 10.10.10.69:3100. Scrapes syslog, auth,
kernel, daemon, pveproxy, pvedaemon, pve-tasks, ceph, and systemd
journal logs with per-host labeling.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Detects PVE vs PBS at startup, installs platform-specific packages
(iperf3/fio for PVE, zfsutils-linux for PBS), and generates .env
with all hwmonDaemon config options pre-populated based on platform.
Fixes: LotusGuild/hwmonDaemon#5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>