{{- if .Values.ingress.enabled }} {{- $fullName := include "gitdata.fullname" . }} {{- $controller := default "nginx" .Values.ingress.controller }} {{- $tlsSecret := default (printf "%s-tls" $fullName) .Values.ingress.tls.secretName }} {{- $annotations := deepCopy .Values.ingress.annotations }} {{- if eq $controller "nginx" }} {{- /* ingress-nginx:正则路由 + 大包/长连接超时(用户 annotations 优先于这里的默认值) */}} {{- $nginxDefaults := dict "nginx.ingress.kubernetes.io/use-regex" "true" "nginx.ingress.kubernetes.io/proxy-body-size" .Values.ingress.proxyBodySize "nginx.ingress.kubernetes.io/proxy-read-timeout" (printf "%v" .Values.ingress.proxyReadTimeout) "nginx.ingress.kubernetes.io/proxy-send-timeout" (printf "%v" .Values.ingress.proxySendTimeout) "nginx.ingress.kubernetes.io/proxy-connect-timeout" (printf "%v" .Values.ingress.proxyConnectTimeout) }} {{- $annotations = mergeOverwrite (mustFromJson (toJson $nginxDefaults)) $annotations }} {{- end }} {{- if and .Values.ingress.tls.enabled .Values.ingress.tls.clusterIssuer }} {{- $_ := set $annotations "cert-manager.io/cluster-issuer" .Values.ingress.tls.clusterIssuer }} {{- end }} apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ $fullName }} labels: {{- include "gitdata.labels" . | nindent 4 }} {{- if $annotations }} annotations: {{- toYaml $annotations | nindent 4 }} {{- end }} spec: {{- with .Values.ingress.className }} ingressClassName: {{ . }} {{- end }} {{- if .Values.ingress.tls.enabled }} tls: - hosts: - {{ .Values.ingress.host | quote }} secretName: {{ $tlsSecret }} {{- end }} rules: - host: {{ .Values.ingress.host | quote }} http: paths: - path: / pathType: Prefix backend: service: name: {{ printf "%s-apihost" $fullName }} port: name: http {{- end }}