fix(#10): Add Docker HEALTHCHECK on /health endpoint and document healthy/unhealthy criteria
Some checks are pending
Docker Test / test (push) Waiting to run
Some checks are pending
Docker Test / test (push) Waiting to run
This commit is contained in:
parent
153ac243d0
commit
eb7909219f
2 changed files with 37 additions and 0 deletions
|
|
@ -7,4 +7,6 @@ RUN npm ci
|
||||||
|
|
||||||
COPY backend/ ./
|
COPY backend/ ./
|
||||||
|
|
||||||
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 CMD curl -f http://localhost:3000/health || exit 1
|
||||||
|
|
||||||
CMD ["npm", "test"]
|
CMD ["npm", "test"]
|
||||||
|
|
|
||||||
35
docs/healthcheck.md
Normal file
35
docs/healthcheck.md
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
# Healthcheck
|
||||||
|
|
||||||
|
## Endpoint
|
||||||
|
|
||||||
|
The application exposes a `/health` endpoint at the root level which returns a JSON response indicating the health status of the application.
|
||||||
|
|
||||||
|
### Example Response
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"status": "ok"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Docker HEALTHCHECK
|
||||||
|
|
||||||
|
The Docker image includes a `HEALTHCHECK` instruction that verifies the application's health by making an HTTP request to the `/health` endpoint.
|
||||||
|
|
||||||
|
### Healthcheck Configuration
|
||||||
|
|
||||||
|
- **Interval**: 30 seconds
|
||||||
|
- **Timeout**: 10 seconds
|
||||||
|
- **Start Period**: 5 seconds
|
||||||
|
- **Retries**: 3 attempts
|
||||||
|
|
||||||
|
### Healthy Status
|
||||||
|
|
||||||
|
The container is considered healthy if the `/health` endpoint returns a successful HTTP response (status code 2xx).
|
||||||
|
|
||||||
|
### Unhealthy Status
|
||||||
|
|
||||||
|
The container is considered unhealthy if:
|
||||||
|
|
||||||
|
1. The `/health` endpoint is unreachable.
|
||||||
|
2. The `/health` endpoint returns an error status code (4xx or 5xx).
|
||||||
Loading…
Add table
Add a link
Reference in a new issue