Watch
0
0
Fork
You've already forked hyperhive
0

drop port-collision checks against swarm.otel.telemetryPort

nothing at runtime: eval no longer asserts against a port the swarm
collector no longer binds in the host netns.
This commit is contained in:
atlas 2026-10-24 12:13:38 +02:00 • committed by mara
commit 627964f72d
7 changed files with 9 additions and 21 deletions

View file

@ -458,14 +458,13 @@ in
assertion = assertion =
!(lib.elem forwarderTelemetryPort [ !(lib.elem forwarderTelemetryPort [
config.services.hyperhive.otel.telemetryPort config.services.hyperhive.otel.telemetryPort
config.services.hyperhive.swarm.otel.telemetryPort
config.services.hyperhive.swarm.bao.otel.telemetryPort config.services.hyperhive.swarm.bao.otel.telemetryPort
config.services.hyperhive.swarm.nats.otel.telemetryPort config.services.hyperhive.swarm.nats.otel.telemetryPort
]); ]);
message = '' message = ''
The forge's journal forwarder's telemetry port (${toString forwarderTelemetryPort}) The forge's journal forwarder's telemetry port (${toString forwarderTelemetryPort})
collides with another collector's in the host netns: the hive collides with another collector's in the host netns: the hive
collector's, the swarm collector's, the store forwarder's or the collector's, the store forwarder's or the
queue forwarder's. queue forwarder's.
''; '';
} }

View file

@ -144,9 +144,7 @@ in
the value *configured* rather than implied, which is the point of the value *configured* rather than implied, which is the point of
the option. An undeclared port is invisible to anything comparing the option. An undeclared port is invisible to anything comparing
ports, so a second collector on the same host picking the same ports, so a second collector on the same host picking the same
number fails at `bind()` rather than at eval — number fails at `bind()` rather than at eval.
`services.hyperhive.swarm.otel.telemetryPort` sidesteps 8888 by
hand for that reason.
''; '';
}; };

View file

@ -136,12 +136,10 @@ in
failures. How you find out that telemetry is being lost, so it is failures. How you find out that telemetry is being lost, so it is
worth keeping rather than switching off. worth keeping rather than switching off.
⚠️ **Deliberately neither 8888 nor 8889.** 8888 is the collector ⚠️ **Deliberately not 8888.** 8888 is the collector
binary's built-in default, which the hive tier binary's built-in default, which the hive tier
({option}`services.hyperhive.otel.telemetryPort`) already binds, and ({option}`services.hyperhive.otel.telemetryPort`) already binds. This
8889 is the swarm tier's container runs with `privateNetwork = false`, so both share the
({option}`services.hyperhive.swarm.otel.telemetryPort`). This
container runs with `privateNetwork = false`, so all three share the
host's network namespace whenever they are co-located — and unlike host's network namespace whenever they are co-located — and unlike
the OTLP ports this one appears nowhere in either config when it is the OTLP ports this one appears nowhere in either config when it is
left undeclared, so nothing that compares configured ports can see left undeclared, so nothing that compares configured ports can see

View file

@ -115,10 +115,8 @@ in
serves its own metrics on (refused and dropped records, exporter serves its own metrics on (refused and dropped records, exporter
failures). failures).
⚠️ Not 8888, 8889 or 8890: the hive collector, the swarm collector ⚠️ Not 8888 or 8890: the hive collector and the store's forwarder
and the store's forwarder bind those bind those ({option}`services.hyperhive.otel.telemetryPort`,
({option}`services.hyperhive.otel.telemetryPort`,
{option}`services.hyperhive.swarm.otel.telemetryPort`,
{option}`services.hyperhive.swarm.bao.otel.telemetryPort`), and this {option}`services.hyperhive.swarm.bao.otel.telemetryPort`), and this
container shares the host netns with them when co-located. The second container shares the host netns with them when co-located. The second
collector to bind a port dies with `bind: address already in use`. collector to bind a port dies with `bind: address already in use`.

View file

@ -603,7 +603,6 @@ in
cfg.metricsPort cfg.metricsPort
cfg.otel.telemetryPort cfg.otel.telemetryPort
config.services.hyperhive.otel.telemetryPort config.services.hyperhive.otel.telemetryPort
swarmOtelCfg.telemetryPort
config.services.hyperhive.swarm.bao.otel.telemetryPort config.services.hyperhive.swarm.bao.otel.telemetryPort
]; ];
in in
@ -612,7 +611,7 @@ in
services.hyperhive.swarm.nats.otel.telemetryPort services.hyperhive.swarm.nats.otel.telemetryPort
(${toString cfg.otel.telemetryPort}) collides with another port in (${toString cfg.otel.telemetryPort}) collides with another port in
the host netns: the queue's own ports, or the telemetry port of the the host netns: the queue's own ports, or the telemetry port of the
hive collector, the swarm collector or the store's forwarder. Pick hive collector or the store's forwarder. Pick
a free port. a free port.
''; '';
} }

View file

@ -276,14 +276,13 @@ in
assertion = assertion =
!(lib.elem forwarderTelemetryPort [ !(lib.elem forwarderTelemetryPort [
hyperhiveCfg.otel.telemetryPort hyperhiveCfg.otel.telemetryPort
hyperhiveCfg.swarm.otel.telemetryPort
hyperhiveCfg.swarm.bao.otel.telemetryPort hyperhiveCfg.swarm.bao.otel.telemetryPort
hyperhiveCfg.swarm.nats.otel.telemetryPort hyperhiveCfg.swarm.nats.otel.telemetryPort
]); ]);
message = '' message = ''
The log store's journal forwarder's telemetry port (${toString forwarderTelemetryPort}) The log store's journal forwarder's telemetry port (${toString forwarderTelemetryPort})
collides with another collector's in the host netns: the hive collides with another collector's in the host netns: the hive
collector's, the swarm collector's, the store forwarder's or the collector's, the store forwarder's or the
queue forwarder's. queue forwarder's.
''; '';
} }

View file

@ -153,7 +153,6 @@ let
# Every other collector port on the host, and the queue's forwarder. # Every other collector port on the host, and the queue's forwarder.
taken = [ taken = [
8888 8888
8889
8890 8890
h.services.hyperhive.swarm.nats.otel.telemetryPort h.services.hyperhive.swarm.nats.otel.telemetryPort
] ]
@ -266,7 +265,6 @@ let
let let
taken = [ taken = [
8888 8888
8889
8890 8890
h.services.hyperhive.swarm.nats.otel.telemetryPort h.services.hyperhive.swarm.nats.otel.telemetryPort
] ]
@ -1002,7 +1000,6 @@ let
reader = lib.head s.service.telemetry.metrics.readers; reader = lib.head s.service.telemetry.metrics.readers;
taken = [ taken = [
8888 8888
8889
8890 8890
h.services.hyperhive.swarm.nats.otel.telemetryPort h.services.hyperhive.swarm.nats.otel.telemetryPort
] ]