hermes: keep agent web reachable during lane deferral
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
df75479069
commit
6f993c049e
@ -903,8 +903,8 @@ spec:
|
|||||||
- /opt/coordinator/cli_lane_capabilities.py
|
- /opt/coordinator/cli_lane_capabilities.py
|
||||||
initialDelaySeconds: 2
|
initialDelaySeconds: 2
|
||||||
periodSeconds: 5
|
periodSeconds: 5
|
||||||
timeoutSeconds: 2
|
timeoutSeconds: 5
|
||||||
failureThreshold: 1
|
failureThreshold: 3
|
||||||
resources:
|
resources:
|
||||||
requests: {cpu: 100m, memory: 256Mi}
|
requests: {cpu: 100m, memory: 256Mi}
|
||||||
limits: {cpu: "2", memory: 6Gi}
|
limits: {cpu: "2", memory: 6Gi}
|
||||||
|
|||||||
@ -16,6 +16,9 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
app: hermes-agent
|
app: hermes-agent
|
||||||
|
# The agent dashboard and terminal must stay reachable while the
|
||||||
|
# cli-lane-runner readiness probe holds the shared pod NotReady.
|
||||||
|
publishNotReadyAddresses: true
|
||||||
ports:
|
ports:
|
||||||
- {name: http, port: 80, targetPort: auth-http}
|
- {name: http, port: 80, targetPort: auth-http}
|
||||||
---
|
---
|
||||||
|
|||||||
@ -91,7 +91,6 @@
|
|||||||
"junit": "build/junit-unit.xml",
|
"junit": "build/junit-unit.xml",
|
||||||
"coverage_sources": [
|
"coverage_sources": [
|
||||||
"ci/scripts",
|
"ci/scripts",
|
||||||
"scripts.render.dashboards_render_atlas",
|
|
||||||
"services/hermes/scripts",
|
"services/hermes/scripts",
|
||||||
"services/mailu/scripts",
|
"services/mailu/scripts",
|
||||||
"testing"
|
"testing"
|
||||||
|
|||||||
@ -285,6 +285,19 @@ def test_broker_services_survive_sibling_container_readiness_loss():
|
|||||||
):
|
):
|
||||||
assert services[name]["spec"]["publishNotReadyAddresses"] is True
|
assert services[name]["spec"]["publishNotReadyAddresses"] is True
|
||||||
|
|
||||||
|
# The agent web endpoints route through this Service to the same pod the
|
||||||
|
# cli-lane-runner readiness probe gates; a deferred lane image must not
|
||||||
|
# take down the dashboard or terminal.
|
||||||
|
agent_auth = next(
|
||||||
|
item
|
||||||
|
for item in yaml.safe_load_all((HERMES / "oauth2-proxy.yaml").read_text())
|
||||||
|
if item
|
||||||
|
and item["kind"] == "Service"
|
||||||
|
and item["metadata"]["name"] == "oauth2-proxy-hermes-agent"
|
||||||
|
)
|
||||||
|
assert agent_auth["spec"]["selector"] == {"app": "hermes-agent"}
|
||||||
|
assert agent_auth["spec"]["publishNotReadyAddresses"] is True
|
||||||
|
|
||||||
|
|
||||||
def test_cli_lane_domain_modules_are_all_mounted_with_the_runner():
|
def test_cli_lane_domain_modules_are_all_mounted_with_the_runner():
|
||||||
manifest = yaml.safe_load((HERMES / "kustomization.yaml").read_text())
|
manifest = yaml.safe_load((HERMES / "kustomization.yaml").read_text())
|
||||||
@ -354,8 +367,8 @@ def test_cli_lane_config_refresh_does_not_restart_active_work():
|
|||||||
},
|
},
|
||||||
"initialDelaySeconds": 2,
|
"initialDelaySeconds": 2,
|
||||||
"periodSeconds": 5,
|
"periodSeconds": 5,
|
||||||
"timeoutSeconds": 2,
|
"timeoutSeconds": 5,
|
||||||
"failureThreshold": 1,
|
"failureThreshold": 3,
|
||||||
}
|
}
|
||||||
environment = {item["name"]: item["value"] for item in lane["env"]}
|
environment = {item["name"]: item["value"] for item in lane["env"]}
|
||||||
assert environment["HERMES_CLI_HEALTH_MAX_AGE_SECONDS"] == "60"
|
assert environment["HERMES_CLI_HEALTH_MAX_AGE_SECONDS"] == "60"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user