Преобразовать строку в карту YAML

В values.yaml у меня есть еще одна конфигурация yaml, закодированная в base64. В шаблоне я декодирую его с помощью

{{ $config := b64dec .Values.config }}

и мне нужно получить к нему доступ как к карте, поэтому нужен своего рода аналог файла AsConfig, но для строки.


person Nikolay    schedule 10.07.2020    source источник


Ответы (1)


Вы можете использовать fromYaml функцию Helm (не нашел никакой документации, кроме этой фиксации )

config.yaml, закодированный с помощью cat config.yaml | base64

xxx: yyy
zzz: qqq

values.yaml

config: eHh4OiB5eXkKenp6OiBxcXEK

secret.yaml

{{ $config :=  (b64dec .Values.config) | fromYaml  }}
apiVersion: v1
kind: Secret
metadata:
  name: secret
type: Opaque
data:
  test: {{  $config.xxx }}

шаблон шлема

/mnt/c/home/chart> helm template .
---
# Source: chart/templates/secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: secret
type: Opaque
data:
  test: yyy
person edbighead    schedule 10.07.2020
comment
Спасибо за ответ, работает. Я пробовал это раньше, и тогда я получил строку, должно быть, это была моя ошибка. В любом случае это лучшее решение, спасибо - person Nikolay; 13.07.2020