From 7bb283be6939dc3545f98dce41c976589657b26c Mon Sep 17 00:00:00 2001 From: jenkins Date: Tue, 11 Aug 2026 22:38:05 -0300 Subject: [PATCH] hermes: expose Switchyard worker health --- services/hermes/scripts/worker_route_broker.py | 2 +- services/hermes/switchyard-deployment.yaml | 2 +- testing/tests/test_hermes_cli_lanes.py | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/services/hermes/scripts/worker_route_broker.py b/services/hermes/scripts/worker_route_broker.py index 91ba53413..111d337c6 100644 --- a/services/hermes/scripts/worker_route_broker.py +++ b/services/hermes/scripts/worker_route_broker.py @@ -77,7 +77,7 @@ class Handler(BaseHTTPRequestHandler): def main() -> None: - server = ThreadingHTTPServer(("127.0.0.1", PORT), Handler) + server = ThreadingHTTPServer(("0.0.0.0", PORT), Handler) server.serve_forever() diff --git a/services/hermes/switchyard-deployment.yaml b/services/hermes/switchyard-deployment.yaml index f66b1a5b4..7c8cf2d25 100644 --- a/services/hermes/switchyard-deployment.yaml +++ b/services/hermes/switchyard-deployment.yaml @@ -19,7 +19,7 @@ spec: labels: app: hermes-switchyard annotations: - ai.bstein.dev/config-rev: "20260811-switchyard-authority-v4" + ai.bstein.dev/config-rev: "20260811-switchyard-authority-v5" prometheus.io/scrape: "true" prometheus.io/port: "9005" prometheus.io/path: /metrics diff --git a/testing/tests/test_hermes_cli_lanes.py b/testing/tests/test_hermes_cli_lanes.py index 99ea2b2b4..52c63fbd0 100644 --- a/testing/tests/test_hermes_cli_lanes.py +++ b/testing/tests/test_hermes_cli_lanes.py @@ -894,6 +894,12 @@ def test_switchyard_active_state_uses_a_relocatable_rwx_claim(): ] +def test_worker_route_broker_accepts_pod_network_health_checks(): + """Kubelet probes the pod IP, so the broker cannot bind to loopback only.""" + script = (SCRIPTS / "worker_route_broker.py").read_text() + assert 'ThreadingHTTPServer(("0.0.0.0", PORT), Handler)' in script + + def test_switchyard_network_boundary_allows_vault_bootstrap(): """The pre-populate init container must reach Vault before routing starts.""" documents = [