{{- if .Values.ingress.main.enabled }} {{- $fullName := include "common.names.fullname" . -}} {{- $ingressName := $fullName -}} {{- $values := .Values.ingress.main -}} {{- if hasKey . "ObjectValues" -}} {{- with .ObjectValues.ingress -}} {{- $values = . -}} {{- end -}} {{ end -}} {{- if and (hasKey $values "nameOverride") $values.nameOverride -}} {{- $ingressName = printf "%v-%v" $ingressName $values.nameOverride -}} {{- end -}} {{- $primaryService := .Values.frontend.service.main -}} {{- $defaultServiceName := "piped-frontend" -}} {{- $defaultServicePort := get $primaryService.ports (include "bjw-s.common.lib.service.primaryPort" (dict "values" $primaryService)) -}} apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ $ingressName }} {{- with (merge ($values.labels | default dict) (include "bjw-s.common.lib.metadata.allLabels" $ | fromYaml)) }} labels: {{- toYaml . | nindent 4 }} {{- end }} {{- with (merge ($values.annotations | default dict) (include "bjw-s.common.lib.metadata.globalAnnotations" $ | fromYaml)) }} annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: {{- if $values.ingressClassName }} ingressClassName: {{ $values.ingressClassName }} {{- end }} {{- if $values.tls }} tls: {{- range $values.tls }} - hosts: {{- range .hosts }} - {{ tpl . $ | quote }} {{- end }} {{- if .secretName }} secretName: {{ tpl .secretName $ | quote}} {{- end }} {{- end }} {{- end }} rules: {{- range $values.hosts }} - host: {{ tpl .host $ | quote }} http: paths: {{- range .paths }} {{- $service := $defaultServiceName -}} {{- $port := $defaultServicePort.port -}} {{- if .service -}} {{- $service = default $service .service.name -}} {{- $port = default $port .service.port -}} {{- end }} - path: {{ tpl .path $ | quote }} pathType: {{ default "Prefix" .pathType }} backend: service: name: {{ $service }} port: number: {{ $port }} {{- end }} {{- end }} {{- end }}