{{ define "agent.config.agent" }}
// Grafana Agent
discovery.relabel "agent" {
  targets = discovery.kubernetes.services.targets
  rule {
    source_labels = ["__meta_kubernetes_service_label_app_kubernetes_io_instance"]
    regex = "{{ .Release.Name }}"
    action = "keep"
  }
  rule {
    source_labels = ["__meta_kubernetes_service_label_app_kubernetes_io_name"]
    regex = "grafana-agent"
    action = "keep"
  }
  rule {
    source_labels = ["__meta_kubernetes_service_port_name"]
    regex = "http-metrics"
    action = "keep"
  }
}

prometheus.scrape "agent" {
  job_name   = "integrations/agent"
  targets  = discovery.relabel.agent.output
  forward_to = [prometheus.relabel.agent.receiver]
{{- if (index .Values "grafana-agent").agent.clustering.enabled }}
  clustering {
    enabled = true
  }
{{- end }}
}

prometheus.relabel "agent" {
  rule {
    source_labels = ["__name__"]
    regex = "up|agent_build_info"
    action = "keep"
  }
  forward_to = [prometheus.remote_write.grafana_cloud_prometheus.receiver]
}
{{ end }}
