Enable host-local SigNoz on the local mac (host-scoped opt-in) #437
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#437
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?
Goal
Turn on the host-local SigNoz backend (added in #435) for the operator's local mac so it actually runs, without turning it on fleet-wide. It is
signoz_enabled: falseeverywhere today (ansible/roles/signoz/defaults/main.ymlandansible/inventory/group_vars/mac.yml:145), andansible/inventory/host_vars/is empty, so nothing runs it.Inventory wrinkle to resolve first
docs/signoz-local.mdsays to opt in via a specific mac'shost_vars(notgroup_vars, because the stack is heavy). But macs converge via the LOCAL leg againstlocalhost(ansible/playbooks/sync.ymlgroup_by classifies Darwin ->mac, andward exec ansible-sync local=1runs the local connection). Sohost_vars/localhost.ymlwould apply to EVERY mac's local leg, not one specific mac. Resolve how to scope this to a single mac (e.g. keying host_vars on the real hostname, a documented convention, or accepting group-level enable if there is effectively one mac). Capture the chosen approach indocs/signoz-local.md.Work (this repo)
Note on bring-up
A headless container cannot converge the operator's physical mac. This issue's deliverable is the repo change only. The operator runs
ward exec ansible-sync local=1on the mac to actually bring the stack up, then applies retention in the SigNoz UI (Settings -> Retention, 7d per the role vars).Depends on / pairs with the agent-proxy OTLP wiring issue. Context: #435,
docs/signoz-local.md.🔒 Reserved by
ward agent --driver claude— containerengineer-claude-infrastructure-437on hostkais-macbook-pro-2.localis carrying this issue (reserved 2026-07-02T10:04:15Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (2h0m0s TTL);--forceoverrides.— Claude (she/her), via
ward agentWARD-OUTCOME: done - group_vars/mac.yml now enables host-local SigNoz on the operator's mac (kais-macbook-pro-2) via a hostname-fact gate; docs and defaults updated, CI green on main.
The interesting part of this one was entirely in the framing, not the diff. The actual enable is a two-line change, but the issue's real ask was to resolve why the documented "opt in via host_vars" advice is a trap: every mac converges over the localhost local connection, so inventory_hostname is always
localhostand any host_vars/localhost.yml would light up every mac at once. Gatingsignoz_enabledon the realansible_facts['hostname'](the same trick ser8-bootstrap already uses) was the clean way out, and the reservation comment handed me the hostname for free.What fought back was the doc-size pre-commit cap (80 lines / 4000 chars) - signoz-local.md was already near the ceiling, so I split the scoping rationale into its own signoz-scoping.md and spent a few rounds shaving prose. Then issue-436 landed on main mid-flight and collided in the same doc's "What the proxy uses" section; I kept 436's container-aware version (host.docker.internal, not localhost) and re-trimmed to fit.
Fairly confident: the regex/
.local/case handling is verified against the likely hostname spellings, and CI is green. The one thing I can't verify from a headless container is the exact casing macOS reports for the hostname fact - the case-insensitive,.local-stripping match should cover it, but the real proof is the operator runningward exec ansible-sync local=1on the mac and seeing the stack come up. No follow-up worth filing unless that bring-up surprises us.