Wpis z mikrobloga

Mirki mam problem z konfiguracją deploymentu (helm, kubernetes):
schemat ładowania zmiennych do deployment.yaml wygląda tak:
deployment.yaml -> configmap.yaml -> values.yaml

w configmapie mam taki wpis (do node'a):
NODETLSREJECTUNAUTHORIZEDVALUE: {{ .Values.TOKEN.NODETLSREJECTUNAUTHORIZEDVALUE }}

a w values.develop.yaml (ustawiony w argo):
TOKEN:
NODETLSREJECTUNAUTHORIZEDVALUE: "0"

resztę (nieistotnych) ustawień wyciąłem.

Problem jest taki, że gdy parametr NODETLSREJECTUNAUTHORIZEDVALUE ustawiam z poziomu values.develop.yaml to argo wali mi błędem:

"" is invalid: patch: Invalid value: "map[data:map[NODETLSREJECTUNAUTHORIZEDVALUE:0] metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"v1\",\"data\":--nieistotne fragmenty konfiguracji --]": cannot convert int64 to string

A jak wartość "0" wrzucę bezpośrednio do configmapy to śmiga.

Działa dopiero:
NODETLSREJECTUNAUTHORIZEDVALUE: \"0\"

Z czego to wynika i czy jest to prawidłowe zachowanie? Jak ewentualnie zrobić to poprawnie, zgodnie ze sztuką?

#naukaprogramowania #programista15k #programowanie #deployment #kubernetes #argocd
  • 2
@Generyczny_nick: odpowiem sobie sam:
w plikach konfiguracyjnych values.yaml (bądź tych przygotowanych per środowisko) wrzucamy zmienne w klasycznej postaci np:
nodetlsrejectunauthorizedvalue: '0'
a w configmapie:
NODETLSREJECTUNAUTHORIZEDVALUE: '{{ .Values.token.nodetlsrejectunauthorizedvalue }}'

Nie sądziłem, że całe to odniesienie do wartości z values.yaml w postaci {{ .Values.token... można umieścić między znakami ' '