baktainer/app/spec/examples.txt

124 lines
9.5 KiB
Text
Raw Normal View History

example_id | status | run_time |
------------------------------------------------- | ------ | --------------- |
./spec/integration/backup_workflow_spec.rb[1:1:1] | passed | 0.00318 seconds |
./spec/integration/backup_workflow_spec.rb[1:1:2] | passed | 0.00332 seconds |
./spec/integration/backup_workflow_spec.rb[1:2:1] | passed | 0.00772 seconds |
./spec/integration/backup_workflow_spec.rb[1:2:2] | passed | 0.00195 seconds |
./spec/integration/backup_workflow_spec.rb[1:3:1] | passed | 0.00807 seconds |
./spec/integration/backup_workflow_spec.rb[1:3:2] | passed | 0.00176 seconds |
./spec/integration/backup_workflow_spec.rb[1:4:1] | passed | 0.00917 seconds |
./spec/integration/backup_workflow_spec.rb[1:4:2] | passed | 0.00357 seconds |
./spec/integration/backup_workflow_spec.rb[1:5:1] | passed | 0.52901 seconds |
./spec/integration/backup_workflow_spec.rb[1:5:2] | passed | 0.52794 seconds |
./spec/integration/backup_workflow_spec.rb[1:5:3] | passed | 0.1106 seconds |
./spec/integration/backup_workflow_spec.rb[1:6:1] | passed | 0.00659 seconds |
./spec/integration/backup_workflow_spec.rb[1:6:2] | passed | 0.00855 seconds |
./spec/integration/backup_workflow_spec.rb[1:7:1] | passed | 0.52686 seconds |
./spec/unit/backup_command_spec.rb[1:1:1] | passed | 0.00056 seconds |
./spec/unit/backup_command_spec.rb[1:1:2] | passed | 0.00049 seconds |
./spec/unit/backup_command_spec.rb[1:2:1] | passed | 0.00033 seconds |
./spec/unit/backup_command_spec.rb[1:3:1] | passed | 0.00034 seconds |
./spec/unit/backup_command_spec.rb[1:3:2] | passed | 0.00029 seconds |
./spec/unit/backup_command_spec.rb[1:4:1] | passed | 0.00058 seconds |
./spec/unit/backup_command_spec.rb[1:5:1] | passed | 0.00028 seconds |
./spec/unit/backup_command_spec.rb[1:5:2] | passed | 0.00029 seconds |
./spec/unit/backup_command_spec.rb[1:6:1] | passed | 0.00028 seconds |
./spec/unit/backup_command_spec.rb[1:7:1] | passed | 0.00058 seconds |
./spec/unit/backup_command_spec.rb[1:7:2] | passed | 0.00062 seconds |
./spec/unit/backup_command_spec.rb[1:8:1] | passed | 0.00031 seconds |
./spec/unit/backup_command_spec.rb[1:8:2] | passed | 0.00035 seconds |
./spec/unit/backup_command_spec.rb[1:8:3] | passed | 0.00033 seconds |
./spec/unit/backup_command_spec.rb[1:8:4] | passed | 0.00032 seconds |
./spec/unit/backup_command_spec.rb[1:8:5:1] | passed | 0.00032 seconds |
./spec/unit/backup_command_spec.rb[1:8:5:2] | passed | 0.00029 seconds |
./spec/unit/backup_command_spec.rb[1:8:5:3] | passed | 0.0003 seconds |
./spec/unit/backup_command_spec.rb[1:8:5:4] | passed | 0.00029 seconds |
./spec/unit/backup_command_spec.rb[1:8:5:5] | passed | 0.00032 seconds |
./spec/unit/backup_encryption_spec.rb[1:1:1] | passed | 0.00139 seconds |
./spec/unit/backup_encryption_spec.rb[1:1:2:1] | passed | 0.00134 seconds |
./spec/unit/backup_encryption_spec.rb[1:2:1:1] | passed | 0.0678 seconds |
./spec/unit/backup_encryption_spec.rb[1:2:1:2] | passed | 0.00836 seconds |
./spec/unit/backup_encryption_spec.rb[1:2:1:3] | passed | 0.00863 seconds |
./spec/unit/backup_encryption_spec.rb[1:2:2:1] | passed | 0.00101 seconds |
./spec/unit/backup_encryption_spec.rb[1:3:1:1] | passed | 0.0058 seconds |
./spec/unit/backup_encryption_spec.rb[1:3:1:2] | passed | 0.00739 seconds |
./spec/unit/backup_encryption_spec.rb[1:3:1:3] | passed | 0.00706 seconds |
./spec/unit/backup_encryption_spec.rb[1:3:2:1] | passed | 0.00177 seconds |
./spec/unit/backup_encryption_spec.rb[1:4:1:1] | passed | 0.00528 seconds |
Major architectural overhaul: dependency injection, monitoring, and operational improvements This commit represents a comprehensive refactoring and enhancement of Baktainer: ## Core Architecture Improvements - Implemented comprehensive dependency injection system with DependencyContainer - Fixed critical singleton instantiation bug that was returning Procs instead of service instances - Replaced problematic Concurrent::FixedThreadPool with custom SimpleThreadPool implementation - Achieved 100% test pass rate (121 examples, 0 failures) after fixing 30+ failing tests ## New Features Implemented ### 1. Backup Rotation & Cleanup (BackupRotation) - Configurable retention policies by age, count, and disk space - Automatic cleanup with comprehensive statistics tracking - Empty directory cleanup and space monitoring ### 2. Backup Encryption (BackupEncryption) - AES-256-CBC and AES-256-GCM encryption support - Key derivation from passphrases or direct key input - Encrypted backup metadata storage ### 3. Operational Monitoring Suite - **Health Check Server**: HTTP endpoints for monitoring (/health, /status, /metrics) - **Web Dashboard**: Real-time monitoring dashboard with auto-refresh - **Prometheus Metrics**: Integration with monitoring systems - **Backup Monitor**: Comprehensive metrics tracking and performance alerts ### 4. Advanced Label Validation (LabelValidator) - Schema-based validation for all 12+ Docker labels - Engine-specific validation rules - Helpful error messages and warnings - Example generation for each database engine ### 5. Multi-Channel Notifications (NotificationSystem) - Support for Slack, Discord, Teams, webhooks, and log notifications - Event-based notifications for backups, failures, warnings, and health issues - Configurable notification thresholds ## Code Organization Improvements - Extracted responsibilities into focused classes: - ContainerValidator: Container validation logic - BackupOrchestrator: Backup workflow orchestration - FileSystemOperations: File I/O with comprehensive error handling - Configuration: Centralized environment variable management - BackupStrategy/Factory: Strategy pattern for database engines ## Testing Infrastructure - Added comprehensive unit and integration tests - Fixed timing-dependent test failures - Added RSpec coverage reporting (94.94% coverage) - Created test factories and fixtures ## Breaking Changes - Container class constructor now requires dependency injection - BackupCommand methods now use keyword arguments - Thread pool implementation changed from Concurrent to SimpleThreadPool ## Configuration New environment variables: - BT_HEALTH_SERVER_ENABLED: Enable health check server - BT_HEALTH_PORT/BT_HEALTH_BIND: Health server configuration - BT_NOTIFICATION_CHANNELS: Comma-separated notification channels - BT_ENCRYPTION_ENABLED/BT_ENCRYPTION_KEY: Backup encryption - BT_RETENTION_DAYS/COUNT: Backup retention policies This refactoring improves maintainability, testability, and adds enterprise-grade monitoring and operational features while maintaining backward compatibility for basic usage. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 22:58:26 -04:00
./spec/unit/backup_encryption_spec.rb[1:4:1:2] | passed | 0.04324 seconds |
./spec/unit/backup_encryption_spec.rb[1:4:1:3] | passed | 0.04443 seconds |
./spec/unit/backup_encryption_spec.rb[1:4:2:1] | passed | 0.00081 seconds |
./spec/unit/backup_encryption_spec.rb[1:5:1:1] | passed | 0.04693 seconds |
./spec/unit/backup_encryption_spec.rb[1:5:2:1] | passed | 0.00543 seconds |
./spec/unit/backup_encryption_spec.rb[1:5:3:1] | passed | 0.0056 seconds |
./spec/unit/backup_encryption_spec.rb[1:6:1] | passed | 0.00104 seconds |
./spec/unit/backup_rotation_spec.rb[1:1:1] | passed | 0.00072 seconds |
./spec/unit/backup_rotation_spec.rb[1:1:2] | passed | 0.00056 seconds |
./spec/unit/backup_rotation_spec.rb[1:2:1:1] | passed | 0.00149 seconds |
./spec/unit/backup_rotation_spec.rb[1:2:1:2] | passed | 0.00151 seconds |
./spec/unit/backup_rotation_spec.rb[1:2:2:1] | passed | 0.00182 seconds |
./spec/unit/backup_rotation_spec.rb[1:2:2:2] | passed | 0.00202 seconds |
./spec/unit/backup_rotation_spec.rb[1:2:3:1] | passed | 0.00213 seconds |
./spec/unit/backup_rotation_spec.rb[1:2:4:1] | passed | 0.00553 seconds |
./spec/unit/backup_rotation_spec.rb[1:2:4:2] | passed | 0.00519 seconds |
./spec/unit/backup_rotation_spec.rb[1:3:1] | passed | 0.00282 seconds |
./spec/unit/backup_rotation_spec.rb[1:3:2] | passed | 0.00133 seconds |
./spec/unit/baktainer_spec.rb[1:1:1] | passed | 0.00138 seconds |
./spec/unit/baktainer_spec.rb[1:1:2] | passed | 0.00142 seconds |
./spec/unit/baktainer_spec.rb[1:1:3] | passed | 0.00135 seconds |
./spec/unit/baktainer_spec.rb[1:1:4] | passed | 0.26515 seconds |
./spec/unit/baktainer_spec.rb[1:1:5] | passed | 0.00123 seconds |
./spec/unit/baktainer_spec.rb[1:2:1] | passed | 0.00213 seconds |
./spec/unit/baktainer_spec.rb[1:2:2] | passed | 0.00345 seconds |
./spec/unit/baktainer_spec.rb[1:2:3] | passed | 0.00271 seconds |
./spec/unit/baktainer_spec.rb[1:3:1] | passed | 0.00177 seconds |
./spec/unit/baktainer_spec.rb[1:3:2] | passed | 0.00193 seconds |
./spec/unit/baktainer_spec.rb[1:3:3] | passed | 0.00191 seconds |
./spec/unit/baktainer_spec.rb[1:3:4] | passed | 0.00255 seconds |
./spec/unit/baktainer_spec.rb[1:4:1:1] | passed | 0.00216 seconds |
./spec/unit/baktainer_spec.rb[1:4:2:1] | passed | 0.35042 seconds |
./spec/unit/container_spec.rb[1:1:1] | passed | 0.00112 seconds |
./spec/unit/container_spec.rb[1:2:1] | passed | 0.00086 seconds |
./spec/unit/container_spec.rb[1:2:2] | passed | 0.00088 seconds |
./spec/unit/container_spec.rb[1:3:1] | passed | 0.00091 seconds |
./spec/unit/container_spec.rb[1:3:2] | passed | 0.00097 seconds |
./spec/unit/container_spec.rb[1:4:1] | passed | 0.00088 seconds |
./spec/unit/container_spec.rb[1:5:1] | passed | 0.00088 seconds |
./spec/unit/container_spec.rb[1:5:2] | passed | 0.00094 seconds |
./spec/unit/container_spec.rb[1:6:1] | passed | 0.0009 seconds |
./spec/unit/container_spec.rb[1:7:1] | passed | 0.00102 seconds |
./spec/unit/container_spec.rb[1:8:1] | passed | 0.00142 seconds |
./spec/unit/container_spec.rb[1:9:1:1] | passed | 0.00101 seconds |
./spec/unit/container_spec.rb[1:9:2:1] | passed | 0.00097 seconds |
./spec/unit/container_spec.rb[1:9:3:1] | passed | 0.0008 seconds |
./spec/unit/container_spec.rb[1:9:4:1] | passed | 0.00132 seconds |
./spec/unit/container_spec.rb[1:9:5:1] | passed | 0.00163 seconds |
./spec/unit/container_spec.rb[1:9:6:1] | passed | 0.00138 seconds |
./spec/unit/container_spec.rb[1:10:1] | passed | 0.00183 seconds |
./spec/unit/container_spec.rb[1:10:2] | passed | 0.00127 seconds |
./spec/unit/container_spec.rb[1:10:3] | passed | 0.00606 seconds |
./spec/unit/container_spec.rb[1:11:1] | passed | 0.00107 seconds |
./spec/unit/container_spec.rb[1:11:2] | passed | 0.00147 seconds |
./spec/unit/container_spec.rb[1:11:3] | passed | 0.00129 seconds |
Major architectural overhaul: dependency injection, monitoring, and operational improvements This commit represents a comprehensive refactoring and enhancement of Baktainer: ## Core Architecture Improvements - Implemented comprehensive dependency injection system with DependencyContainer - Fixed critical singleton instantiation bug that was returning Procs instead of service instances - Replaced problematic Concurrent::FixedThreadPool with custom SimpleThreadPool implementation - Achieved 100% test pass rate (121 examples, 0 failures) after fixing 30+ failing tests ## New Features Implemented ### 1. Backup Rotation & Cleanup (BackupRotation) - Configurable retention policies by age, count, and disk space - Automatic cleanup with comprehensive statistics tracking - Empty directory cleanup and space monitoring ### 2. Backup Encryption (BackupEncryption) - AES-256-CBC and AES-256-GCM encryption support - Key derivation from passphrases or direct key input - Encrypted backup metadata storage ### 3. Operational Monitoring Suite - **Health Check Server**: HTTP endpoints for monitoring (/health, /status, /metrics) - **Web Dashboard**: Real-time monitoring dashboard with auto-refresh - **Prometheus Metrics**: Integration with monitoring systems - **Backup Monitor**: Comprehensive metrics tracking and performance alerts ### 4. Advanced Label Validation (LabelValidator) - Schema-based validation for all 12+ Docker labels - Engine-specific validation rules - Helpful error messages and warnings - Example generation for each database engine ### 5. Multi-Channel Notifications (NotificationSystem) - Support for Slack, Discord, Teams, webhooks, and log notifications - Event-based notifications for backups, failures, warnings, and health issues - Configurable notification thresholds ## Code Organization Improvements - Extracted responsibilities into focused classes: - ContainerValidator: Container validation logic - BackupOrchestrator: Backup workflow orchestration - FileSystemOperations: File I/O with comprehensive error handling - Configuration: Centralized environment variable management - BackupStrategy/Factory: Strategy pattern for database engines ## Testing Infrastructure - Added comprehensive unit and integration tests - Fixed timing-dependent test failures - Added RSpec coverage reporting (94.94% coverage) - Created test factories and fixtures ## Breaking Changes - Container class constructor now requires dependency injection - BackupCommand methods now use keyword arguments - Thread pool implementation changed from Concurrent to SimpleThreadPool ## Configuration New environment variables: - BT_HEALTH_SERVER_ENABLED: Enable health check server - BT_HEALTH_PORT/BT_HEALTH_BIND: Health server configuration - BT_NOTIFICATION_CHANNELS: Comma-separated notification channels - BT_ENCRYPTION_ENABLED/BT_ENCRYPTION_KEY: Backup encryption - BT_RETENTION_DAYS/COUNT: Backup retention policies This refactoring improves maintainability, testability, and adds enterprise-grade monitoring and operational features while maintaining backward compatibility for basic usage. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 22:58:26 -04:00
./spec/unit/label_validator_spec.rb[1:1:1:1] | passed | 0.00039 seconds |
./spec/unit/label_validator_spec.rb[1:1:1:2] | passed | 0.00036 seconds |
./spec/unit/label_validator_spec.rb[1:1:2:1] | passed | 0.00035 seconds |
./spec/unit/label_validator_spec.rb[1:1:3:1] | passed | 0.00042 seconds |
./spec/unit/label_validator_spec.rb[1:1:4:1] | passed | 0.00039 seconds |
./spec/unit/label_validator_spec.rb[1:1:5:1] | passed | 0.00044 seconds |
./spec/unit/label_validator_spec.rb[1:1:6:1] | passed | 0.00134 seconds |
./spec/unit/label_validator_spec.rb[1:2:1] | passed | 0.0022 seconds |
./spec/unit/label_validator_spec.rb[1:2:2] | passed | 0.00105 seconds |
./spec/unit/label_validator_spec.rb[1:3:1] | passed | 0.00068 seconds |
./spec/unit/label_validator_spec.rb[1:3:2] | passed | 0.00117 seconds |
./spec/unit/label_validator_spec.rb[1:4:1] | passed | 0.00032 seconds |
./spec/unit/label_validator_spec.rb[1:4:2] | passed | 0.00032 seconds |
./spec/unit/notification_system_spec.rb[1:1:1:1] | passed | 0.00106 seconds |
./spec/unit/notification_system_spec.rb[1:1:2:1] | passed | 0.00358 seconds |
./spec/unit/notification_system_spec.rb[1:2:1] | passed | 0.03763 seconds |
./spec/unit/notification_system_spec.rb[1:3:1] | passed | 0.00117 seconds |
./spec/unit/notification_system_spec.rb[1:4:1] | passed | 0.00228 seconds |
./spec/unit/notification_system_spec.rb[1:5:1] | passed | 0.00097 seconds |
./spec/unit/notification_system_spec.rb[1:6:1] | passed | 0.00058 seconds |
./spec/unit/notification_system_spec.rb[1:6:2] | passed | 0.00062 seconds |