Saltar al contenido

Aplanador de valores Helm

Convierte un archivo values.yaml en rutas helm --set, o compone rutas nuevamente en YAML.

Entrada
Salida

Aplanador de valores Helm

Pega un archivo values.yaml de un gráfico Helm y esta herramienta aplana cada clave anidada en una ruta punteada con su valor, en el formato a.b.c=value que espera helm upgrade --set. Es la forma más rápida de convertir un archivo de valores en un conjunto de flags de anulación para un pipeline de CI, una instalación única o una comparación contra los valores de otro entorno — sin caminar por el árbol YAML.

Cambia la dirección para ir en la otra dirección: pega una lista de pares path=value, o un fragmento --set a=1,b=2 copiado de una línea de comandos, y la herramienta compone nuevamente la estructura YAML anidada. La notación de matrices controla si los elementos de la lista se renderizan como tags[0] (estilo de corchetes, coincidiendo con la propia sintaxis de Helm) o como un índice punteado como tags.0; el formato de salida alterna entre una ruta por línea y un fragmento de comando --set único listo para pegar después de helm install o helm upgrade.

Dos opciones manejan los bordes afilados de la sintaxis --set de Helm. Escapar puntos y comas en valores backslash-escapa cualquier "." o "," literal dentro de un valor, ya que ambos caracteres son estructurales en --set — sin escapado, un valor como "1.2.3" o "a,b" se leería erróneamente como una ruta anidada o un segundo flag, y la herramienta marca esas líneas para que veas cuáles necesitan atención. Saltar valores vacíos y nulos elimina strings en blanco, null, y objetos o matrices vacías de la salida, lo que mantiene la lista de flags solo a las sobrescrituras que importan. Una opción de prefijo de ruta antepone un segmento fijo — útil cuando los valores pertenecen a un subchart y cada flag comienza con ese nombre.

Todo se ejecuta localmente en tu navegador; el archivo de valores nunca sale de tu dispositivo, lo cual importa cuando contiene nombres de servicios internos, límites de recursos u otra configuración que no querrías pegar en un servicio de terceros. Copia el resultado, descárgalo como archivo .txt, o envía la salida nuevamente a la entrada para aplanar un subconjunto anidado aún más.

Preguntas frecuentes

¿Funciona esto con cualquier values.yaml, no solo los generados por Helm?
Sí. Cualquier documento YAML bien formado funciona — la herramienta simplemente camina su estructura y la aplana, por lo que también maneja archivos de configuración simples que deseas convertir en pares path=value.
¿Qué sucede con las matrices cuando aplano?
Cada elemento de la matriz obtiene su propia ruta. Elige notación de corchetes (tags[0]) para que coincida con la propia sintaxis --set de Helm, o notación de índice punteado (tags.0) si eso se adapta mejor a tu pipeline.
¿Por qué un valor necesitaría escapado?
Helm --set trata "." como separador de ruta y "," como separador de flags. Un valor que legítimamente contiene cualquiera de estos caracteres — una cadena de versión como "1.2.3", o una lista separada por comas — debe tener esos caracteres escapados con barra invertida, o Helm malinterpretará el flag.
¿Puedo un viaje de ida y vuelta con una lista aplanada nuevamente en YAML?
Sí. Cambia la opción de dirección a "Componer de vuelta a YAML" y pega los pares path=value — uno por línea o separados por comas — para reconstruir la estructura anidada, incluidas las matrices.
¿Mi archivo de valores se carga en algún lugar?
No. El aplano y la composición se ejecutan completamente en tu navegador — tu YAML y sus valores nunca salen de tu dispositivo.