Files
dance-lessons-coach/pkg/user/user.go
Gabriel Radureau 760d1cc8b0
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled
CI/CD Pipeline / CI Pipeline (pull_request) Successful in 11m58s
🔧 feat: enhance readiness endpoint with database health check
- 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>
2026-04-07 01:02:53 +02:00

2.8 KiB