Converge the always-on observability stack (SigNoz) on the Windows tower #459
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/infrastructure#459
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Converge the always-on observability stack (SigNoz) on the Windows tower
The always-on observability stack (SigNoz + OTLP collector) is defined in ansible
but has not converged on the Windows tower (the WSL2 + Docker Desktop host).
Confirmed down from a container on that host - a port scan shows every endpoint
refusing:
Why it matters
agent-proxyexports Prometheus/metrics(working) and OTel traces over OTLP,but
OTEL_EXPORTER_OTLP_ENDPOINTis unset because there is no collector to pointat, so every trace is a graceful no-op on this host. This blocks end-to-end
validation of the observability buildout in
coilyco-flight-deck/agent-proxy#29.Task
Desktop host and converge it: SigNoz stack up, OTLP collector accepting on
4317 (gRPC) / 4318 (HTTP), UI on 3301.
docker compose upon the host (the container's docker is not the host's, andthe host does not expose docker over TCP), so this needs host-level execution -
an operator
docker compose upon the tower, or an ansible path that runs withhost docker access. Not container-dispatchable as-is.
Acceptance
agent-proxystarted withPROXY_OTEL_EXPORTER_OTLP_ENDPOINTset shows spansfor
/v1/chat/completionsin SigNoz.Related:
coilyco-flight-deck/agent-proxy#29(proxy observability buildout),#18(OTel GenAIgen_ai.*semconv target). Filed from the agent-proxyread-only director surface on the Windows tower.
🔎 ward agent advisor
ward agent advisor --harness codexran a one-shot standard research pass on this question:Recommendation
Treat this as an infrastructure-only converge issue. The repo already has the right building block:
ansible/roles/signozvendors SigNozv0.90.1, publishes UI on127.0.0.1:3301, OTLP gRPC on127.0.0.1:4317, and OTLP HTTP on127.0.0.1:4318. The stack is currently off by default and only hostname-scoped for one Mac viagroup_vars/mac.yml, sokai-tower-3026-wslnever opts in.The clean path is to opt in the WSL tower host only, then converge it from an attended host with Docker Desktop WSL integration visible to the WSL distro. Do not run this from a sealed ward container. The host needs the real Docker daemon, so the operational path should be something like
ward exec ansible-sync hosts=kai-tower-3026-wsl tags=signozafter the inventory or host vars enablesignoz_enabledfor that host.Preferred implementation shape
kai-tower-3026-wsl, not a Linux group-wide default. This stack is heavy and may contain unredacted request data.0.0.0.0just to make validation easier.docs/signoz-local.mdor a tower-specific runbook section. The key caveat is that a ward feature container cannot bring up host Docker.http://127.0.0.1:3301. The repo's troubleshooting doc notes that OTLP may not actually bind correctly until setup is complete.curl http://127.0.0.1:3301,curl http://127.0.0.1:4318/expecting a non-refused OTLP response) and the producer container path used byagent-proxy.Decision points
kai-tower-3026-wsl, not native Windowskai-tower-3026, unless #356 has landed and WinRM service management is ready.agent-proxyruns in Docker on the same WSL Docker Desktop daemon, try the existing documented endpoint first:PROXY_OTEL_EXPORTER_OTLP_ENDPOINT=http://host.docker.internal:4318. If Docker Desktop on WSL cannot reach a loopback-bound published port throughhost.docker.internal, the safer fix is to put the producer on the SigNoz Docker network and targethttp://signoz-otel-collector:4318, not to publish OTLP on the LAN.docker compose up, because the role already owns vendored files, pinned image tags,.env, and validation waits.Open questions for the engineer
kai-tower-3026-wslrather thankai-desktop-tower-wsl?docker pswork for the Ansible SSH user (coilysiren) inside that WSL distro?agent-proxymanaged by this infra role, or is it launched from the sibling repo by hand? If it is role-managed, the host probably also needs a tower-scopedagent_proxy_enableddecision. If it is not role-managed, the runbook should say where to setPROXY_OTEL_EXPORTER_OTLP_ENDPOINT.host.docker.internal:4318work from the actualagent-proxycontainer once SigNoz is up? This is the main networking trap to test before declaring the issue done.Risks
signoz_enabledfor the wholelinuxgroup would land a heavy ClickHouse-backed stack on kai-server, ser8, and both WSL towers.Acceptance evidence to ask for on the closing comment
docker ps --filter name=signozshows the SigNoz stack running on the WSL tower.curl -fsS http://127.0.0.1:3301succeeds on the tower host.agent-proxywithPROXY_OTEL_EXPORTER_OTLP_ENDPOINTset produces spans for/v1/chat/completionsin the local SigNoz UI.Researched and posted automatically by
ward agent advisor --harness codex(ward#179). This is one-shot research, not a carried change - verify before acting on it.— Codex, via
ward agent