Helm chart v2: manifest-server liveness/readiness probes hit /health, which the server 307-redirects to /health/
- Lingua principale
- Python
- Stelle
- 22.1k
- Fork
- 5.3k
- Metriche di merge delle PR
- Metriche PR in attesa
Descrizione
### What happened
With Helm chart `2.1.0` (also present in `2.1.1` and current `main`), every kubelet probe against the manifest-server logs a redirect followed by a second request:
```
airbyte-manifest-server INFO: 10.89.52.226:52772 - "GET /health HTTP/1.1" 307 Temporary Redirect
airbyte-manifest-server INFO: 10.89.52.226:52776 - "GET /health/ HTTP/1.1" 200 OK
```
### Root cause
The chart hardcodes the probe path as `/health` (no values override exists):
https://github.com/airbytehq/airbyte-platform/blob/main/charts/v2/airbyte/templates/airbyte-manifest-server/deployment.yaml#L97 (and L108 for the readiness probe)
But the manifest-server only registers the route with a trailing slash — `APIRouter(prefix="/health")` + `@router.get("/")`:
https://github.com/airbytehq/airbyte-python-cdk/blob/main/airbyte_cdk/manifest_server/routers/health.py
FastAPI's default `redirect_slashes=True` turns every `GET /health` into a 307 to `/health/`.
### Impact
Probes still pass (the kubelet's HTTP client follows the redirect), so this is not an availability bug — but it doubles the request count and log volume for every liveness/readiness check on every manifest-server pod, and the permanent 307s are misleading when scanning logs or HTTP metrics.
### Suggested fix
Either (or both):
- Chart: change the two literals in `airbyte-manifest-server/deployment.yaml` to `/health/`.
- CDK: register the health route without the trailing-slash redirect, e.g. `@router.get("")` alongside `@router.get("/")`, so `/health` answers 200 directly.
The chart fix is a two-character diff and immediately effective; the CDK fix also covers anyone probing or monitoring `/health` outside the chart.
### Environment
- Helm chart: `airbyte` 2.1.0 (from https://airbytehq.github.io/charts), also reproduced with 2.1.1
- `manifestServer.image`: `airbyte/manifest-server:7.10.0` (chart default)
- Airbyte Community (self-managed), Kubernetes 1.33
---
**Internal Tracking:** https://github.com/airbytehq/oncall/issues/13203
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.