Zum Inhalt springen
100% lokal

Helm Values Flattener

Glätten Sie eine values.yaml Datei zu Helm --set Pfaden oder setzen Sie Pfade wieder zu YAML zusammen.

Eingabe
Ausgabe

Helm Values Flattener

Fügen Sie die values.yaml eines Helm-Charts ein, und dieses Tool flacht jeden verschachtelten Schlüssel zu einem Punkt-Pfad mit seinem Wert ab, im Format a.b.c=value, das helm upgrade --set erwartet. Es ist der schnellste Weg, eine values Datei in eine Reihe von Override-Flags für eine CI-Pipeline, eine einmalige Installation oder einen Vergleich gegen die values anderer Umgebungen umzuwandeln — ohne die YAML-Struktur selbst von Hand durchzugehen.

Schalten Sie die Richtung um, um den umgekehrten Weg zu gehen: Fügen Sie eine Liste von path=value Paaren oder ein vollständiges --set a=1,b=2 Fragment aus einer Befehlszeile ein, und das Tool setzt sie wieder zu verschachtelter YAML zusammen. Die Array-Notation steuert, ob Array-Elemente als tags[0] (Klammer-Stil, der Helms eigener Syntax entspricht) oder als Punkt-Index wie tags.0 dargestellt werden; das Ausgabeformat wechselt zwischen einem Pfad pro Zeile und einem einzelnen --set Befehl-Fragment, das Sie nach helm install oder helm upgrade einfügen können.

Zwei Optionen behandeln die schwierigen Kanten von Helms --set Syntax. Punkte und Kommas in Werten mit Backslash maskieren escapet jeden Punkt oder jedes Komma innerhalb eines Wertes, da beide Zeichen in --set strukturell sind — ohne Maskierung würde ein Wert wie "1.2.3" oder "a,b" als verschachtelter Pfad oder zweites Flag fehlinterpretiert, und das Tool markiert diese Zeilen stattdessen, damit Sie sehen, welche Aufmerksamkeit benötigen. Leere und Null-Werte überspringen lässt leere Strings, null und leere Objekte oder Arrays aus der Ausgabe weg, was eine große Chart-Flag-Liste auf nur die Overrides reduziert, die zählen. Eine Pfad-Präfix-Option stellt ein festes Segment voran — nützlich, wenn die Werte zu einem Subdiagramm gehören und jedes Flag mit diesem Subdiagramm-Namen beginnen muss.

Alles läuft lokal in Ihrem Browser ab; die values Datei verlässt Ihr Gerät nie, was wichtig ist, wenn es interne Service-Namen, Ressourcen-Limits oder andere Konfigurationen enthält, die Sie nicht in einen Service von Drittanbietern einfügen möchten. Kopieren Sie das Ergebnis, laden Sie es als .txt Datei herunter, oder senden Sie die Ausgabe zurück in die Eingabe, um eine verschachtelte Teilmenge weiter zu glätten.

Häufige Fragen

Funktioniert dies mit allen values.yaml, nicht nur mit von Helm generierten?
Ja. Jedes wohlgeformte YAML-Dokument funktioniert — das Tool durchläuft einfach seine Struktur und flacht sie ab, daher funktioniert es auch mit normalen Konfigurationsdateien, die Sie in path=value Paare umwandeln möchten.
Was passiert mit Arrays, wenn ich flache?
Jedes Array-Element erhält seinen eigenen Pfad. Wählen Sie Klammer-Notation (tags[0]), um Helms eigene --set Syntax zu treffen, oder Punkt-Index-Notation (tags.0), wenn das besser zu Ihrer Pipeline passt.
Warum müsste ein Wert maskiert werden?
Helm --set behandelt "." als Pfad-Trennzeichen und "," als Flag-Trennzeichen. Ein Wert, der tatsächlich eines dieser Zeichen enthält — eine Versionszeichenkette wie "1.2.3" oder eine kommagetrennte Liste — muss diese Zeichen mit Backslash maskieren, sonst wird das Flag von Helm falsch interpretiert.
Kann ich eine flache Liste wieder in YAML rückgängig machen?
Ja. Schalten Sie die Richtungs-Option auf "Zurück zu YAML zusammensetzen" um und fügen Sie die path=value Paare ein — eine pro Zeile oder kommagetrennt — um die verschachtelte Struktur wieder aufzubauen, einschließlich Arrays.
Wird meine values Datei irgendwo hochgeladen?
Nein. Die Glättung und Zusammensetzung laufen beide vollständig in Ihrem Browser ab — Ihre YAML und ihre Werte verlassen niemals Ihr Gerät.