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
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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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-assistantin theirKustomization, so all 9 PVCs really do land in the home-assistant
namespace — matching the issue's count exactly.
Fix
Added
home-assistant-dailyto velero-schedules.yaml, PVC-scoped like theexisting 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
seedinitContainer pulling the native HAOS backup from Garage, seethe 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