ADR-0601: Operator metrics — no Prometheus export sink¶
Operator metrics live on
/metrics;prometheusis not a family sink type.
Theme: 06 · Observability & ops · Status: Current
Context¶
Phase 4 may add kube-state-metrics-style custom resource metrics. Phase 1 ships operator
metrics per ADR-0602. Inventory export uses Git, object storage, Postgres,
and Kafka family sinks (ADR-0402,
ADR-0414) — not a sink of type prometheus. The unified
KollectSink kind was removed; sink type enums live only on the family CRDs.
Decision¶
- Operator metrics (Phase 1): expose cardinality-safe gauges and histograms on the controller
/metricsendpoint — includingkollect_collect_items_total,kollect_collected_objects,kollect_export_duration_seconds, and reconcile counters. - No Prometheus export sink:
prometheusis not a valid family sinkspec.type. Do not register a prometheus sink in the export registry; avoids confusion with scrape endpoints. - KSM-style domain metrics and target/inventory scope: Phase 4 spike landed on operator
/metrics(ADR-0304); richer target/inventory labels andmetricsScopeare Parked in ADR-0604. Hub merge metrics were never shipped (hub tier removed v0.3). Scalar attribute gauges remain RFC-only (Prometheus attribute metrics).
Consequences¶
- Portals scrape operator
/metricsfor health and export latency; inventory payloads go to configured sinks. - Helm chart optionally ships
ServiceMonitor+PrometheusRulewhen Prometheus Operator is present (see operator manual metrics). - Phase 4 work must extend this ADR rather than invent a parallel metrics model.