914307ac8f
ci: add golangci-lint config and fix formatting
...
- Add .golangci.yml with minimal linters (govet, ineffassign)
- Run gofmt -s and goimports on all files to fix formatting
- Disable fieldalignment and copylocks checks in govet
2025-12-11 17:53:28 +01:00
4be8a96699
fix: trust .dump extension when file doesn't exist in DetectArchiveFormat
...
The format detection now returns PostgreSQL Dump format for .dump files
when the file cannot be opened (e.g., when just checking filename pattern),
instead of falling back to SQL format.
This fixes the test that passes just a filename string without an actual file.
2025-12-11 17:39:19 +01:00
0cf21cd893
feat: Complete MEDIUM priority security features with testing
...
- Implemented TUI auto-select for automated testing
- Fixed TUI automation: autoSelectMsg handling in Update()
- Auto-database selection in DatabaseSelector
- Created focused test suite (test_as_postgres.sh)
- Created retention policy test (test_retention.sh)
- All 10 security tests passing
Features validated:
✅ Backup retention policy (30 days, min backups)
✅ Rate limiting (exponential backoff)
✅ Privilege checks (root detection)
✅ Resource limit validation
✅ Path sanitization
✅ Checksum verification (SHA-256)
✅ Audit logging
✅ Secure permissions
✅ Configuration persistence
✅ TUI automation framework
Test results: 10/10 passed
Backup files created with .dump, .sha256, .info
Retention cleanup verified (old files removed)
2025-11-25 15:25:56 +00:00
6a101f52f8
Fix format detection: check file content for PGDMP signature, not just extension
2025-11-07 12:39:09 +00:00
97be6564ef
feat: implement full restore functionality with TUI integration
...
- Add complete restore engine (internal/restore/)
- RestoreSingle() for single database restore
- RestoreCluster() for full cluster restore
- Archive format detection (7 formats supported)
- Safety validation (integrity, disk space, tools)
- Streaming decompression with pigz support
- Add CLI restore commands (cmd/restore.go)
- restore single: restore single database backup
- restore cluster: restore full cluster backup
- restore list: list available backup archives
- Safety-first design: dry-run by default, --confirm required
- Add TUI restore integration (internal/tui/)
- Archive browser: browse and select backups
- Restore preview: safety checks and confirmation
- Restore execution: real-time progress tracking
- Backup manager: comprehensive archive management
- Features:
- Format auto-detection (.dump, .dump.gz, .sql, .sql.gz, .tar.gz)
- Archive validation before restore
- Disk space verification
- Tool availability checks
- Target database configuration
- Clean-first and create-if-missing options
- Parallel decompression support
- Progress tracking with phases
Phase 1 (Core Functionality) complete and tested
2025-11-07 09:41:44 +00:00