- Added CheckDatabaseHealth() method to UserRepository interface
- Implemented database connectivity check in SQLite repository
- Enhanced /ready endpoint to verify database health before reporting ready
- Improved readiness logic: checks both server shutdown status and database connectivity
- Better observability: Logs database health check failures with warnings
Benefits:
- More accurate readiness reporting for Kubernetes/container environments
- Detects database connectivity issues before accepting traffic
- Prevents application from accepting requests when database is unavailable
- Maintains backward compatibility with existing readiness checks
Implementation:
- Simple COUNT query to test database responsiveness
- Graceful handling of database unavailability
- Proper HTTP 503 status when not ready
- Comprehensive logging for troubleshooting
Testing:
- ✅ Readiness endpoint returns true when database is healthy
- ✅ Readiness endpoint returns false when database is unhealthy
- ✅ All existing functionality preserved
- ✅ All 25 BDD scenarios passing
- ✅ All unit tests passing
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>