feat: Add enterprise DBA features for production reliability
New features implemented: 1. Backup Catalog (internal/catalog/) - SQLite-based backup tracking - Gap detection and RPO monitoring - Search and statistics - Filesystem sync 2. DR Drill Testing (internal/drill/) - Automated restore testing in Docker containers - Database validation with custom queries - Catalog integration for drill-tested status 3. Smart Notifications (internal/notify/) - Event batching with configurable intervals - Time-based escalation policies - HTML/text/Slack templates 4. Compliance Reports (internal/report/) - SOC2, GDPR, HIPAA, PCI-DSS, ISO27001 frameworks - Evidence collection from catalog - JSON, Markdown, HTML output formats 5. RTO/RPO Calculator (internal/rto/) - Recovery objective analysis - RTO breakdown by phase - Recommendations for improvement 6. Replica-Aware Backup (internal/replica/) - Topology detection for PostgreSQL/MySQL - Automatic replica selection - Configurable selection strategies 7. Parallel Table Backup (internal/parallel/) - Concurrent table dumps - Worker pool with progress tracking - Large table optimization 8. MySQL/MariaDB PITR (internal/pitr/) - Binary log parsing and replay - Point-in-time recovery support - Transaction filtering CLI commands added: catalog, drill, report, rto All changes support the goal: reliable 3 AM database recovery.
This commit is contained in:
@@ -91,6 +91,13 @@ type Config struct {
|
||||
WALCompression bool // Compress WAL files
|
||||
WALEncryption bool // Encrypt WAL files
|
||||
|
||||
// MySQL PITR options
|
||||
BinlogDir string // MySQL binary log directory
|
||||
BinlogArchiveDir string // Directory to archive binlogs
|
||||
BinlogArchiveInterval string // Interval for binlog archiving (e.g., "30s")
|
||||
RequireRowFormat bool // Require ROW format for binlog
|
||||
RequireGTID bool // Require GTID mode enabled
|
||||
|
||||
// TUI automation options (for testing)
|
||||
TUIAutoSelect int // Auto-select menu option (-1 = disabled)
|
||||
TUIAutoDatabase string // Pre-fill database name
|
||||
|
||||
Reference in New Issue
Block a user