2020# 403 / 0 / 5xx / bad 302 -> CloudflareAccessGateProbeBroken warning
2121# no series -> CloudflareAccessGateProbeAbsent warning
2222#
23- # ALL THREE SHIP PAUSED (is_paused = true). Until platform-infrastructure #1205 arms the
24- # gate, 200 is the CORRECT reading and GateOpen would page continuously. Unpause in a
25- # follow-up PR:
26- # - ProbeBroken + ProbeAbsent once the probe (platform-infrastructure #1261) is running
27- # and reads a clean status (200 before #1205, 302 after) -- i.e. the secret and the WAF
28- # skip rule both exist and match.
29- # - GateOpen only after #1205 is armed and probe_http_status_code has read 302 steadily.
23+ # All three are ACTIVE. They shipped paused (platform-grafana #53) because 200 was correct
24+ # until platform-infrastructure #1205 armed the gate (2026-10-02 19:37Z). They were unpaused
25+ # once the probe (platform-infrastructure #1261) read probe_http_status_code 302 and
26+ # probe_success 1 steadily. If the gate is ever deliberately removed (rollback per
27+ # docs/cloudflare-access.md), pause GateOpen first or it pages within ~5 minutes.
3028#
3129# Structure mirrors alerting-kargo.tf: A = PromQL, B = reduce, C = threshold. Each A wraps
3230# its selector in count by (instance) so the value is 1 per offending host (probe_success == 0
@@ -49,11 +47,10 @@ resource "grafana_rule_group" "cloudflare_access_gate" {
4947 # probe is ProbeAbsent's job, at warning, so a dead exporter can never page through here.
5048 # for = 5m rides out a single odd scrape; a real fail-open persists.
5149 rule {
52- name = " CloudflareAccessGateOpen"
53- condition = " C"
54- for = " 5m"
55- # Paused until #1205 arms the gate: today 200 is correct and this would page nonstop.
56- is_paused = true
50+ name = " CloudflareAccessGateOpen"
51+ condition = " C"
52+ for = " 5m"
53+ is_paused = false
5754 no_data_state = " OK"
5855 exec_err_state = " Error"
5956 labels = {
@@ -132,7 +129,7 @@ resource "grafana_rule_group" "cloudflare_access_gate" {
132129 name = " CloudflareAccessGateProbeBroken"
133130 condition = " C"
134131 for = " 15m"
135- is_paused = true
132+ is_paused = false
136133 no_data_state = " OK"
137134 exec_err_state = " Error"
138135 labels = {
@@ -209,7 +206,7 @@ resource "grafana_rule_group" "cloudflare_access_gate" {
209206 name = " CloudflareAccessGateProbeAbsent"
210207 condition = " C"
211208 for = " 15m"
212- is_paused = true
209+ is_paused = false
213210 no_data_state = " OK"
214211 exec_err_state = " Error"
215212 labels = {
0 commit comments