Define explicit health check resources for HTTP services
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 17h 7m
- Merged PRs (30d)
- 358
Description
### Main idea
- [ ] Create unified health check resource for every components
- [ ] Disable logging access footage of health check resource
- [ ] Extend health check API handler implementation to report connection status of each dependent components (redis, etcd, ...)
Though we already have HTTP resources dedicated for reporting its current health on some components (e.g. `GET /` for manager), for ease of management, let's create a unified health check method across every Backend.AI services with HTTP server. Key requirements are:
- Health check request should be called by `GET /health`
- Response should be formed as:\* name of the component and its version in JSON format when `Accept` request header contains `application/json`
- `204 No Content` otherwise
- Access log to the health check resource should not be posted since otherwise it will spam the whole log
### Alternative ideas
_No response_
### Anything else?
_No response_
JIRA Issue: BA-88
Contributor guide
Assessment
This issue has not been assessed yet.