Files
2023-12-14 14:02:01 +02:00

69 lines
2.2 KiB
YAML

{{- $fullName := include "external-services.fullname" . -}}
{{- $name := include "external-services.name" . -}}
{{- range .Values.services }}
{{- if and $.Values.ingress.className (not (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .ingress.annotations "kubernetes.io/ingress.class") }}
{{- $_ := set .ingress.annotations "kubernetes.io/ingress.class" $.Values.ingress.className}}
{{- end }}
{{- end -}}
{{- $ingressName := printf "%s-%s" $fullName .name }}
{{- $serviceName := printf "%s-%s" $name .name }}
{{- $servicePort := .port }}
{{- $servicePortName := .portName }}
---
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1
{{- else if semverCompare ">=1.14-0" $.Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ $ingressName }}
labels:
{{- include "external-services.labels" $ | nindent 4 }}
{{- with .ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if and $.Values.ingress.className (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
ingressClassName: {{ $.Values.ingress.className }}
{{- end }}
{{- 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: {{ .path }}
{{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
pathType: {{ .pathType }}
{{- end }}
backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service:
name: {{ $serviceName }}
port:
name: {{ $servicePortName }}
{{- else }}
serviceName: {{ $serviceName }}
servicePort: {{ $servicePort }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}