1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- {{- if .Values.ingress.enabled }}
- {{- if or (.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not (.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
- apiVersion: networking.k8s.io/v1
- {{- else }}
- apiVersion: networking.k8s.io/v1beta1
- {{- end }}
- kind: Ingress
- metadata:
- name: {{ template "rancher.fullname" . }}
- labels:
- {{ include "rancher.labels" . | indent 4 }}
- annotations:
- {{- if .Values.ingress.configurationSnippet }}
- nginx.ingress.kubernetes.io/configuration-snippet: |
- {{- template "configurationSnippet" . }}
- {{- end }}
- {{- if eq .Values.tls "external" }}
- nginx.ingress.kubernetes.io/ssl-redirect: "false" # turn off ssl redirect for external.
- {{- else }}
- {{- if ne .Values.ingress.tls.source "secret" }}
- {{- $certmanagerVer := split "." .Values.certmanager.version -}}
- {{- if or (.Capabilities.APIVersions.Has "certmanager.k8s.io/v1alpha1") (and (gt (len $certmanagerVer._0) 0) (eq (int $certmanagerVer._0) 0) (lt (int $certmanagerVer._1) 11)) }}
- certmanager.k8s.io/issuer: {{ template "rancher.fullname" . }}
- {{- else }}
- cert-manager.io/issuer: {{ template "rancher.fullname" . }}
- cert-manager.io/issuer-kind: Issuer
- {{- end }}
- {{- end }}
- {{- end }}
- {{- if .Values.ingress.includeDefaultExtraAnnotations }}
- nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"
- nginx.ingress.kubernetes.io/proxy-read-timeout: "1800"
- nginx.ingress.kubernetes.io/proxy-send-timeout: "1800"
- {{- end }}
- {{- if .Values.ingress.extraAnnotations }}
- {{ toYaml .Values.ingress.extraAnnotations | indent 4 }}
- {{- end }}
- spec:
- {{- if .Values.ingress.ingressClassName }}
- ingressClassName: {{ .Values.ingress.ingressClassName }}
- {{- end }}
- rules:
- - host: {{ .Values.hostname }} # hostname to access rancher server
- http:
- paths:
- - backend:
- {{- if or (.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not (.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
- service:
- name: {{ template "rancher.fullname" . }}
- port:
- number: {{ .Values.ingress.servicePort }}
- {{- else }}
- serviceName: {{ template "rancher.fullname" . }}
- servicePort: {{ .Values.ingress.servicePort }}
- {{- end }}
- {{- if or (.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not (.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }}
- pathType: ImplementationSpecific
- {{- end }}
- {{- if eq .Values.tls "ingress" }}
- tls:
- - hosts:
- - {{ .Values.hostname }}
- secretName: {{ .Values.ingress.tls.secretName }}
- {{- end }}
- {{- end }}
|