{{ define "agent.config.metricsServiceRemoteWrite" }}
{{- with .Values.externalServices.prometheus }}
prometheus.remote_write "metrics_service" {
  endpoint {
    url = nonsensitive(remote.kubernetes.secret.metrics_service.data[{{ .hostKey | quote }}]) + "{{ .writeEndpoint }}"
    headers = { "X-Scope-OrgID" = nonsensitive(remote.kubernetes.secret.metrics_service.data[{{ .tenantIdKey | quote }}]) }
{{- if .proxyURL }}
    proxy_url = {{ .proxyURL | quote }}
{{- end }}
{{ if eq .authMode "basic" }}
    basic_auth {
      username = nonsensitive(remote.kubernetes.secret.metrics_service.data[{{ .basicAuth.usernameKey | quote }}])
      password = remote.kubernetes.secret.metrics_service.data[{{ .basicAuth.passwordKey | quote }}]
    }
{{- end }}
{{ if .writeRelabelConfigRules }}
{{ .writeRelabelConfigRules | indent 4 }}
{{- end }}
{{- if .tls }}
    tls_config {
    {{- range $k, $v := .tls }}
      {{ $k }} = {{ $v | toJson }}
    {{- end }}
    }
{{- end }}
  }

  external_labels = {
    {{- range $k, $v := .externalLabels }}
    {{ $k }} = {{ $v | quote }},
    {{- end }}
{{- end }}
  }
}
{{ end }}
