{{ define "agent.config.cadvisor" }}
// cAdvisor
discovery.relabel "cadvisor" {
  targets = discovery.kubernetes.nodes.targets
  rule {
    target_label = "__address__"
    replacement  = "kubernetes.default.svc.cluster.local:443"
  }
  rule {
    source_labels = ["__meta_kubernetes_node_name"]
    regex         = "(.+)"
    replacement   = "/api/v1/nodes/${1}/proxy/metrics/cadvisor"
    target_label  = "__metrics_path__"
  }
}

prometheus.scrape "cadvisor" {
  job_name   = "integrations/kubernetes/cadvisor"
  targets    = discovery.relabel.cadvisor.output
  scheme     = "https"
  bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
  tls_config {
    insecure_skip_verify = true
  }
{{- if .Values.metrics.cadvisor.allowList }}
  forward_to = [prometheus.relabel.cadvisor.receiver]
{{- else }}
  forward_to = [prometheus.remote_write.grafana_cloud_prometheus.receiver]
{{- end }}
}
{{- if .Values.metrics.cadvisor.allowList }}

prometheus.relabel "cadvisor" {
  rule {
    source_labels = ["__name__"]
    regex = "up|{{ join "|" .Values.metrics.cadvisor.allowList }}"
    action = "keep"
  }
  forward_to = [prometheus.remote_write.grafana_cloud_prometheus.receiver]
}
{{- end }}
{{ end }}
