@@ -58,3 +58,54 @@ Create the name of the service account to use.
5858{{- default " default" .Values.serviceAccount.name }}
5959{{- end }}
6060{{- end }}
61+
62+ {{/*
63+ Parse KEY=VALUE lines from env files passed through `.Values.envFiles.contents`.
64+ Supports comments, blank lines, and optional `export ` prefix.
65+ */ }}
66+ {{- define " ocr-service.envFromFilesMap" -}}
67+ {{- $env := dict -}}
68+ {{- if and .Values.envFiles.enabled .Values.envFiles.contents }}
69+ {{- range $content := .Values.envFiles.contents }}
70+ {{- range $line := splitList " \n " (toString $content ) }}
71+ {{- $trimmed := trim $line -}}
72+ {{- if and $trimmed (not (hasPrefix " #" $trimmed )) (contains " =" $trimmed ) }}
73+ {{- $parts := regexSplit " =" $trimmed 2 -}}
74+ {{- if eq (len $parts ) 2 }}
75+ {{- $rawKey := trim (index $parts 0) -}}
76+ {{- $key := $rawKey -}}
77+ {{- if hasPrefix " export " $rawKey }}
78+ {{- $key = trim (trimPrefix " export " $rawKey ) -}}
79+ {{- end }}
80+ {{- if regexMatch " ^[A-Za-z_][A-Za-z0-9_]*$" $key }}
81+ {{- $value := trim (index $parts 1) -}}
82+ {{- if and (hasPrefix " \" " $value ) (hasSuffix " \" " $value ) }}
83+ {{- $value = trimSuffix " \" " (trimPrefix " \" " $value ) -}}
84+ {{- else if and (hasPrefix " '" $value ) (hasSuffix " '" $value ) }}
85+ {{- $value = trimSuffix " '" (trimPrefix " '" $value ) -}}
86+ {{- end }}
87+ {{- $_ := set $env $key $value -}}
88+ {{- end }}
89+ {{- end }}
90+ {{- end }}
91+ {{- end }}
92+ {{- end }}
93+ {{- end }}
94+ {{- toYaml $env -}}
95+ {{- end }}
96+
97+ {{/*
98+ Merge chart env values with optional parsed env-file values.
99+ When env files are enabled, env-file values override `.Values.env`.
100+ */ }}
101+ {{- define " ocr-service.mergedEnvMap" -}}
102+ {{- $baseEnv := .Values.env | default dict -}}
103+ {{- $envFromFiles := include " ocr-service.envFromFilesMap" . | fromYaml | default dict -}}
104+ {{- $merged := dict -}}
105+ {{- if .Values.envFiles.enabled }}
106+ {{- $merged = mergeOverwrite $merged $baseEnv $envFromFiles -}}
107+ {{- else }}
108+ {{- $merged = mergeOverwrite $merged $baseEnv -}}
109+ {{- end }}
110+ {{- toYaml $merged -}}
111+ {{- end }}
0 commit comments