|
{{- /* |
|
TODO: Split env vars into separate secrets so that each pod |
|
only gets passed the secrets it really needs. |
|
*/}} |
|
apiVersion: v1 |
|
kind: Secret |
|
metadata: |
|
name: {{ include "ragflow.fullname" . }}-env-config |
|
type: Opaque |
|
stringData: |
|
{{- range $key, $val := .Values.env }} |
|
{{- if $val }} |
|
{{ $key }}: {{ quote $val }} |
|
{{- end }} |
|
{{- end }} |
|
{{- /* |
|
Use host names derived from internal cluster DNS |
|
*/}} |
|
REDIS_HOST: {{ printf "%s-redis.%s.svc" (include "ragflow.fullname" .) .Release.Namespace }} |
|
MYSQL_HOST: {{ printf "%s-mysql.%s.svc" (include "ragflow.fullname" .) .Release.Namespace }} |
|
MINIO_HOST: {{ printf "%s-minio.%s.svc" (include "ragflow.fullname" .) .Release.Namespace }} |
|
{{- /* |
|
Fail if passwords are not provided in release values |
|
*/}} |
|
REDIS_PASSWORD: {{ .Values.env.REDIS_PASSWORD | required "REDIS_PASSWORD is required" }} |
|
{{- /* |
|
NOTE: MySQL uses MYSQL_ROOT_PASSWORD env var but Ragflow container expects |
|
MYSQL_PASSWORD so we need to define both as the same value here. |
|
*/}} |
|
{{- with .Values.env.MYSQL_PASSWORD | required "MYSQL_PASSWORD is required" }} |
|
MYSQL_PASSWORD: {{ . }} |
|
MYSQL_ROOT_PASSWORD: {{ . }} |
|
{{- end }} |
|
{{- with .Values.env.MINIO_PASSWORD | required "MINIO_PASSWORD is required" }} |
|
MINIO_PASSWORD: {{ . }} |
|
MINIO_ROOT_PASSWORD: {{ . }} |
|
{{- end }} |
|
{{- /* |
|
Only provide env vars for enabled doc engine |
|
*/}} |
|
{{- if eq .Values.env.DOC_ENGINE "elasticsearch" }} |
|
ES_HOST: {{ printf "%s-es.%s.svc" (include "ragflow.fullname" .) .Release.Namespace }} |
|
ELASTIC_PASSWORD: {{ .Values.env.ELASTIC_PASSWORD | required "ELASTIC_PASSWORD is required" }} |
|
{{- else if eq .Values.env.DOC_ENGINE "infinity" }} |
|
INFINITY_HOST: {{ printf "%s-infinity.%s.svc" (include "ragflow.fullname" .) .Release.Namespace }} |
|
{{- else }} |
|
{{ fail "env.DOC_ENGINE must be either 'elasticsearch' or 'infinity'" }} |
|
{{- end }} |
|
|