#188 follow-up: reclaim duplicate storage copy + object-level cutover verification #197
Etiketter
Inga etiketter
area/backups
area/ci
area/control-panel
area/identity
area/infra
area/observability
area/payments
area/security
area/storage
area/web
blocked
needs-info
needs-triage
ready-for-implementation
type
bug
type
chore
type
docs
type
epic
type
feature
type
task
wontfix
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Inget förfallodatum satt.
Beroenden
Inga beroenden satta
Referens
bitborg/bitborg-infra#197
Läser in…
Hänvisa till i nytt ärende
Ingen beskrivning angiven.
Ta bort grenen "%!s()"
Borttagning av en gren är permanent. Även om den borttagna grenen kan fortsätta existera en kort tid innan den faktiskt tas bort, kan det INTE ångras i de flesta fall. Vill du fortsätta?
Follow-up to the 2026-07-21 storage incident (#188 cutover left Forgejo
[storage]on an empty ceph volume → avatars/packages/LFS 404'd instance-wide; restored by migrating the 9 GB of blobs with rsync).1. Reclaim the duplicate old copy (after backup verification)
rsynccopied (not moved), so the ~9 GB of blobs now exist on both the data volume (old default path) and the ceph volume. Once a post-cutover backup is confirmed to containforgejo-storage.tar.gz(decrypt +tar -t), reclaim the old copy from the data volume to free ~9 GB and stop double-archiving:Destructive — do only after a clean soak + verified backup.
2. Object-level post-cutover verification (prevention)
The cutover was verified with
--checkand/api/healthz(200) — neither reads a stored object, so an empty target was invisible. This is the same shallow-verification failure mode as the #174 runner rebake (looked healthy, never ran a real job → #195/#196 territory).Add a real post-change check that exercises the changed path:
Runbook now documents the migrate-data + fetch-a-real-object procedure (PR on
docs/storage-cutover-migration).area/ops, area/backup, type/enhancement
Both halves complete.
Also fixed the lost+found storage-tar bug found along the way (#199). Closing — the #188 storage chain is fully closed.