ADR-0601: Operator metrics — no Prometheus export sink¶
Operator metrics live on
/metrics;prometheusis not aKollectSink.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 sinks (ADR-0402) — not a KollectSink of type
prometheus.
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 validKollectSink.spec.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.