Add archive package: tar.zst service directory snapshots

- Snapshot: VACUUM INTO for consistent db copy, excludes live db
  files and backups/, injects db snapshot, custom exclude patterns,
  streaming output via io.Writer
- Restore: extract tar.zst with path traversal protection
- zstd via github.com/klauspost/compress/zstd
- 5 tests: full roundtrip with db integrity verification,
  without db, exclude patterns, dest dir creation
- Update PROGRESS.md: all 9 packages complete, 87 total tests

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 16:37:18 -07:00
parent 20dc7ae0d6
commit 9012b889d6
5 changed files with 550 additions and 43 deletions

1
go.mod
View File

@@ -4,6 +4,7 @@ go 1.25.7
require (
github.com/go-chi/chi/v5 v5.2.5
github.com/klauspost/compress v1.18.5
github.com/pelletier/go-toml/v2 v2.3.0
google.golang.org/grpc v1.79.3
modernc.org/sqlite v1.47.0