//Cloudogu EcoSystem Docs

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/exclude in dem Feld valuesYamlOverwrite ein
  • 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, oder official/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
*.log

Schließ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.log

Schließ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.