feat: derive PBS backup jobs and audit VMIDs from the service registry

- pve-backup-jobs.yml: each job's vmid list is now computed from
  homelab_services by backup.job instead of a hand-maintained CSV. Adding a
  service no longer needs a separate edit here (the forgotten-edit failure
  mode that left CT 148 emergency-bot without a backup).
- roles/backup_audit/defaults: backup_audit_pbs_vmids derived from
  homelab_services by the monitoring.backup_audit_vmid flag; single shared
  freshness threshold backup_audit_pbs_max_age_hours (48).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uoq5AVK8mkBgg83Mq6o5V
This commit is contained in:
Dmitry
2026-09-03 07:04:36 +03:00
co-authored by Claude Sonnet 5
parent 7031d7dbb3
commit baef2c49b3
2 changed files with 32 additions and 26 deletions
+16 -3
View File
@@ -1,3 +1,7 @@
# Списки VMID выводятся из реестра homelab_services по полю backup.job, а не
# перечисляются вручную. Раньше добавление сервиса требовало отдельной правки
# здесь, и о ней легко было забыть — CT 148 emergency-bot до сих пор без бэкапа
# именно по этой причине.
- name: Configure Proxmox backup jobs
hosts: mini-pc
gather_facts: false
@@ -6,7 +10,10 @@
- id: homelab-pbs-daily-cloud
comment: Daily PBS backup for cloud-pc service containers
node: cloud-pc
vmid: 141,145,146,147,149
vmid: >-
{{ homelab_services.values() | selectattr('backup.job', 'defined')
| selectattr('backup.job', 'eq', 'homelab-pbs-daily-cloud')
| map(attribute='vmid') | sort | join(',') }}
storage: pbs
schedule: "02:10"
mode: snapshot
@@ -14,7 +21,10 @@
- id: homelab-pbs-daily-mini
comment: Daily PBS backup for mini-pc service containers
node: mini-pc
vmid: 132,140,142,143,144,150
vmid: >-
{{ homelab_services.values() | selectattr('backup.job', 'defined')
| selectattr('backup.job', 'eq', 'homelab-pbs-daily-mini')
| map(attribute='vmid') | sort | join(',') }}
storage: pbs
schedule: "02:40"
mode: snapshot
@@ -22,7 +32,10 @@
- id: homelab-local-weekly-pbs
comment: Weekly local backup for PBS container rootfs/config
node: cloud-pc
vmid: 120
vmid: >-
{{ homelab_services.values() | selectattr('backup.job', 'defined')
| selectattr('backup.job', 'eq', 'homelab-local-weekly-pbs')
| map(attribute='vmid') | sort | join(',') }}
storage: backup
schedule: "Sun 03:30"
mode: snapshot