Public API unreachable for 9 minutes after a deploy
resolved2026-09-18 10:43 UTC to 10:52 UTC (9 min)
Impact: Every request to api.xdataapi.io failed at the TLS handshake. No credits were charged. The dashboard and docs stayed up.
Cause: the deploy script of the fetcher service reset the host firewall to its defaults before re-adding rules, and the list of rules only had SSH in it. Ports 80 and 443 were closed from 10:43 UTC. The canary that feeds the status page runs on the host itself and kept passing, so the page showed 100 percent during the outage.
Fix: the two ports were opened by hand at 10:52 UTC. The deploy script no longer resets the firewall; it adds the three rules and leaves the rest alone.
What changed after:
- An outside probe now calls the public API every minute from a different network and decides the state on this page. The canary on the host only reports the health of X itself.
- The page shows "unknown" when no probe result is newer than 3 minutes, never a green number from old data.
- Every deploy ends with a request to the public hostname from outside the host.