fix(velero): add home-assistant-daily Schedule for 9 uncovered PVCs #217

Merged
k.renner merged 1 commits from fix/issue-192 into master 2026-07-14 11:00:25 +00:00
Member

Fixes #192

Problem

The home-assistant namespace had no Velero schedule. 9 PVCs were uncovered:
home-assistant-config (20Gi — .storage entity registry, recorder DB,
secrets.yaml), esphome-data, shelly-manager-data, matter-server-data,
otbr-data, whisper-data, speech-to-phrase-models, speech-to-phrase-train,
zone-configurator-config.

Verified against origin/master: matter-server, otbr, whisper,
speech-to-phrase, and zone-configurator each live in their own
kubernetes/apps/ dir but set namespace: home-assistant in their
Kustomization, so all 9 PVCs really do land in the home-assistant
namespace — matching the issue's count exactly.

Fix

Added home-assistant-daily to velero-schedules.yaml, PVC-scoped like the
existing schedules, at the next free stagger slot (06:45 local). No CNPG
cluster lives in this namespace, so no label exclusion is needed.

Deliberately not added to velero-bootstrap-restore's SCHEDULES list:
home-assistant-config already has its own bootstrap-restore path (the HA
pod's seed initContainer pulling the native HAOS backup from Garage, see
the home-assistant Kustomization comment in
kubernetes/clusters/homelab/home-assistant.yaml). Layering an automatic
Velero PVC restore on top of that flow needs its own review — same
reasoning as why openbao-daily is excluded from SCHEDULES.

Test plan

  • YAML parses (yq) and the new Schedule document is well-formed
  • File is wired into kubernetes/infrastructure/post-crds/kustomization.yaml (pre-existing entry, unchanged)
  • Confirm on next cluster sync that the Schedule reconciles and the first 06:45 backup run succeeds
Fixes #192 ## Problem The home-assistant namespace had no Velero schedule. 9 PVCs were uncovered: home-assistant-config (20Gi — .storage entity registry, recorder DB, secrets.yaml), esphome-data, shelly-manager-data, matter-server-data, otbr-data, whisper-data, speech-to-phrase-models, speech-to-phrase-train, zone-configurator-config. Verified against origin/master: matter-server, otbr, whisper, speech-to-phrase, and zone-configurator each live in their own kubernetes/apps/ dir but set `namespace: home-assistant` in their Kustomization, so all 9 PVCs really do land in the home-assistant namespace — matching the issue's count exactly. ## Fix Added `home-assistant-daily` to velero-schedules.yaml, PVC-scoped like the existing schedules, at the next free stagger slot (06:45 local). No CNPG cluster lives in this namespace, so no label exclusion is needed. Deliberately **not** added to velero-bootstrap-restore's SCHEDULES list: home-assistant-config already has its own bootstrap-restore path (the HA pod's `seed` initContainer pulling the native HAOS backup from Garage, see the home-assistant Kustomization comment in kubernetes/clusters/homelab/home-assistant.yaml). Layering an automatic Velero PVC restore on top of that flow needs its own review — same reasoning as why openbao-daily is excluded from SCHEDULES. ## Test plan - [x] YAML parses (yq) and the new Schedule document is well-formed - [x] File is wired into kubernetes/infrastructure/post-crds/kustomization.yaml (pre-existing entry, unchanged) - [ ] Confirm on next cluster sync that the Schedule reconciles and the first 06:45 backup run succeeds
claude-bot added 1 commit 2026-07-14 10:06:09 +00:00
home-assistant, esphome, shelly-manager, matter-server, otbr, whisper,
speech-to-phrase, and zone-configurator all deploy into the
home-assistant namespace (per their Kustomization's `namespace:`
field, not their kubernetes/apps/ dir), and none of their PVCs were
covered by any Velero schedule -- including home-assistant-config,
which holds the .storage entity registry, recorder DB, and
secrets.yaml. Adds home-assistant-daily at the next free 06:45
stagger slot, PVC-scoped like the existing schedules.

Fixes #192
k.renner merged commit 331351a4b0 into master 2026-07-14 11:00:25 +00:00
Sign in to join this conversation.