{{ define "alloy.config.logsService" }}
// Logs Service
remote.kubernetes.secret "logs_service" {
  name = {{ include "kubernetes_monitoring.logs_service.secret.name" . | quote}}
  namespace = {{ .Values.externalServices.loki.secret.namespace | default .Release.Namespace | quote }}
}

loki.process "logs_service" {
  stage.static_labels {
      values = {
        cluster = {{ required ".Values.cluster.name is a required value. Please set it and try again." .Values.cluster.name | quote }},
      }
  }

{{- if eq .Values.externalServices.loki.protocol "loki" }}
  forward_to = [loki.write.logs_service.receiver]
}
{{ include "alloy.config.logsServiceLoki" . }}
{{- end }}

{{- if or (eq .Values.externalServices.loki.protocol "otlp") (eq .Values.externalServices.loki.protocol "otlphttp") }}
  forward_to = [otelcol.receiver.loki.logs_service.receiver]
}
{{ include "alloy.config.logsServiceOTLP" . }}
{{ end }}
{{ end }}
