Daten von der Migration ausschließen
In bestimmten Konstellationen kann es sinnvoll sein, manuell angelegte Konfigurationen von der Migration auszuschließen, da sie für CES-MN-Instanzen unnötig sind. Dies können z.B. selbst erstellte Skripte, oder andere Daten in den Volumes der Dogus sein, die nicht migriert werden sollen.
Konfiguration im CES-Importer
Die auszuschließenden Dateien müssen im CES-Importer auf der Ziel-Instanz konfiguriert werden. Für jedes Dogu, können Dateien als Muster (Pattern) angegeben werden, die nicht migriert werden sollen. Dies wird in der Custom-Resource der CES-Komponente ("Component-CR") des CES-Importer konfiguriert:
-
Editieren Sie die "Component-CR" des CES-Importers:
kubectl edit component ces-importer -n ecosystem - Tragen Sie eine Liste von Exclude-Pattern für die gewünschten Dogus unter
config/job/excludein dem FeldvaluesYamlOverwriteein -
Beispiel:
apiVersion: k8s.cloudogu.com/v1 kind: Component metadata: name: ces-importer namespace: ecosystem spec: name: ces-importer namespace: k8s version: 1.0.0 valuesYamlOverwrite: | config: job: exclude: - dogu: "official/jenkins" pattern: - "subdir/*.groovy" - "*.tmp" - dogu: "official/nexus" pattern: - "/tmp/" - Speichern Sie die Änderungen an der Component-CR
-
Starten Sie den CES-Importer neu:
kubectl rollout restart deployment/ces-importer -n ecosystem
Hinweis: Für jedes Dogu können mehrere Exclude-Pattern angegeben werden. Als Dogu-Name muss der erweiterte Name mit dem Namespace verwendet werden. Zum Beispiel
official/jenkins, oderofficial/nexus.
Exclude-Pattern
Das Muster zum Ausschließen von Dateien ("Exclude-Pattern") kann Platzhalter (Wildcards) enthalten, um möglichst flexibel angewendet zu werden: Die folgenden Beispiele zeigen die verschiedenen Möglichkeiten auf:
Ein einzelnes Verzeichnis ausschließen
/tmp/Schließt das Verzeichnis /tmp/ aus. Alle Dateien und Unterverzeichnisse in /tmp/ werden nicht migriert.
Alle Dateien mit einer bestimmten Dateiendung ausschließen
*.logSchließt alle Dateien mit der Endung .log aus, unabhängig davon, in welchem Verzeichnis sie liegen.
Eine bestimmte Datei in einem Verzeichnnis ausschließen
/logs/error.logSchließt nur die Datei error.log im Verzeichnis logs aus, nicht jedoch gleichnamige Dateien in anderen Verzeichnissen.
Ausschluss basierend auf einem Teilpfad
**/node_modules/Schließt jedes node_modules-Verzeichnis aus – rekursiv und unabhängig davon, wie tief es im Pfad liegt.