apiVersion: v1
kind: ConfigMap
metadata:
  name: telemetry-config
  namespace: atscale
data:
  relay: |
    extensions:
      health_check:
        endpoint: 0.0.0.0:13133

    receivers:
      otlp:
        protocols:
          grpc:
            endpoint: "0.0.0.0:4317"
          http:
            endpoint: "0.0.0.0:4318"

      prometheus:
        config:
          scrape_configs:
            - job_name: keycloak-collector
              scrape_interval: 30s
              metrics_path: "/auth/metrics"
              static_configs:
                - targets: ["keycloak-metrics.atscale.svc.cluster.local:9000"]

            - job_name: engine-collector
              scrape_interval: 30s
              static_configs:
                - targets:
                    - "atscale-atscale-engine.atscale.svc.cluster.local:9095"

            - job_name: postgres-collector
              scrape_interval: 30s
              static_configs:
                - targets:
                    - "postgres-postgresql-metrics.atscale.svc.cluster.local:9187"

    exporters:
      file/logs:
        path: /var/log/atscale/atscale_logs
        rotation:
          max_megabytes: 500
          max_days: 30
          max_backups: 30
          localtime: true
        format: json

      file/metrics:
        path: /var/log/atscale/atscale_metrics
        rotation:
          max_megabytes: 500
          max_days: 5
          max_backups: 5
          localtime: true
        format: json

      file/traces:
        path: /var/log/atscale/atscale_traces
        rotation:
          max_megabytes: 500
          max_days: 5
          max_backups: 5
          localtime: true
        format: json

      # Loki exporter using OTLP HTTP (required from OpenTelemetry v0.131.x onward)
      otlphttp/loki:
        endpoint: http://loki.example.com:3100/otlp/v1/logs

      prometheusremotewrite:
        endpoint: http://lgtm-grafana-mimir-nginx.monitoring.svc.cluster.local/api/v1/push

    service:
      telemetry:
        logs:
          level: INFO
      extensions:
        - health_check
      pipelines:
        logs:
          receivers: [otlp]
          processors: []
          exporters: [file/logs, otlphttp/loki]

        metrics:
          receivers: [prometheus, otlp]
          processors: []
          exporters: [file/metrics, prometheusremotewrite]

        traces:
          receivers: [otlp]
          processors: []
          exporters: [file/traces]
