Files
esh-pfi-infrastructure/playbooks/beszel-native.yaml
T
vh ddfa1a6e5b feat(beszel): commit the fleet agent rollout — configs, playbooks and runbooks
Beszel agents are installed and verified across the fleet but the artifacts that
produced them were never committed, so the deployment existed only on the hosts.

Adds the per-host agent environment files (PORT, NICS, EXTRA_FILESYSTEMS and the
hub's PUBLIC key), the systemd unit, the guest install script, the Synology
compose, and the elway playbooks for native, guest-stage, guest-install and
Synology paths. The two dated memory detail files covering the priority-1 and
priority-2 waves ship alongside, per the convention that memory lands with the
work it describes.

No credentials here. The KEY= value in every host env is the Beszel hub's public
ed25519 key, identical across all nine and public by design; the agent README
says so explicitly. The nh3-nas sudo password referenced in the runbook prose
lives in Vaultwarden and the helper scripts named there never contained it.

⚠ Overlapping VMIDs across hypervisors are a standing trap and are recorded in
the priority-2 notes: pfi-pve 105=postgres and 100=pbs-ana, nh3-pve 105=pbs-nh3.
⚠ PBS-NH3's export was ~75.5% used at capture; resource checks are not job
success monitoring and should not be read as such.
2026-09-11 22:09:18 -07:00

38 lines
1.2 KiB
YAML

vars:
env_file: configs/beszel-agent/hosts/ana-nas.env
binary_file: /tmp/beszel-priority1/beszel-agent
steps:
- name: Create unprivileged agent account and config directory
sudo: true
shell: |
set -eu
getent passwd beszel >/dev/null || useradd --system --user-group --home-dir /var/lib/beszel-agent --shell /usr/sbin/nologin beszel
install -d -o root -g root -m 0755 /etc/beszel-agent
- name: Install verified version-matched binary
sudo: true
upload:
src: '{{ binary_file }}'
dest: /usr/local/bin/beszel-agent
mode: '0755'
- name: Install host-specific public key and mount configuration
sudo: true
upload:
src: '{{ env_file }}'
dest: /etc/beszel-agent/environment
mode: '0600'
- name: Install unprivileged service
sudo: true
upload:
src: configs/beszel-agent/beszel-agent.service
dest: /etc/systemd/system/beszel-agent.service
mode: '0644'
- name: Enable monitoring agent
sudo: true
shell: |
set -eu
systemd-analyze verify /etc/systemd/system/beszel-agent.service
systemctl daemon-reload
systemctl enable beszel-agent
systemctl restart beszel-agent
systemctl is-active beszel-agent