El helm cli no parece admitir un valor que contenga una coma en el indicador de conjunto para la instalación o actualización.
$ helm install --set greeting='hello, world' .
Error: failed parsing --set data: key " world" has no value
Parece que el analizador está intentando buscar claves adicionales si encuentra una coma en el valor. Probé varias estrategias de citación o escape y todas parecen tener el mismo problema.
$ helm install --set greeting="hello, world" .
Error: failed parsing --set data: key " world" has no value
$ helm install --set "greeting=hello, world" .
Error: failed parsing --set data: key " world" has no value
$ helm install --set greeting=hello,\ world .
Error: failed parsing --set data: key " world" has no value
La solución es usar un archivo de valor en lugar del indicador establecido, pero para mi caso de uso de pasar archivos de configuración a mapas de configuración, es más fácil y más limpio administrar los archivos de configuración por separado y colocarlos en un indicador establecido que almacenarlos en una envoltura de yaml o construya esa envoltura sobre la marcha.
Funciona bien para mí con \,
.
><> helm template chart/draftd/ --set image.tag="hello\, world" | grep hello
image: "microsoft/draft:hello, world"
Esto se indica en la documentación en https://docs.helm.sh/using_helm/#the -format-and-limits-of-set, por lo que estoy cerrando esto como resuelto. Vuelva a abrir si esa solución no le funciona. ¡Gracias!
Hmm, podría haber jurado que intenté escapar de la coma, pero volví a verificar la versión 2.4.0 y funcionó en todas. Claramente estaba equivocado, mi mal.
Si alguien más se encuentra con esto a través de Google como lo hice yo, el enlace actualizado a los documentos para --set
en Helm 2 es: https://v2.helm.sh/docs/using_helm/#the -format-and -limitaciones-de-set
Comentario más útil
Funciona bien para mí con
\,
.