airbytehq / airbytehq/airbyte

Helm chart v2: manifest-server liveness/readiness probes hit /health, which the server 307-redirects to /health/

Aperta
#83,263 3 commenti 1 reazione 0 assegnatari Vedi su GitHub
autoteam community team/use
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.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.