| {{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion .Values.kubeTargetVersionOverride }} |
| {{- if .Values.controller.ingress.enabled }} |
| {{- if semverCompare ">=1.19-0" $kubeTargetVersion -}} |
| apiVersion: networking.k8s.io/v1 |
| {{- else if semverCompare ">=1.14-0" $kubeTargetVersion -}} |
| apiVersion: networking.k8s.io/v1beta1 |
| {{- else -}} |
| apiVersion: {{ .Values.controller.ingress.apiVersion }} |
| {{- end }} |
| kind: Ingress |
| metadata: |
| namespace: {{ template "jenkins.namespace" . }} |
| labels: |
| {{- include "jenkins.labels" . | nindent 4 }} |
| {{- if .Values.controller.ingress.labels }} |
| {{ toYaml .Values.controller.ingress.labels | indent 4 }} |
| {{- end }} |
| {{- if .Values.controller.ingress.annotations }} |
| annotations: |
| {{ tpl (toYaml .Values.controller.ingress.annotations) . | indent 4 }} |
| {{- end }} |
| name: {{ template "jenkins.fullname" . }} |
| spec: |
| {{- if .Values.controller.ingress.ingressClassName }} |
| ingressClassName: {{ tpl .Values.controller.ingress.ingressClassName . | quote }} |
| {{- end }} |
| rules: |
| - http: |
| paths: |
| {{- if empty (.Values.controller.ingress.paths) }} |
| - backend: |
| {{- if semverCompare ">=1.19-0" $kubeTargetVersion }} |
| service: |
| name: {{ template "jenkins.fullname" . }} |
| port: |
| number: {{ .Values.controller.servicePort }} |
| pathType: {{ .Values.controller.ingress.pathType }} |
| {{- else }} |
| serviceName: {{ template "jenkins.fullname" . }} |
| servicePort: {{ .Values.controller.servicePort }} |
| {{- end }} |
| {{- if .Values.controller.ingress.path }} |
| path: {{ .Values.controller.ingress.path }} |
| {{- end -}} |
| {{- else }} |
| {{ tpl (toYaml .Values.controller.ingress.paths | indent 6) . }} |
| {{- end -}} |
| {{- if .Values.controller.ingress.hostName }} |
| host: {{ tpl .Values.controller.ingress.hostName . | quote }} |
| {{- end }} |
| {{- if .Values.controller.ingress.resourceRootUrl }} |
| - http: |
| paths: |
| - backend: |
| {{- if semverCompare ">=1.19-0" $kubeTargetVersion }} |
| service: |
| name: {{ template "jenkins.fullname" . }} |
| port: |
| number: {{ .Values.controller.servicePort }} |
| pathType: {{ .Values.controller.ingress.pathType }} |
| {{- else }} |
| serviceName: {{ template "jenkins.fullname" . }} |
| servicePort: {{ .Values.controller.servicePort }} |
| {{- end }} |
| host: {{ tpl .Values.controller.ingress.resourceRootUrl . | quote }} |
| {{- end }} |
| {{- if .Values.controller.ingress.tls }} |
| {{- $withTlsEntries := false }} |
| {{- range .Values.controller.ingress.tls }} |
| {{- if gt (len .) 0 }} |
| {{- $withTlsEntries = true }} |
| {{- end }} |
| {{- end }} |
| {{- if $withTlsEntries }} |
| tls: |
| {{- range .Values.controller.ingress.tls }} |
| - hosts: |
| {{- range .hosts }} |
| - {{ tpl . $ | quote }} |
| {{- end }} |
| {{- if $.Values.controller.ingress.resourceRootUrl }} |
| - {{ tpl $.Values.controller.ingress.resourceRootUrl $ | quote }} |
| {{- end }} |
| {{- if .secretName }} |
| secretName: {{ tpl (.secretName | toString) $ | quote }} |
| {{- end }} |
| {{- end }} |
| {{- end }} |
| {{- end }} |
| {{- end }} |