//Cloudogu EcoSystem Docs

Dogu-Konfiguration

Benutzerdefinierte Konfigurationseinstellungen werden in der Registry (etcd) des Cloudogu EcoSystems gespeichert. Es gibt zwei Schlüssel, die für ein Dogu relevant sind:

  • /config/nameOfDogu (dogu-spezifische Einstellungen)
  • /config/_global (globale Einstellungen)

Verwendung

Ein dogu kann diese Einstellungen z.B. mit dem doguctl-Kommandozeilen-Utility abrufen:

# Lesen der Einstellung test aus /config/conf-dogu/title
doguctl config title

# lese verschlüsselte Einstellung secret aus /config/conf-dogu/secret
doguctl config -e secret

# lese globale Einstellung admin_group aus /config/_global/admin_group
doguctl config -g admin_group

Validierung

Ab Version 0.14 ist die cesapp in der Lage, diese Einstellungen zu validieren, wenn die dogu einen Konfigurationsabschnitt in der dogu.json definiert, z.B.:

{
  "Name": "sample/conf-dogu",
  "Version": "0.1.0",
  "DisplayName": "Conf Dogu",
  "Description": "Dogu mit Konfiguration",
  "Image": "registry.cloudogu.com/sample/conf-dogu",
  "URL": "https://cloudogu.com",
  "Configuration": [{
    "Name": "title",
    "Description": "Titel der Index-Seite"
  }, {
    "Name": "secret",
    "Description": "Verschlüsseltes Secret",
    "Encrypted": true
  }, {
    "Name": "body",
    "Description": "Inhalt der Index-Seite",
    "Optional": true
  }]
}

Die cesapp gibt einen Fehler aus, wenn eine erforderliche Einstellung in der Registry fehlt. Erforderliche Einstellungen sind alle Einstellungen, die nicht explizit als optional gekennzeichnet sind (wie title und secret im obigen Beispiel).

Bearbeiten

Die Einstellungen einer dogu können mit dem Unterbefehl edit-config der cesapp geändert oder erstellt werden. Der Befehl kann verwendet werden mit entweder

  • einem Pfad zu einer dogu.json
  • dem Namen eines installierten dogus
  • einem Remote-Namen

Beispiele:

# Einstellungen einer lokalen dogu.json bearbeiten, die sich in /vagrant/containers/conf-dogu befindet
cesapp edit-config /vagrant/containers/conf-dogu

# Einstellungen der lokalen /vagrant/containers/conf-dogu/dogu.json bearbeiten
cesapp edit-config /vagrant/containers/conf-dogu/dogu.json

# Einstellungen eines entfernten json bearbeiten
cesapp edit-config sample/conf-dogu

# Einstellungen eines installierten dogu bearbeiten
cesapp edit-config conf-dogu

Entfernen einer Einstellung

Standardmäßig können Einstellungen nur geändert, aber nicht entfernt werden. Für den Fall, dass Sie eine Einstellung explizit aus der Registry entfernen wollen, muss der Unterbefehl edit-config mit dem delete-on-empty und einem leeren Wert verwendet werden.

bash cesapp edit-config --delete-on-empty conf-dogu

Wenn nun der eingegebene Konfigurationswert leer ist, wird die Einstellung aus der Registry entfernt.