fix: correct Agent Zero A2A probe port in zulip-monitor.sh #76

Merged
abiba-bot merged 1 commits from fix/a2a-port-20260911 into master 2026-09-11 22:17:37 +00:00
Owner

Summary

Fixes stale Agent Zero A2A probe port in zulip-monitor.sh that was causing false failure reports on every health check run.

Evidence

Before fix:

  • Probe targeted http://127.0.0.1:8001/.well-known/agent.json inside container
  • Port 8001 does not exist inside agent-zero container (nothing listens there)
  • Log showed: kagentz: ❌ A2A server down — restarted (false positive)

After fix:

  • Probe targets http://127.0.0.1:80/a2a/ inside container (port 80 maps to external :50080)
  • Returns 401 (auth-gated, alive by design)
  • Log shows: kagentz: ✅ A2A alive

Verification:

$ ssh root@192.168.68.14 "docker exec agent-zero curl -s -o /dev/null -w %{http_code} http://127.0.0.1:80/a2a/"
401

Changes

  1. scripts/zulip-monitor.sh line 159: Changed probe URL from :8001/.well-known/agent.json to :80/a2a/
  2. scripts/zulip-monitor.sh line 158: Changed to check HTTP status code (401 = alive by design) instead of JSON body parsing
  3. scripts/zulip-monitor.sh line 177: Updated A2A_URL in adapter restart command from localhost:8001/a2a to localhost:80/a2a
  4. Alert message updated to specify connection failed for clarity

Test Plan

  • ✅ Re-verified A2A endpoint at 192.168.68.14:50080/a2a/ (external) returns 401
  • ✅ Verified port 8001 has nothing listening (connection refused from inside container)
  • ✅ Verified port 80 inside container returns 401 at /a2a/ (auth-gated, alive by design)
  • ✅ Ran fixed zulip-monitor.sh — A2A now reports ✅ A2A alive instead of ❌ A2A server down
  • ✅ Adapter process check still works (currently reports adapter down, which is a separate operational issue)

Related

  • Fixes stale port from legacy deployment where A2A was on 8001
  • Aligns with 401 is alive by design rule already used elsewhere in contract
## Summary Fixes stale Agent Zero A2A probe port in zulip-monitor.sh that was causing false failure reports on every health check run. ## Evidence **Before fix**: - Probe targeted http://127.0.0.1:8001/.well-known/agent.json inside container - Port 8001 does not exist inside agent-zero container (nothing listens there) - Log showed: kagentz: ❌ A2A server down — restarted (false positive) **After fix**: - Probe targets http://127.0.0.1:80/a2a/ inside container (port 80 maps to external :50080) - Returns 401 (auth-gated, alive by design) - Log shows: kagentz: ✅ A2A alive **Verification**: ``` $ ssh root@192.168.68.14 "docker exec agent-zero curl -s -o /dev/null -w %{http_code} http://127.0.0.1:80/a2a/" 401 ``` ## Changes 1. scripts/zulip-monitor.sh line 159: Changed probe URL from :8001/.well-known/agent.json to :80/a2a/ 2. scripts/zulip-monitor.sh line 158: Changed to check HTTP status code (401 = alive by design) instead of JSON body parsing 3. scripts/zulip-monitor.sh line 177: Updated A2A_URL in adapter restart command from localhost:8001/a2a to localhost:80/a2a 4. Alert message updated to specify connection failed for clarity ## Test Plan - ✅ Re-verified A2A endpoint at 192.168.68.14:50080/a2a/ (external) returns 401 - ✅ Verified port 8001 has nothing listening (connection refused from inside container) - ✅ Verified port 80 inside container returns 401 at /a2a/ (auth-gated, alive by design) - ✅ Ran fixed zulip-monitor.sh — A2A now reports ✅ A2A alive instead of ❌ A2A server down - ✅ Adapter process check still works (currently reports adapter down, which is a separate operational issue) ## Related - Fixes stale port from legacy deployment where A2A was on 8001 - Aligns with 401 is alive by design rule already used elsewhere in contract
abiba-bot added 1 commit 2026-09-11 21:55:26 +00:00
fix: correct Agent Zero A2A probe from stale port 8001 to correct port 80
PR Pipeline — Authorize → Validate → Review → Merge / auth (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / validate (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / lint (pull_request) Successful in 7s
PR Pipeline — Authorize → Validate → Review → Merge / ai-review (pull_request) Successful in 3s
PR Pipeline — Authorize → Validate → Review → Merge / gate (pull_request) Successful in 2s
aec62f7e77
- Changed A2A probe from http://127.0.0.1:8001/.well-known/agent.json to
  http://127.0.0.1:80/a2a/ inside agent-zero container
- Port 8001 does not exist inside container (nothing listens there)
- Port 80 maps to external port 50080; returns 401 (auth-gated, alive by design)
- Updated A2A_URL in adapter.py restart command to use port 80 instead of 8001
- Verified: probe now returns 401 (auth-gated) instead of 000 (connection refused)
- Before: kagentz A2A reported DOWN on every run (false positive due to stale port)
- After: kagentz A2A reports ✅ A2A alive (auth-gated 401 = healthy)
abiba-bot merged commit 9c8637bcaf into master 2026-09-11 22:17:37 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SyslogSolution/prose-contracts#76