es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Crear una función auxiliar de chart de Helm utilizando otra función auxiliar.

Estoy intentando hacer otra función auxiliar que use una función auxiliar existente, pero parece que no funciona.

Tengo la siguiente función en el archivo _helpers.tpl:

{{- define “redis.fullname” -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 30 | trimSuffix “-” -}}
{{- else -}}
{{- printf “%s-%s” .Release.Name .Chart.Name | trunc 30 | trimSuffix “-” -}}
{{- end -}}
{{- end -}}

Ahora estoy tratando de agregar otra función para construir una cadena de conexión para Redis usando la función anterior:

{{- define “redis.connection_string” -}}
{{- printf “redis://%s:%s/” include “redis.fullname” .Value.port -}} # Esta línea es importante. ¿Podemos usar la función anterior así?
{{- end -}}

Y este es el contenido final de mi archivo _helpers.tpl:

{{- define “redis.fullname” -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 30 | trimSuffix “-” -}}
{{- else -}}
{{- printf “%s-%s” .Release.Name .Chart.Name | trunc 30 | trimSuffix “-” -}}
{{- end -}}
{{- end -}}

{{- define “redis.connection_string” -}}
{{- printf “redis://%s:%s/” include “redis.fullname” .Value.port -}}
{{- end -}}

GO y Helm son nuevos para mí, por lo que no puedo encontrar la sintaxis correcta e incluso si es posible. (¿Así es como escribimos 2 funciones en el mismo archivo de ayuda?) ¿Alguien puede ayudarme aquí?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que puede haber algunos errores de sintaxis en su archivo _helpers.tpl. Aquí hay algunos problemas potenciales:

    • No debería haber espacios entre la llave de apertura y la palabra clave “define”. Debería verse como “{{- define “redis.connection_string” -}}”
    • En la segunda función, parece que falta la palabra clave “include” antes de “redis.fullname”
    • No debe haber un espacio entre “{{” y “-” al cerrar la segunda función. Debería verse como “{{- end -}}”

    Suponiendo que se corrigieron estos errores de sintaxis, la segunda función debería poder usar la primera función llamándola con la palabra clave “include”. Esto es lo que debería verse en el archivo _helpers.tpl actualizado:

    {{- define "redis.fullname" -}}
    {{- if .Values.fullnameOverride -}}
    {{- .Values.fullnameOverride | trunc 30 | trimSuffix "-" -}}
    {{- else -}}
    {{- printf "%s-%s" .Release.Name .Chart.Name | trunc 30 | trimSuffix "-" -}}
    {{- end -}}
    {{- end -}}
    
    
    {{- define "redis.connection_string" -}}
    {{- printf "redis://%s:%s/" (include "redis.fullname") .Values.port -}}
    {{- end -}}
    

    ¡Espero que esto ayude!

Comments are closed.