From 4ce62dd42c3a56cb46f44e9f6162f8bffd8f634a Mon Sep 17 00:00:00 2001 From: Garrett Allen <98648590+Gerrrt@users.noreply.github.com> Date: Mon, 31 Aug 2026 05:06:35 +0000 Subject: [PATCH] test(blackbox): probe the wiki over the scheme it actually serves MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit blackbox.test.yaml built every fixture around instance="https://lemmiwinks.matrix.elysium" and instance="https://10.0.99.30". The real targets are plain HTTP, and targets/blackbox.yaml says so at some length: only port 3000 listens inside the wiki container, nothing is on 3443, TLS is off, and the host maps 443 anyway — so an https probe is refused instantly. That file records this as something already learned the hard way, because the first deploy of it reported the wiki down while it was serving fine. This is not only a label. EndpointUnreachable's summary is templated from {{ $labels.instance }}, so lines 45 and 63 were asserting the alert text an on-call reads at 3am — pinning it to a URL that refuses instantly, and pinning it to exactly the mistake the targets file exists to warn about. Confirmed the fixtures genuinely assert the scheme rather than passing regardless: leaving the summary at https while the instance says http fails the run. `make validate` passes. Co-Authored-By: Claude Opus 5 --- .../prometheus/tests/blackbox.test.yaml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/stacks/observability/prometheus/tests/blackbox.test.yaml b/stacks/observability/prometheus/tests/blackbox.test.yaml index 7c0b34a..d1fa911 100644 --- a/stacks/observability/prometheus/tests/blackbox.test.yaml +++ b/stacks/observability/prometheus/tests/blackbox.test.yaml @@ -20,10 +20,10 @@ tests: # EndpointNameNotResolving must NOT fire, because the service is not up. - interval: 1m input_series: - - series: 'probe_success{job="blackbox", instance="https://lemmiwinks.matrix.elysium", + - series: 'probe_success{job="blackbox", instance="http://lemmiwinks.matrix.elysium", name="wiki", role="documentation", host="oracle", via="dns"}' values: "0+0x15" - - series: 'probe_success{job="blackbox", instance="https://10.0.99.30", + - series: 'probe_success{job="blackbox", instance="http://10.0.99.30", name="wiki", role="documentation", host="oracle", via="address"}' values: "0+0x15" alert_rule_test: @@ -33,7 +33,7 @@ tests: - exp_labels: alertname: EndpointUnreachable job: blackbox - instance: "https://10.0.99.30" + instance: "http://10.0.99.30" name: wiki role: documentation host: oracle @@ -42,7 +42,7 @@ tests: severity: critical category: availability exp_annotations: - summary: "wiki is not reachable at https://10.0.99.30" + summary: "wiki is not reachable at http://10.0.99.30" description: >- Probed by address and got no successful response for five minutes. Expected on oracle. If the `address` probe for this @@ -51,7 +51,7 @@ tests: - exp_labels: alertname: EndpointUnreachable job: blackbox - instance: "https://lemmiwinks.matrix.elysium" + instance: "http://lemmiwinks.matrix.elysium" name: wiki role: documentation host: oracle @@ -60,7 +60,7 @@ tests: severity: critical category: availability exp_annotations: - summary: "wiki is not reachable at https://lemmiwinks.matrix.elysium" + summary: "wiki is not reachable at http://lemmiwinks.matrix.elysium" description: >- Probed by dns and got no successful response for five minutes. Expected on oracle. If the `address` probe for this @@ -79,10 +79,10 @@ tests: # silent and nothing else in CI notices. - interval: 1m input_series: - - series: 'probe_success{job="blackbox", instance="https://lemmiwinks.matrix.elysium", + - series: 'probe_success{job="blackbox", instance="http://lemmiwinks.matrix.elysium", name="wiki", role="documentation", host="oracle", via="dns"}' values: "0+0x15" - - series: 'probe_success{job="blackbox", instance="https://10.0.99.30", + - series: 'probe_success{job="blackbox", instance="http://10.0.99.30", name="wiki", role="documentation", host="oracle", via="address"}' values: "1+0x15" alert_rule_test: @@ -92,7 +92,7 @@ tests: - exp_labels: alertname: EndpointNameNotResolving job: blackbox - instance: "https://lemmiwinks.matrix.elysium" + instance: "http://lemmiwinks.matrix.elysium" name: wiki role: documentation host: oracle @@ -111,10 +111,10 @@ tests: # --- Everything healthy -------------------------------------------------- - interval: 1m input_series: - - series: 'probe_success{job="blackbox", instance="https://lemmiwinks.matrix.elysium", + - series: 'probe_success{job="blackbox", instance="http://lemmiwinks.matrix.elysium", name="wiki", role="documentation", host="oracle", via="dns"}' values: "1+0x15" - - series: 'probe_success{job="blackbox", instance="https://10.0.99.30", + - series: 'probe_success{job="blackbox", instance="http://10.0.99.30", name="wiki", role="documentation", host="oracle", via="address"}' values: "1+0x15" - series: 'up{job="blackbox-exporter", instance="blackbox-exporter:9115"}'