Raxx · internal docs

internal · gated

RCA — ForgeConnectivityDown: monitoring-stack restart caused false-positive forge alert

Incident ID: 2026-07-14-forge-connectivity-down Date: 2026-07-14 Severity: SEV-3 Duration: ~10m (estimated 16:53–17:08 UTC, pending→firing→resolving) Blast radius: Internal only. No pipelines blocked. Forge auth to GitHub was never interrupted. Alert was a monitoring-plane false-positive caused by the probe target (blackbox-exporter) being restarted. Author: sre-agent


Summary

The ForgeConnectivityDown Prometheus alert fired on 2026-07-14 at approximately 17:03 UTC. The alert condition (probe_success{job="blackbox-forge"} == 0 for: 10m) was met because the blackbox-exporter container on the ci-monitoring EC2 (i-0a656c6631ddc45b3) was restarted twice by a prior SRE agent — at 16:53:49Z and 17:03:32Z — while it was injecting Cloudflare Access headers into the Raptor probe config. During the ~10-minute window between restarts, consecutive Prometheus scrapes (5m interval) found the forge probe failing. The Woodpecker server's actual forge connectivity to GitHub was unaffected throughout: GitHub webhooks continued to arrive and WP processed them normally. The alert cleared by ~17:10 UTC. No pipelines were lost.


Timeline (all times UTC)


Impact


What went well


What didn't go well


Root cause analysis


Detection


Resolution


Action items

# Action Owner Due Notes
1 Backfill forge_connectivity alert group into terraform/ci-monitoring/templates/cloud-init.sh.tpl sre-agent 2026-07-21 Also backfill Raptor probe target change and WoodpeckerNoWorkersWithBacklog rule from woodpecker-backlog-alert.yml.
2 Guard ForgeConnectivityDown expr against blackbox-exporter restart noise sre-agent 2026-07-21 Change expr to probe_success{job="blackbox-forge"} == 0 and on() (up{job="blackbox-http"} == 1). Fires only if blackbox is itself reachable but forge probe fails — eliminates restarts from alert pool.
3 Add idempotency guard to CF-Access inject SSM script sre-agent 2026-07-21 Check if CF-Access-Client-Id already present before restarting container. Skip restart if unchanged.
4 Add failure mode B-3 (ForgeConnectivityDown false-positive via monitoring-stack restart) to ci-woodpecker runbook sre-agent 2026-07-14 Completed in this incident.
5 File Terraform PR to backfill all live monitoring-stack drift operator review 2026-07-21 sre-agent opens PR; operator merges.

References