{{- define "ingress.config.port" -}} {{- if .Values.ingress -}} {{- if .Values.ingress.service -}} {{- range .Values.ingress.service }} - path: {{ .path }} backend: serviceName: {{ .name }} servicePort: {{ .port }} {{- end }} {{- else -}} - path: {{ printf "/%s" .Chart.Name }} backend: serviceName: {{ .Chart.Name }} servicePort: {{ .Values.service.externalPort }} {{- end -}} {{- end -}} {{- end -}} {{- define "ingress.config.annotations" -}} {{- if .Values.ingress -}} {{- if .Values.ingress.annotations -}} {{ toYaml .Values.ingress.annotations | indent 4 | trim }} {{- end -}} {{- end -}} {{- end -}} {{- define "common.ingress" -}} {{- if .Values.ingress -}} {{- if .Values.ingress.enabled -}} apiVersion: extensions/v1beta1 kind: Ingress metadata: name: {{ include "common.fullname" . }}-ingress annotations: {{ include "ingress.config.annotations" . }} labels: app: {{ .Chart.Name }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} spec: rules: - http: paths: {{- include "ingress.config.port" . }} {{- if .Values.ingress.tls }} tls: {{ toYaml .Values.ingress.tls | indent 4 }} {{- end -}} {{- end -}} {{- end -}} {{- end -}}