{{ define "alloy.config.receivers.jaeger" }}
{{- if or .Values.receivers.jaeger.grpc.enabled .Values.receivers.jaeger.thriftBinary.enabled .Values.receivers.jaeger.thriftCompact.enabled .Values.receivers.jaeger.thriftBinary.enabled }}
// Jaeger Receiver
otelcol.receiver.jaeger "receiver" {
  protocols {
{{- if .Values.receivers.jaeger.grpc.enabled -}}
{{$data := dict "port" .Values.receivers.jaeger.grpc.port "type" "Jaeger gRPC" "alloy" .Values.alloy.alloy }}
{{- include "checkforAlloyPort" $data }}
    grpc {
      endpoint = "0.0.0.0:{{ $data.port | int }}"
    }
{{- end }}
{{- if .Values.receivers.jaeger.thriftBinary.enabled }}
{{$data := dict "port" .Values.receivers.jaeger.thriftBinary.port "type" "Jaeger Binary" "alloy" .Values.alloy.alloy }}
{{- include "checkforAlloyPort" $data }}
    thrift_binary {
      endpoint = "0.0.0.0:{{ $data.port | int }}"
    }
{{- end }}
{{- if .Values.receivers.jaeger.thriftCompact.enabled }}
{{$data := dict "port" .Values.receivers.jaeger.thriftCompact.port "type" "Jaeger Compact" "alloy" .Values.alloy.alloy }}
{{- include "checkforAlloyPort" $data }}
    thrift_compact {
      endpoint = "0.0.0.0:{{ $data.port | int }}"
    }
{{- end }}
{{- if .Values.receivers.jaeger.thriftHttp.enabled }}
{{$data := dict "port" .Values.receivers.jaeger.thriftHttp.port "type" "Jaeger HTTP" "alloy" .Values.alloy.alloy }}
{{- include "checkforAlloyPort" $data }}
    thrift_http {
      endpoint = "0.0.0.0:{{ $data.port | int }}"
    }
{{- end }}
  }

  debug_metrics {
    disable_high_cardinality_metrics = {{ .Values.receivers.jaeger.disable_debug_metrics }}
  }

  output {
    traces = [otelcol.processor.k8sattributes.default.input]
  }
}
{{- end }}
{{ end }}
