diff --git a/scripts/helmcharts/openreplay/charts/assets/templates/ingress.yaml b/scripts/helmcharts/openreplay/charts/assets/templates/ingress.yaml index 25c0d7b9b..42d167e6f 100644 --- a/scripts/helmcharts/openreplay/charts/assets/templates/ingress.yaml +++ b/scripts/helmcharts/openreplay/charts/assets/templates/ingress.yaml @@ -1,34 +1,62 @@ -{{- if .Values.ingress.enabled }} +{{- if .Values.ingress.enabled -}} {{- $fullName := include "assets.fullname" . -}} -{{- $svcPort := .Values.service.ports.http -}} +{{- $svcPort := .Values.service.port -}} +{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} + {{- end }} +{{- end }} +{{- 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: {{ $fullName }} labels: {{- include "assets.labels" . | nindent 4 }} - annotations: - nginx.ingress.kubernetes.io/rewrite-target: /$1 {{- with .Values.ingress.annotations }} + annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: - ingressClassName: "{{ tpl .Values.ingress.className . }}" + {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .Values.ingress.className }} + {{- end }} + {{- if .Values.ingress.tls }} tls: + {{- range .Values.ingress.tls }} - hosts: - - {{ .Values.global.domainName }} - {{- if .Values.ingress.tls.secretName}} - secretName: {{ .Values.ingress.tls.secretName }} - {{- end}} + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} rules: - - host: {{ .Values.global.domainName }} + {{- range .Values.ingress.hosts }} + - host: {{ .host | quote }} http: paths: - - pathType: Prefix + {{- 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: {{ $fullName }} port: number: {{ $svcPort }} - path: /assets/(.*) + {{- else }} + serviceName: {{ $fullName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} {{- end }} +