lablup / lablup/backend.ai

Define explicit health check resources for HTTP services

Open
#2,758 0 comments 0 reactions 1 assignee Claimed by @fregataa View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.