本文介绍了使用Helm遍历dotenv文件的行,并在ConfigMap中呈现为键-值对的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个.env
文件:
REACT_APP_API_ENDPOINT=http://api.app:8080
REACT_APP_GOOGLE_ANALY=xyz1234ezyz
我想用此.env文件构建一个figmap,如下所示:
apiVersion: v1
kind: ConfigMap
metadata:
name: frontend-config
data:
REACT_APP_API_ENDPOINT: 'http://api.app:8080'
REACT_APP_GOOGLE_ANALY: 'xyz1234ezyz'
算法很简单:
forEach Line of `.env` content
> Split by "="
> key <- first part , value <- second part
> render key, value in
我的舵图缺省值为:
# chart/values.yaml
# using --set-file
frontendEnv: |
REACT_APP_API_ENDPOINT=http://api.app:8080
REACT_APP_GOOGLE_ANALY=xyz1234ezyz
我的配置映射模板:
apiVersion: v1
kind: ConfigMap
metadata:
#...
data:
# MY QUESTION is what to put Here 👓
我已尝试此循环:
# ...
# ..
data:
{{- range $line := splitList "
" .Values.frontendEnv -}}
{{/* Break the line into words */}}
{{- $kv := split "=" $line -}}
$kv._0: {{ $kv._1 | quote }}
{{- end -}}
但它不起作用
推荐答案
已修复。
使用
{{- range ... }}
Not{{- range... -}}
为每个迭代保留新行。使用拆分列表而不是拆分
检查行是否不为空
{{- range $line := splitList "
" .Values.frontendEnv }}
{{/* Break the line into words */}}
{{- $kv := splitList "=" $line -}}
{{- $k := first $kv -}}
{{- if $k }}
{{ $k }}: {{ last $kv | quote }}
{{- end }}
{{- end }}
这篇关于使用Helm遍历dotenv文件的行,并在ConfigMap中呈现为键-值对的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!