{{/* vim: set filetype=mustache: */}} {{- define "common.ingress.metadata" -}} {{- $ingress := index . 1 }} {{- with $ingress.annotations }} annotations: {{- toYaml . | nindent 2 }} {{- end }} {{- end }} {{- define "common.ingress.tpl" -}} {{- $top := first . }} {{- $ingress := index . 1 }} {{- $service := index . 2 }} {{- $fullName := include "common.fullname" $top }} {{- $svcPort := $service.port }} {{- if semverCompare ">=1.14-0" $top.Capabilities.KubeVersion.GitVersion }} apiVersion: networking.k8s.io/v1beta1 {{- else }} apiVersion: extensions/v1beta1 {{- end }} kind: Ingress metadata: {{- include "common.metadata" (append . "common.ingress.metadata") | nindent 2 }} spec: {{- if $ingress.tls }} tls: {{- range $ingress.tls }} - hosts: {{- range .hosts }} - {{ . | quote }} {{- end }} secretName: {{ .secretName }} {{- end }} {{- end }} rules: {{- range $ingress.hosts }} - host: {{ .host | quote }} http: paths: {{- range .paths }} - path: {{ . }} backend: serviceName: {{ $fullName }} servicePort: {{ $svcPort }} {{- end }} {{- end }} {{- end }} {{- define "common.ingress" -}} {{- $ingress := index . 1 }} {{- if $ingress.enabled }} {{- include "common.utils.merge" (append . "common.ingress.tpl") }} {{- end }} {{- end }}