{{- if .Values.ingress.enabled -}} apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ include "ragflow.fullname" . }} labels: {{- include "ragflow.labels" . | nindent 4 }} {{- with .Values.ingress.annotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: {{- with .Values.ingress.className }} ingressClassName: {{ . }} {{- end }} {{- if .Values.ingress.tls }} tls: {{- range .Values.ingress.tls }} - hosts: {{- range .hosts }} - {{ . | quote }} {{- end }} secretName: {{ .secretName }} {{- end }} {{- end }} rules: {{- range .Values.ingress.hosts }} - host: {{ .host | quote }} http: paths: {{- $pathFlags := dict "hasV1" false }} {{- range .paths }} {{- if eq .path "/v1" }} {{- $_ := set $pathFlags "hasV1" true }} {{- end }} - path: {{ .path }} {{- with .pathType }} pathType: {{ . }} {{- end }} backend: service: {{- $backend := .backend | default dict }} {{- if $backend.serviceName }} name: {{ $backend.serviceName }} {{- else if $backend.component }} name: {{ include "ragflow.componentFullname" (dict "root" $ "component" $backend.component) }} {{- else }} name: {{ include "ragflow.componentFullname" (dict "root" $ "component" "frontend") }} {{- end }} {{- $port := default "http" $backend.port }} port: {{- if kindIs "string" $port }} name: {{ $port }} {{- else }} number: {{ $port }} {{- end }} {{- end }} {{- if not ($pathFlags.hasV1) }} - path: /v1 pathType: Prefix backend: service: name: {{ include "ragflow.componentFullname" (dict "root" $ "component" "api") }} port: name: http {{- end }} {{- if $.Values.ragflow.admin.enabled }} - path: /api/v1/admin pathType: Prefix backend: service: name: {{ include "ragflow.componentFullname" (dict "root" $ "component" "admin") }} port: name: http {{- end }} {{- end }} {{- end }}