| {{- $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: |
| "app.kubernetes.io/name": '{{ template "jenkins.name" .}}' |
| {{- if .Values.renderHelmLabels }} |
| "helm.sh/chart": "{{ template "jenkins.label" .}}" |
| {{- end }} |
| "app.kubernetes.io/managed-by": "{{ .Release.Service }}" |
| "app.kubernetes.io/instance": "{{ .Release.Name }}" |
| "app.kubernetes.io/component": "{{ .Values.controller.componentName }}" |
| {{- if .Values.controller.ingress.labels }} |
| {{ toYaml .Values.controller.ingress.labels | indent 4 }} |
| {{- end }} |
| {{- if .Values.controller.ingress.annotations }} |
| annotations: |
| {{ toYaml .Values.controller.ingress.annotations | indent 4 }} |
| {{- end }} |
| name: {{ template "jenkins.fullname" . }} |
| spec: |
| {{- if .Values.controller.ingress.ingressClassName }} |
| ingressClassName: {{ .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: ImplementationSpecific |
| {{- 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: ImplementationSpecific |
| {{- else }} |
| serviceName: {{ template "jenkins.fullname" . }} |
| servicePort: {{ .Values.controller.servicePort }} |
| {{- end }} |
| host: {{ tpl .Values.controller.ingress.resourceRootUrl . | quote }} |
| {{- end }} |
| {{- if .Values.controller.ingress.tls }} |
| tls: |
| {{ tpl (toYaml .Values.controller.ingress.tls ) . | indent 4 }} |
| {{- end -}} |
| {{- end }} |