# A example scrape configuration for running Prometheus with
# STACKIT.

scrape_configs:
  # Make Prometheus scrape itself for metrics.
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

  # Discover Node Exporter instances to scrape.
  - job_name: "node"

    stackit_sd_configs:
      - project: 11111111-1111-1111-1111-111111111111
        oauth2:
          client_id: <credentials.sub>
          client_certificate_key: <credentials.privateKey>
          client_certificate_key_id: <credentials.kid>
          iss: <credentials.iss>
          audience: <credentials.aud>
          grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer"
          token_url: "https://service-account.api.stackit.cloud/token"
          signature_algorithm: RS512
    relabel_configs:
      # Use the public IPv4 and port 9100 to scrape the target.
      - source_labels: [__meta_stackit_public_ipv4]
        target_label: __address__
        replacement: "$1:9100"

  # Discover Node Exporter instances to scrape using a STACKIT Subnet called mynet.
  - job_name: "node_private"

    stackit_sd_configs:
      - project: 11111111-1111-1111-1111-111111111111
        oauth2:
          client_id: <credentials.sub>
          client_certificate_key: <credentials.privateKey>
          client_certificate_key_id: <credentials.kid>
          iss: <credentials.iss>
          audience: <credentials.aud>
          grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer"
          token_url: "https://service-account.api.stackit.cloud/token"
          signature_algorithm: RS512
    relabel_configs:
      # Use the private IPv4 within the STACKIT Subnet and port 9100 to scrape the target.
      - source_labels: [__meta_stackit_private_ipv4_mynet]
        target_label: __address__
        replacement: "$1:9100"
