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.

Cómo obtener valores en helmfile

bases:
  - common.yaml

releases:
  - name: controller
    values:
      - values/controller-values.yaml
    hooks:
      - events: [ "presync" ]
      ....
      - events: [ "postsync" ]
      .....
common.yaml 

environments:
default:
values:
– values/common-values.yaml


```yaml common-values

a:b


Quiero mover los valores de los hooks a un archivo. Cuando los añadí a common.values funcionó, pero quiero añadirlos a diferentes archivos y no en el archivo common, por lo que intenté añadir una base: ```yaml bases: - common.yaml - hooks.yaml </code></pre> <pre><code class="language-yaml">releases: - name: controller values: - values/controller-values.yaml hooks: {{ toYaml .Values.hooks | indent 6 }} </code></pre> <pre><code class="language-yaml">hooks.yaml </code></pre> environments: default: values: - values/hooks-values.yaml <pre><code>hooks-values.yaml </code></pre> hooks: - events: [ "presync" ] .... - events: [ "postsync" ] .... <pre><code><br />Pero obtuve un error de análisis: template: stringTemplate:21:21: ejecutando "stringTemplate" en .Values.hooks: el mapa no tiene una entrada para la clave "hooks". También intenté cambiarlo por: ```yaml hooks: - values/hooks-values.yaml

Y obtuve un error. Línea 22: no se puede deserializar !!str “values/…” en event.Hook.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para agregar los valores de los hooks a un archivo separado, puedes crear un archivo base separado para los hooks y hacer referencia a él en el archivo principal helmfile.yaml.

    Por ejemplo, puedes crear un nuevo archivo llamado “hooks.yaml” y agregar el siguiente contenido:

    environments:
      default:
        values:
          - values/hooks-values.yaml
    

    En hooks-values.yaml, puedes agregar los valores de los hooks:

    hooks:
      - events: [ "presync" ]
        ....
      - events: [ "postsync" ]
        ....
    

    Luego, en el archivo principal helmfile.yaml, puedes hacer referencia al archivo base de los hooks e incluir los valores de los hooks en la sección de releases:

    bases:
      - common.yaml
      - hooks.yaml
    
    releases:
      - name: controller
        values:
          - values/controller-values.yaml
        hooks:
          {{- include "hooks.hooks" . | nindent 4 }}
    

    Esto incluirá los valores de los hooks del archivo base de los hooks en el release del controller.

    Ten en cuenta que la sección hooks en el archivo principal helmfile.yaml debe hacer referencia a la clave hooks.hooks en el archivo base de los hooks y no incluir directamente el archivo de valores.

Comments are closed.