Ir para o conteúdo
Totalmente local

Nivelador de valores Helm

Achate um ficheiro values.yaml em caminhos helm --set, ou recomponha caminhos de volta para YAML.

Entrada
Saída

Nivelador de valores Helm

Cole um ficheiro values.yaml de um gráfico Helm e esta ferramenta achata cada chave imbricada num caminho com ponto e seu valor, no formato a.b.c=value que helm upgrade --set espera. É a forma mais rápida de transformar um ficheiro de valores num conjunto de flags de substituição para um pipeline CI, uma instalação pontual, ou uma comparação com os valores de outro ambiente — sem ter de percorrer manualmente a árvore YAML.

Mude a direção para o outro sentido: cole uma lista de pares path=value, ou um fragmento completo --set a=1,b=2 copiado de uma linha de comando, e a ferramenta recompõe-os de volta para YAML imbricado. A notação de array controla se os itens da lista são renderizados como tags[0] (estilo com colchetes, correspondendo à sintaxe do próprio Helm) ou como um índice com ponto como tags.0; o formato de saída muda entre um caminho por linha e um fragmento de comando --set único pronto para colar após helm install ou helm upgrade.

Duas opções tratam dos aspetos mais delicados da sintaxe --set do Helm. Escapar pontos e vírgulas nos valores escape-barra qualquer "." ou "," literal dentro de um valor, já que ambos os caracteres são estruturais em --set — sem escaping, um valor como "1.2.3" ou "a,b" seria mal interpretado como um caminho imbricado ou um segundo flag, e a ferramenta marca essas linhas para que veja exatamente quais precisam de atenção. Ignorar valores vazios e nulos descarta strings em branco, null, e objetos ou arrays vazios da saída, o que reduz a lista de flags de um gráfico grande apenas aos overrides que importam. Uma opção de prefixo de caminho prepõe um segmento fixo — útil quando os valores pertencem a um subchart e cada flag precisa começar com o nome desse subchart.

Tudo executa localmente no seu browser; o ficheiro de valores nunca sai do seu dispositivo, o que importa quando contém nomes de serviços internos, limites de recursos ou outra configuração que não gostaria de colar num serviço de terceiros. Copie o resultado, descarregue-o como ficheiro .txt, ou envie a saída de volta para a entrada para achatar um subconjunto imbricado ainda mais.

FAQ

Isto funciona com qualquer values.yaml, não apenas os gerados por Helm?
Sim. Qualquer documento YAML bem-formado funciona — a ferramenta apenas percorre a sua estrutura e achata-a, portanto também lida com ficheiros de configuração normais que quer transformar em pares path=value.
O que acontece aos arrays quando achato?
Cada item do array obtém seu próprio caminho. Escolha notação com colchetes (tags[0]) para corresponder à sintaxe --set do próprio Helm, ou notação de índice com ponto (tags.0) se isso se adequar melhor ao seu pipeline.
Por que um valor precisaria de escaping?
Helm --set trata "." como um separador de caminho e "," como um separador de flag. Um valor que legitimamente contém um destes caracteres — uma string de versão como "1.2.3", ou uma lista separada por vírgulas — deve ter esses caracteres escape-barra, ou Helm irá mal interpretar o flag.
Posso fazer um round-trip de uma lista achatada de volta para YAML?
Sim. Mude a opção de direção para "Compor de volta para YAML" e cole os pares path=value — um por linha ou separados por vírgulas — para reconstruir a estrutura imbricada, incluindo arrays.
O ficheiro de valores é enviado para algum lado?
Não. O achatamento e a composição funcionam totalmente no seu browser — o seu ficheiro YAML e os seus valores nunca saem do seu dispositivo.