Можно ли создать объект yaml из helm из файла? - PullRequest
0 голосов
/ 13 марта 2020

Я хочу перебрать список Yaml, который определен в файле, и использовать его в Job. Например, у меня есть

test.yaml

    list:
      - first element
      - second element

In _helpers.tpl i can define 
something like 

{{- define "mychart.list" -}}
{{ .Files.Get "test.yaml"| toYaml }}
{{- end }}

And then in Job i want do something like 

    {{- $lists  := include "mychart.list" . }}
    {{- range $element := $lists.list}}
    apiVersion: batch/v1
    kind: Job
    metadata:


and then use the $element.

But when i am trying to do the dry-run with --debug it complains about 

at <$lists.list>: can't evaluate field list in type string.

Looks like whole value is coming as string rather than Yaml, does it needs explicit call to Yaml parser ? If yes, is there a way to do that ?

BTW i have also tried various combinations of 

    {{- $lists  := include "mychart.list" . | toYaml }}

или загрузка файла встроенным, но ни один из них не помогает.

Я могу поместить список в Values.yaml, но не хочу делать это нарочно .

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 13 марта 2020

Просто отправлю на будущее, если кто-то придет и посмотрит.

Есть функция fromYaml, которая не документирована. Я нашел это трудным путем, но это решило проблему.

{{- $ lists: = include "mychart.list". | fromYaml}}

...