CI runner cannot reach api.telegram.org - every failure alert dies with a TLS handshake timeout #553
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/infrastructure#553
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?
The Telegram failure alerts wired into aos/ward/cli-guard workflows (the
Alert Telegram on main failuresteps, secrets synced byward exec sync-actions-secrets) never deliver. Every sampled failed run on the aos docker runner shows the same step output:Samples: aos actions runs 1120 (promote.yml), 1121 (ci.yml), 1123 (promote.yml), all 2026-07-13. The step reaches the HTTPS call, so the secrets are configured; the TLS handshake to
api.telegram.org:443times out from inside the runner container. The same endpoint answers from Kai's desktop on the same network in ~0.5s, so this is runner/container egress, not an ISP block - likely MTU black-holing on the runner's docker/tailscale network path, or an IPv6 preference the runner cannot route.Diagnosis steps for the runner host:
docker run --rm curlimages/curl -sv --max-time 15 https://api.telegram.org/on the runner's docker network - reproduce the hang.curl -4vscurl -6, and try--tls-max 1.2.The alert scripts already parameterize
API_BASE, so a fallback is pointing them at a reachable relay if fixing egress is not worth it.Found while answering Kai's "I haven't gotten a Telegram all day" - the alert path has plausibly never delivered from CI. Runner networking is infrastructure's rollout surface, so the fix lands here.