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