otel: move the generic OTLP environment out of claude's settings
The endpoint, protocol, temporality preference and resource labels were shipped only inside claude's managed settings json, so they applied to claude's own process. hive-bash-daemon, hive-mcp-http, hive-matrix-daemon and hive-forge-notify are systemd *siblings* of claude rather than its children, so nothing shipped there could ever reach them: `hive-metric` invoked from a tool call exited with "OTEL_EXPORTER_OTLP_ENDPOINT not set", which is the honest failure of a value it structurally could not see. Declare those variables container-wide in a new agent module instead — systemd.globalEnvironment for every unit PID 1 starts, environment.variables for login shells. Both are needed and neither implies the other; NIX_REMOTE is set both ways for the same reason. Claude keeps only what is genuinely its own: the telemetry master flag, the feedback-survey flag, the version label, and which signals it exports. A different producer in the same container may legitimately emit only metrics. The hyperhive.otel.* options move across with them. They have more than one consumer now, so their home is the OTEL module rather than the claude one.
This commit is contained in:
parent
328ba19595
commit
8b14d959d6
4 changed files with 204 additions and 116 deletions
|
|
@ -31,6 +31,7 @@
|
|||
./matrix.nix
|
||||
./mcp.nix
|
||||
./network.nix
|
||||
./otel.nix
|
||||
./packages.nix
|
||||
./user.nix
|
||||
./screen.nix
|
||||
|
|
|
|||
Loading…
Reference in a new issue