fix(deploy): blackbox-exporter was gated out of its own deploy path #70

Merged
dank merged 1 commits from fix/blackbox-service-gates into main 2026-10-21 15:34:50 -07:00
Owner

deploy.sh dankclaw --service blackbox-exporter after merging #69 died at the client gate: Service 'blackbox-exporter' is not deployed on dankclaw.

PR #69 wired copier, planner entry and health gate but missed the three dispatch gates:

Gate File Fix
client valid_service scripts/deploy.sh add dankclaw:blackbox-exporter
remote service_is_allowed scripts/deploy-remote.sh add dankclaw:blackbox-exporter
dispatch deploy_service case scripts/deploy-remote.sh route to deploy_observability - dankclaw's catch-all deploy_compose_service hard-fails (no compose since 2026-09-16), so the quadlet sub-dispatch alone was not reachable

The existing drift seam (#cadvisor/gpu-exporter) could not see this: both allow-lists were in perfect agreement about not knowing the service. New seam pins the class: every dankclaw service the remote gate allows must carry a deploy_service case. Red proof: planting a gated, undispatched name fails it naming the orphan; green after the fix.

Verification

  • ./tests/run.sh - ALL TESTS PASSED
  • red/green proof of the new seam in a sandboxed copy

Post-merge deploy resumes: --service blackbox-exporter --service prometheus --service alloy --service grafana --service gitea-server.


cwd: /home/blank/Projects/serverAppConfig · session: 11fbd58f-35a5-413c-a31f-16d87f7a774a

`deploy.sh dankclaw --service blackbox-exporter` after merging #69 died at the client gate: `Service 'blackbox-exporter' is not deployed on dankclaw.` PR #69 wired copier, planner entry and health gate but missed the three dispatch gates: | Gate | File | Fix | |---|---|---| | client `valid_service` | `scripts/deploy.sh` | add `dankclaw:blackbox-exporter` | | remote `service_is_allowed` | `scripts/deploy-remote.sh` | add `dankclaw:blackbox-exporter` | | dispatch `deploy_service` case | `scripts/deploy-remote.sh` | route to `deploy_observability` - dankclaw's catch-all `deploy_compose_service` **hard-fails** (no compose since 2026-09-16), so the quadlet sub-dispatch alone was not reachable | The existing drift seam (#cadvisor/gpu-exporter) could not see this: both allow-lists were in perfect agreement about *not* knowing the service. New seam pins the class: **every dankclaw service the remote gate allows must carry a `deploy_service` case**. Red proof: planting a gated, undispatched name fails it naming the orphan; green after the fix. ## Verification - `./tests/run.sh` - ALL TESTS PASSED - red/green proof of the new seam in a sandboxed copy Post-merge deploy resumes: `--service blackbox-exporter --service prometheus --service alloy --service grafana --service gitea-server`. --- cwd: /home/blank/Projects/serverAppConfig · session: 11fbd58f-35a5-413c-a31f-16d87f7a774a
dank added 1 commit 2026-10-21 14:59:58 -07:00
PR #69 wired the copier, planner entry and health gate but missed the
three dispatch gates: the client valid_service, the remote
service_is_allowed, and deploy_service's case list. The client gate
rejected --service blackbox-exporter outright; even past it the
dispatcher's catch-all hard-fails on dankclaw (no compose since
2026-09-16). New seam pins the class: every dankclaw service the
remote gate allows must carry a deploy_service case - proven red by
planting a gated, undispatched name.
dank merged commit 5ffbf19fb2 into main 2026-10-21 15:34:50 -07:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dank/serverAppConfigs#70