# ============================================================
# Prometheus Configuration — Turf SaaS
# ============================================================

global:
  scrape_interval: 15s
  evaluation_interval: 15s
  external_labels:
    project: turf-saas
    env: production

# Alertmanager — wire up when available
alerting:
  alertmanagers:
    - static_configs:
        - targets: []

# Load alert rules
rule_files:
  - "alerts.yml"

# ============================================================
# Scrape targets
# ============================================================
scrape_configs:
  # Prometheus self-monitoring
  - job_name: prometheus
    static_configs:
      - targets: [localhost:9090]

  # Combined API
  - job_name: combined-api
    static_configs:
      - targets: [combined-api:8790]
    metrics_path: /metrics
    scrape_interval: 15s

  # Dashboard API
  - job_name: dashboard-api
    static_configs:
      - targets: [dashboard-api:8791]
    metrics_path: /metrics
    scrape_interval: 15s

  # Portal
  - job_name: portal
    static_configs:
      - targets: [portal:8792]
    metrics_path: /metrics
    scrape_interval: 30s

  # PostgreSQL exporter (if deployed)
  - job_name: postgres
    static_configs:
      - targets: [postgres-exporter:9187]
    scrape_interval: 30s

  # Redis exporter (if deployed)
  - job_name: redis
    static_configs:
      - targets: [redis-exporter:9121]
    scrape_interval: 30s

  # Node exporter (host metrics)
  - job_name: node
    static_configs:
      - targets: [host.docker.internal:9100]
    scrape_interval: 30s
