# yaml-language-server: $schema=https://ks.hsn.dev/monitoring.coreos.com/podmonitor_v1.json
---
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
  name: crunchy-postgres-exporter
spec:
  selector:
    matchLabels:
      postgres-operator.crunchydata.com/crunchy-postgres-exporter: 'true'
  namespaceSelector:
    matchNames:
      - database
      - media
  podMetricsEndpoints:
    - port: "exporter"
      relabelings:
        - sourceLabels: [__meta_kubernetes_pod_container_port_number]
          action: keep
          regex: "9187"
        - sourceLabels: [__meta_kubernetes_namespace]
          targetLabel: kubernetes_namespace
        - sourceLabels: [__meta_kubernetes_pod_name]
          targetLabel: pod
        - sourceLabels: [__meta_kubernetes_namespace, __meta_kubernetes_pod_label_postgres_operator_crunchydata_com_cluster]
          separator: ":"
          targetLabel: pg_cluster
          replacement: "$1$2"
        - sourceLabels: [__meta_kubernetes_pod_ip]
          targetLabel: ip
        - sourceLabels: [__meta_kubernetes_pod_label_postgres_operator_crunchydata_com_instance]
          targetLabel: deployment
        - sourceLabels: [__meta_kubernetes_pod_label_postgres_operator_crunchydata_com_role]
          targetLabel: role