Dateien mit range über .Files.Glob durchlaufen
Generieren von ConfigMaps aus einem Dateiverzeichnis
Dateien mit range über .Files.Glob durchlaufen ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Dateien in einem Chart bündeln
Charts können neben Templates weitere Dateien enthalten. Das Objekt .Files ermöglicht Ihren Templates, diese gebündelten Dateien zu lesen.
Dateien mit Glob abgleichen
Die Methode .Files.Glob gibt die Dateien zurück, deren Pfade einem Muster entsprechen, etwa alle Dateien unter einem config-Verzeichnis.
{{ $files := .Files.Glob "configs/*.conf" }}Die Treffer durchlaufen
Verbinden Sie Glob mit range, um über jede passende Datei zu iterieren. Innerhalb der Schleife erhalten Sie deren Pfad und rohe Bytes.
{{ range $path, $bytes := .Files.Glob "configs/*" }}Eine ConfigMap erzeugen
Ein klassischer Anwendungsfall ist der Aufbau einer ConfigMap, deren Datenschlüssel Dateinamen und deren Werte die Dateiinhalte sind.
Die Abkürzung AsConfig
Für genau diesen Fall wandelt AsConfig ein Glob-Ergebnis direkt in einen einsatzbereiten Datenblock für eine ConfigMap um.
data: {{ (.Files.Glob "configs/*").AsConfig | nindent 2 }}Secrets mit AsSecrets
Das Gegenstück AsSecrets codiert jede Datei mit Base64, sodass ein Glob-Ergebnis stattdessen eine Secret-Ressource befüllen kann.
data: {{ (.Files.Glob "secret/*").AsSecrets | nindent 2 }}Den Basisnamen verwenden
Innerhalb einer Schleife benötigen Sie als Schlüssel oft nur den Dateinamen. Wenden Sie daher die Funktion base an, um den Verzeichnisteil zu entfernen.
{{ base $path }}: |Inhalte pro Datei lesen
Die Schleifenvariable besteht aus rohen Bytes. Leiten Sie sie daher durch toString oder nindent, um den Inhalt sauber unter seinem Schlüssel zu platzieren.
{{ $content | toString | nindent 4 }}Glob-Muster sind relativ
Glob-Muster werden relativ zum Chart-Root aufgelöst, und versteckte Dateien werden übersprungen. Bewahren Sie gebündelte Assets daher in eindeutig benannten Ordnern auf.
Eine gültige Ausgabe sicherstellen
Die Einrückung ist wichtig: Verwenden Sie für jeden Block nindent, damit die generierten Schlüssel und Inhalte korrekt unter data verschachtelt werden.
Eine einzelne Datei lesen
Wenn Sie nur eine Datei statt einer Gruppe benötigen, gibt .Files.Get ihren Inhalt direkt zurück, ganz ohne Schleife.
{{ .Files.Get "configs/app.conf" }}Kurztest
Kurztest zum Globbing von Dateien.
Zusammenfassung
Sie haben gelernt, gebündelte Dateien mit .Files.Glob auszuwählen, sie mit range zu durchlaufen und mit AsConfig oder AsSecrets ConfigMaps zu erzeugen. 🎉
Häufig gestellte Fragen
Ist die Lektion „Dateien mit range über .Files.Glob durchlaufen“ kostenlos?
Ja — der vollständige Text von „Dateien mit range über .Files.Glob durchlaufen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Dateien mit range über .Files.Glob durchlaufen“?
Generieren von ConfigMaps aus einem Dateiverzeichnis Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Dateien mit range über .Files.Glob durchlaufen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Tiefes Zusammenführen mit mergeOverwrite und dict
- tpl: Strings aus Values rendern
- Dateien mit range über .Files.Glob durchlaufen
- fail und benutzerdefinierte Validierungsprüfungen