R-49 (D21 = B): a template may exclude a named volume from every backup (backup.volumes, class excluded) — Immich's model cache; guarded, red-proved; unreleased
gates / gates (push) Successful in 1m50s

This commit is contained in:
2026-10-22 16:21:38 +02:00
parent cbc944c3c0
commit 6a17c95815
10 changed files with 246 additions and 1 deletions
+3 -1
View File
@@ -856,7 +856,7 @@ func (m *Manager) DumpAppVolumes(stackName string) error {
return nil
}
volumes := m.stackProvider.GetDockerVolumes(stackName)
volumes := m.dumpableVolumes(stackName)
if len(volumes) == 0 {
return nil
}
@@ -929,6 +929,8 @@ func (m *Manager) DumpAppVolumes(stackName string) error {
continue
}
if !activeVols[name] && strings.HasSuffix(name, ".tar") {
// R-49 (D21 = B): this is also how a volume the template now EXCLUDES leaves the unit — its last
// tar would otherwise ride every later copy (Immich's 824 MB model cache, off-site each night).
os.Remove(filepath.Join(dumpDir, name))
if m.isDebug() {
m.logger.Printf("[DEBUG] [backup] Removed stale volume dump: %s/%s", stackName, name)