# https://prometheus-operator.dev/docs/api-reference/api/#monitoring.coreos.com/v1.PodMonitor
apiVersion: monitoring.coreos.com/v1
# FIXME: switch to ServiceMonitor (currently no labels at all)
kind: PodMonitor
metadata:
  name: clusterd
  labels:
    app.kubernetes.io/part-of: materialize
    app.kubernetes.io/name: clusterd
spec:
  selector:
    matchLabels:
      # FIXME: clusterd pods are not yet groupable by label
      cluster.environmentd.materialize.cloud/type: cluster
  namespaceSelector:
    any: true
  # Pod labels copied onto scraped metrics (consumed by the dashboards).
  # Harmless on pods lacking a given label. Node-level labels (zone, instance
  # type, nodepool) are intentionally excluded — they are not pod labels.
  podTargetLabels:
    - materialize.cloud/organization-name
    - materialize.cloud/organization-namespace
    - materialize.cloud/organization-id
    - cluster.environmentd.materialize.cloud/cluster-id
    - cluster.environmentd.materialize.cloud/replica-id
  # https://prometheus-operator.dev/docs/api-reference/api/#monitoring.coreos.com/v1.PodMetricsEndpoint
  podMetricsEndpoints:
    - port: internal-http
      path: /metrics
      relabelings: []
