backup-drill: selective bundle extract on decoupled restore (avoid drill-VM ENOSPC) #214
Inga granskare
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!214
Läser in…
Hänvisa till i nytt ärende
Ingen beskrivning angiven.
Ta bort grenen "fix/drill-selective-extract-decoupled"
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?
Problem
The restore drill ENOSPC'd on the throwaway VM while unpacking the bundle when the latest off-site
archive is a legacy (pre-decoupling) one. Those archives still bundle
forgejo-storage.tar.gz(~8 GB). The on-VM restore script extracted the whole bundle (including that tarball) and then
restic restored the storage tier separately — so the bundled ~8 GB tarball is dead weight that,together with the restic-restored copy, overflows the drill VM's root filesystem
(
tar: forgejo-storage.tar.gz: Wrote only 6656 of 10240 bytes).Transition-window only: slim (post-decoupling) archives don't contain the tarball. But left unfixed
it would fail the weekly drill for the whole 14-day retention window while legacy archives age out.
Fix
When restoring decoupled (
/root/restic.envpresent), extract the bundle with--exclude=forgejo-storage.tar.gz— the storage tier comes from restic, so the bundled copy isskipped. This is the same selective-extract approach the ADR-0031 rehearsal play already uses, and a
no-op for slim archives. Follow-up to #211 / #212 / #213.
Impact