Estoy usando el siguiente archivo de helm
apiVersion: v1 kind: ConfigMap metadata: name: nginx-cfg data: default.conf: |- {{ .Files.Get "config/nginx.conf" | nindent 4 }}y obtuve el siguiente error:
Error: error de análisis de YAML en ops/templates/config/nginx.conf: error al convertir YAML a JSON: yaml: línea 4: los valores de asignación no están permitidos en este contexto
El archivo nginx se parece a lo siguiente
nginx.conf
server { listen 80; listen [::]:80; server_name: {{ print "kiftb." .Values.global.host | quote }} // this is the error line ... La línea con el nombre del sever_name crea el error.
¿Alguna idea de cómo solucionarlo?
actualizar
Como sugirió @Evan, intenté eliminar el colon,
server_name {{ print "kiftb." .Values.global.host | quote }}Y tengo un error:
error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go value of type releaseutil.SimpleHead helm.go:81: [debug] error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go value of type releaseutil.SimpleHead¿Alguna idea de cómo superar esto? Hay algún trabajo alrededor ?
Intente eliminar los dos puntos después de server_name .
server_name {{ print "kiftb." .Values.global.host | quote }}...
Parece que pusiste el archivo conf en una ruta incorrecta. Helm maneja todos los archivos dentro ${chart_path}/templates/ como archivos de plantilla o tpl, que deben estar compuestos en un archivo YAML. Entonces, básicamente, se enfrenta al problema de que helm está tratando de analizar ops/templates/config/nginx.conf como un archivo de plantilla, y definitivamente fallará. La solución sería: mueva su archivo conf fuera de la ruta ops/templates , use ops/config/nginx.conf estaría bien, e incluso no necesita cambiar nada en su secuencia de comandos configmap, funcionará.