#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#

{{- if or .Values.monitoring.grafana .Values.extra.monitoring }}
{{- if .Values.grafana.ingress.enabled }}
{{- if semverCompare "<1.19-0" .Capabilities.KubeVersion.Version }}
apiVersion: extensions/v1beta1
{{- else }}
apiVersion: networking.k8s.io/v1
{{- end }}
kind: Ingress
metadata:
  name: "{{ template "pulsar.fullname" . }}-{{ .Values.grafana.component }}"
  namespace: {{ template "pulsar.namespace" . }}
  labels:
    app: {{ template "pulsar.name" . }}
    chart: {{ template "pulsar.chart" . }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
{{- with .Values.grafana.ingress.annotations }}
  annotations:
{{ toYaml . | indent 4 }}
{{- end }}
spec:
{{- if .Values.grafana.ingress.tls }}
  tls:
{{ toYaml .Values.grafana.ingress.tls | indent 4 }}
{{- end }}
  rules:
    - http:
        paths:
        - path: {{ .Values.grafana.ingress.path }}
          {{- if semverCompare "<1.19-0" .Capabilities.KubeVersion.Version }}
          backend:
            serviceName: "{{ template "pulsar.fullname" . }}-{{ .Values.grafana.component }}"
            servicePort: {{ .Values.grafana.ingress.port }}
          {{- else }}
          pathType: ImplementationSpecific
          backend:
            service:
              name: "{{ template "pulsar.fullname" . }}-{{ .Values.grafana.component }}"
              port:
                number: {{ .Values.grafana.ingress.port }}
          {{- end }}
      {{- if .Values.grafana.ingress.hostname }}
      host: {{ .Values.grafana.ingress.hostname }}
      {{- end }}
      
  {{- end }}
  {{- end }}
