kaddy · evidence

Scorecard — operational evidence, one page

run 2026-07-21 mode fixtures k6 · metrics · alerts · rollout

A replayable capture of how the platform behaved under load: raw inputs and rendered report travel together, so every claim in the demo stays checkable after the fact.

Alerts

Alertmanager state during the load window

Scorecard alert name HighRequestRate (live marshal rule: EdgeRequestRateHigh, threshold 100 rps).

[{"labels":{"alertname":"HighRequestRate","severity":"warning","service":"gateway","owner":"platform-team"},"annotations":{"summary":"Cilium Gateway edge request rate above 100 rps","description":"Fixture alert for offline scorecard (maps to EdgeRequestRateHigh in live marshal rules)."},"startsAt":"2026-07-16T12:00:00Z","endsAt":"0001-01-01T00:00:00Z","status":{"state":"active"},"receivers":[{"name":"platform-team"}]}]

Metrics

Prometheus snapshots

Availability (up), error rate, latency, and request rate at capture time.

{"up":{"query":"up{job=~\"cilium-envoy|clubhouse.*\"}","resultType":"vector","result":[{"metric":{"job":"cilium-envoy","instance":"fixture"},"value":[1710000000,"1"]}]},"error_rate":{"query":"sum(rate(envoy_http_downstream_rq_xx{envoy_response_code_class=\"5\"}[5m])) / sum(rate(envoy_http_downstream_rq_total[5m]))","resultType":"vector","result":[{"metric":{},"value":[1710000000,"0.02"]}]},"latency":{"query":"histogram_quantile(0.99, sum(rate(envoy_http_downstream_rq_time_bucket[5m])) by (le))","resultType":"vector","result":[{"metric":{},"value":[1710000000,"48"]}]},"request_rate":{"query":"sum(rate(envoy_http_downstream_rq_total{job=\"cilium-envoy\"}[5m]))","resultType":"vector","result":[{"metric":{},"value":[1710000000,"150"]}]}}

k6 load

the pressure that provoked the alert

Marshal threshold profile (RATE=150, above the 100 rps alert threshold).

{"root_group":{"name":"","path":"","id":"d41d8cd98f00b204e9800998ecf8427e","groups":[],"checks":[{"name":"status is 2xx or 3xx","path":"::status is 2xx or 3xx","id":"fixture-check","passes":27000,"fails":0}]},"metrics":{"http_reqs":{"count":27000,"rate":150},"http_req_duration":{"avg":12.4,"med":11.0,"max":85.0,"p(95)":28.0,"p(99)":45.0},"http_req_failed":{"rate":0.0,"passes":27000,"fails":0},"iterations":{"count":27000,"rate":150}},"state":{"isStdOutTTY":false,"isStdErrTTY":false,"testRunDurationMs":180000},"options":{"summaryTrendStats":["avg","p(95)","p(99)","max"]},"fixture":{"RATE":150,"threshold_rps":100,"note":"Offline fixture summary — not a live k6 run"}}

Rollout status

Argo Rollouts snapshot

Stable/canary state of the mulligan rollout at capture time.

{"apiVersion":"argoproj.io/v1alpha1","kind":"Rollout","metadata":{"name":"mulligan-bg","namespace":"mulligan"},"status":{"phase":"Healthy","currentStepIndex":0,"replicas":2,"readyReplicas":2,"updatedReplicas":2},"fixture":true}