Raxx · internal docs

internal · gated

RCA — TLSOriginProbeDown false positive for vault.raxx.app (Cloudflare Origin CA not trusted)

Incident ID: 2026-07-24-vault-origin-probe-ca-false-positive Date: 2026-07-24 Severity: SEV-3 Duration: ~9h (2026-07-24 03:10 origin cert install → ~10:38 fix applied and verified) Blast radius: ci-monitoring alerting only. vault.raxx.app itself was healthy throughout (CF Access edge returned 302 clean, ~70ms). No customer- or CI-facing impact. Author: sre-agent

Summary

TLSOriginProbeDown fired continuously for vault.raxx.app after the 2026-07-23 origin-cert-expiry incident was fixed by installing a static 3-year Cloudflare Origin CA certificate on the Lightsail origin (docs/incidents/2026-07-23-vault-origin-cert-expiry.md). The tls_connect_origin_vault blackbox module validates the origin cert with insecure_skip_verify: false against the default system CA trust store, which does not (and should not) trust Cloudflare's private Origin CA. The alert was a false positive: the origin was healthy and the cert was valid through 2029-07-23. Fix: pin the blackbox origin modules' tls_config.ca_file to Cloudflare's published Origin CA root, restoring both probe_success=1 and the probe_ssl_earliest_cert_expiry metric this monitor exists to provide.

Timeline (all times UTC)

Impact

What went well

What didn't go well

Root cause analysis

Detection

Resolution

Action items

No GitHub issue filed for these — per standing operator policy ("fix, don't file — no unsolicited GH issues"), tracked here in the RCA instead.

# Action Owner Due
1 Add an explicit test/check that exercises the origin probe modules against a live-fetched Cloudflare Origin CA cert (not just an expired-cert or reachable-cert case) so this class of false positive is caught before merge next time either origin's cert is rotated sre-agent 2026-07-31
2 Confirm the tickets.raxx.app origin probe's cert is also signed by the same Cloudflare Origin CA RSA root (currently unverifiable from outside the CF-allowlisted firewall) once the operator-decision firewall allowlist item lands, and adjust the module if it turns out to use the ECC root instead operator / sre-agent 2026-08-13

References