- Handle both string and hash formats for container.info['State']
- Add fallback to container.json['State'] when needed
- Fix "Container not running" error when containers are actually running
- Support multiple Docker API response formats
The Docker API gem can return State as either:
- A simple string: "running"
- A hash: {"Status": "running", "Running": true, ...}
This fix ensures compatibility with different Docker daemon versions
and API response formats.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Move get_recent_backups, get_failed_backups, and get_container_backup_history methods to public section
- Remove duplicate methods that were incorrectly placed in private section
- Health check server endpoints now fully functional
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add get_recent_backups method to return recent backup history
- Add get_failed_backups method to return failed backup history
- Add get_container_backup_history method for container-specific history
- All methods are thread-safe with mutex synchronization
- Methods return data in reverse chronological order (newest first)
This fixes the 'undefined method get_recent_backups' error in health endpoints.
- Replace Sinatra run! calls with direct Puma::Server usage
- Use Rack-compatible approach to avoid Sinatra::Wrapper issues
- Remove problematic set method calls and run! method calls
- Both integrated and standalone health servers now use same Puma/Rack approach
- Remove outdated baktainer/logger require from main file
This should resolve the undefined method errors with Sinatra::Wrapper.
- Implement complete test suite with 63 examples (49 unit + 14 integration tests)
- Add RSpec, FactoryBot, WebMock, and SimpleCov testing dependencies
- Create mocked integration tests eliminating need for real Docker containers
- Fix SQLite method signature to accept login/password parameters
- Enhance container discovery to handle nil labels gracefully
- Add test coverage reporting and JUnit XML output for CI
- Update GitHub Actions workflow to run tests before Docker builds
- Add Ruby 3.3 setup with gem caching for faster CI execution
- Create CI test script and comprehensive testing documentation
- Ensure Docker builds only proceed when all tests pass
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>