Koder Flow — Service Level Objectives
Why this exists
#066 shipped Prometheus metrics under the koder_flow_* namespace (+ legacy gitea_* dual-emit per #106). The contrib/flow-monitoring-mixin/ ships Grafana dashboards. Until this spec, no canonical SLO existed — every operator picked thresholds ad-hoc, alerts got hand-rolled per deploy, and there was no shared yardstick for "Flow is healthy" vs "Flow is degraded".
This spec declares the canonical SLOs for flow.koder.dev. The flow-monitoring-mixin/alerts.libsonnet (FLOW-175) renders these into PrometheusAlertRule YAML; SREs deploy the rendered output against the prod Prometheus.
R1 — Service Level Objectives
| SLI | Objective | Window |
|---|---|---|
| SLO-1: Web availability | 99.9% of GET / responses are 2xx |
30 days rolling |
| SLO-2: API availability | 99.9% of `apiv1 |