otel: refuse a half-configured escape hatch instead of 404ing silently
Turning ingest auth off without clearing a hive's credential leaves that hive's collector authenticating and addressing its own path, while an unauthenticated swarm tier serves one catch-all and forwards the URI unchanged. The receiver is asked for a path it does not serve, so telemetry stops with 404s and retries — no 401, no assertion, nothing in any log naming auth. Only reachable by overriding one side without the other, since both defaults derive from the same flag. That is what makes it worth a build error rather than a caveat: an operator who flips the documented escape hatch has no reason to suspect the sending half. Found in review by argus.
This commit is contained in:
parent
9dc60061e7
commit
7da7915150
2 changed files with 41 additions and 0 deletions
|
|
@ -212,8 +212,14 @@ trusted, or a swarm with no authelia:
|
|||
|
||||
```nix
|
||||
services.hyperhive.swarm.otel.requireHiveIdentity = false;
|
||||
services.hyperhive.otel.clientSecretFile = null; # on each hive that had one
|
||||
```
|
||||
|
||||
Both halves, because a collector that authenticates also addresses its hive's
|
||||
own path, and an unauthenticated swarm tier serves no per-hive paths. Set only
|
||||
the first and that hive's samples 404 instead of arriving. On a host running
|
||||
both tiers the build says so; on a split host it is yours to keep in step.
|
||||
|
||||
⚠️ That reopens the original hole rather than merely skipping a check: while an
|
||||
unauthenticated port is listening, anything that can reach the collector can
|
||||
attribute metrics to any hive.
|
||||
|
|
|
|||
Loading…
Reference in a new issue