Watch
0
0
Fork
You've already forked hyperhive
0

swarm-otel: routes carry a route header and the readiness probe requires it

This commit is contained in:
atlas 2026-10-24 21:19:39 +02:00 • committed by mara
commit 7680b07fcb
3 changed files with 101 additions and 15 deletions

View file

@ -339,9 +339,11 @@ receivers come from one list, so they name the same sockets. The
`swarm-otel-sockets` unit connects to each socket as the gateway's user after
the container starts, then requests every route through the gateway vhost. It
fails if a socket refuses for 30 seconds, or if a route answers `000`, `502` or
`504` for 30 seconds, so a collector that's up but not listening, or an nginx
that doesn't route to it, shows as a failed unit. Any other status passes, the
collector's 4xx included. A switch leaves a window of about 20 seconds in which
`504`, or lacks its own `X-Swarm-Otel-Route` response header, for 30 seconds.
The gateway sets that header, named after the route, on every response from a
route, so a collector that's up but not listening, or an nginx that doesn't
have the route, shows as a failed unit. Any status other than those passes,
the collector's 4xx included. A switch leaves a window of about 20 seconds in which
nginx and the container are out of step: the container stops before nginx
restarts and starts about 18 seconds after it. Senders retry through that window.