Estou tentando preencher minha implantação a partir de valores e estou recebendo erro:
YAML parse error on helm-general/templates/deployment.yaml: error converting YAML to JSON: yaml: line 46: mapping values are not allowed in this context
Meus valores.yaml
env:
LIMESURVEY_DB_HOST:
value: "host.com"
LIMESURVEY_DB_PASSWORD:
valueFrom:
secretKeyRef:
name: limesurvey-pass
key: pass
implantação.yaml
env:
{{- range $k, $v := .Values.env }}
- name: {{ $k }}
{{- $v | toYaml | indent 7 }}
{{- end }}
Há uma nova linha faltando na saída. Há duas maneiras de contornar isso. Uma é usar a
nindent
função em vez deindent
, que também insere uma nova linha inicialO outro leva um pouco mais de consideração cuidadosa de espaços em branco.
indent
irá inserir espaços no início de cada linha, incluindo a primeira, então uma linha que incluiindent
não deve ser recuada. Você precisa da nova linha antes dela, então você não quer o marcador de controle de espaços em branco do modelo Go-
. Isso leva você a(O recuo é importante, não é um erro de digitação que a segunda linha não esteja recuada.)
Como você está apenas tentando reproduzir um bloco inteiro a partir dos valores como estão, você também não precisa do
range
loop, o que pode evitar um pouco de complexidade aqui.