fix: parse volume (.tar) backups + surface real volume-backup errors #11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/volume-backup-parsing-and-errors"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two issues you hit after the stack rework went live.
1. Volume-only stacks showed 'No backups found'
parse_backup_filenameonly matched.sql/.sql.gz, so volume (.tar/.tar.gz) files landed innode_fileswith a nil container_name — and the per-stack file view filters by container, so they were excluded. That's exactly why searxng (a DB backup) showed but adguard (volume-only) didn't. Now it parses.tar/.tar.gztoo.To see existing volume backups immediately: on the Nodes page, open the node → Backup Files → Refresh from node (forces a live re-list with the fixed parser). Otherwise
node_filesself-heals on the next daily manifest.2. Failure reasons were generic ('Backup file not created')
Container#perform_volume_backupcaught the orchestrator's real error and returned[], so the caller only saw the generic 'no file' message. It now lets the error propagate, so the recorded failure (and the dashboard modal) shows the actual reason.Full suite green — 1127 examples.
🤖 Generated with Claude Code
Two issues from the stack rework going live: 1. Volume-only stacks (e.g. adguard) showed "No backups found" in the per-stack View Backups. parse_backup_filename only matched .sql/.sql.gz, so volume (.tar/.tar.gz) files got a nil container_name in node_files and were filtered out. Now it parses .tar/.tar.gz too (compressed = ends in .gz). DB-backup stacks (searxng) were unaffected, which is why only some showed. (node_files self-heals on the next manifest; "Refresh from node" forces it.) 2. Failure reasons were generic ("Backup file not created"). Container#perform_ volume_backup swallowed the orchestrator's real error and returned []. It now lets the error propagate so the caller records the actual message, which the dashboard failure modal shows. Full suite green (1127 examples). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>