Substitutionen

Konfigurationsdateien (cfg.yml, entities, values) können Platzhalter enthalten, die zur Laufzeit durch Variablen aus der Umgebung oder anderen Quellen ersetzt werden.

Syntax

Substitution


connectionInfo:
  host: ${db.host}

Substitution with default value


connectionInfo:
  host: ${db.host:-localhost}

Substitutionen in Werten

Substitutionswerte können selbst Platzhalter enthalten, diese werden ebenfalls ersetzt:


connectionInfo:
  host: ${db.host:-localhost:${db.port:-5432}}

Quellen

Umgebungsvariablen

Umgebungsvariablen sind die primäre Quelle für Substitutionen. Der Platzhaltername wird in Großbuchstaben umgewandelt und Punkte werden durch Unterstriche ersetzt. Der Platzhalter db.host in den obigen Beispielen würde also durch den Wert der Umgebungsvariable DB_HOST ersetzt.

cfg.yml

Eine sekundäre Quelle für Substitutionen sind cfg.yml-Dateien. Diese Substitutionen werden nur auf Entities und Values angewendet. Die Werte sind unter dem Schlüssel substitutions als verschachtelte Objektstruktur definiert. Ein Wert für den Platzhalter db.host würde also so definiert:


substitutions:
  db:
    host: other:5433