Werten Sie eine .pkl- oder .pcf-Datei direkt aus und geben Sie das gerenderte Ergebnis auf
stdout aus. So erzeugen Sie Anwendungskonfiguration, versorgen Deployment-Tools oder prüfen eine Konfiguration vor dem
Commit. Ein Elide-Projekt ist nicht erforderlich.
JSON oder YAML erzeugen
Beginnen Sie mit config.pkl:
service = "api"
port = 8080
Wählen Sie das Format, das Ihre Anwendung liest, und leiten Sie das Ergebnis in eine Datei um:
elide --format=json config.pkl > config.json
elide --format=yaml config.pkl > config.yaml
Die JSON-Ausgabe enthält service und port mit denselben Werten und Typen. Der explizite Befehl run funktioniert
ebenfalls:
elide run --format json config.pkl
.pkl- und .pcf-Eingaben akzeptieren dieselben Optionen. Wandeln Sie zum Beispiel eine bestehende PCF-Konfiguration
in JSON um:
elide --format=json config.pcf > config.json
Ein Ausgabeformat wählen
| Option | Ausgabe | Typische Verwendung |
|---|---|---|
--format=json | JSON | Anwendungseinstellungen und Tools, die JSON lesen |
--format=yaml | YAML | Deployment-Konfiguration |
--format=pcf | Pkl Configuration Format | Ausgewertete Konfiguration in Pkl-Notation prüfen |
Ohne --format | Die konfigurierte Ausgabe des Moduls; standardmäßig PCF | Die eigene Ausgabedefinition eines Moduls beachten |
TOML-Ausgabe wird nicht unterstützt. Ein nicht unterstütztes Format schlägt mit Exit-Code 2 fehl.
Konfiguration über Dateien hinweg teilen
Relative Importe werden von der Eingabedatei aus aufgelöst, sodass eine Konfiguration benachbarte Standardwerte auch dann
wiederverwenden kann, wenn sie aus einem anderen Verzeichnis aufgerufen wird. Legen Sie zum Beispiel defaults.pkl und
config.pkl gemeinsam unter config/ ab:
// defaults.pkl
port = 8080
// config.pkl
import "defaults.pkl"
service = "api"
port = defaults.port
Rendern Sie die Konfiguration aus der Wurzel des Repositorys mit:
elide --format=json config/config.pkl
Die Ausgabe in Skripten und CI verwenden
Stdout enthält nur das gerenderte Dokument; Diagnosen und Auswertungsfehler gehen nach stderr. Für Umleitungen oder
Pipelines ist kein --quiet nötig. Prüfen Sie zum Beispiel mit installiertem jq eine Eigenschaft:
elide --format=json config.pkl | jq '.port'
Das Projektmanifest wird genauso gerendert und zeigt so seine vollständig ausgewertete Konfiguration samt Standardwerten:
elide --format=json elide.pkl | jq '.dependencies'
Ein Auswertungsfehler endet mit Exit-Code 1 und schreibt keinen gerenderten Inhalt nach stdout. Um eine Datei atomar
zu aktualisieren, verwenden Sie --out statt einer Shell-Umleitung:
elide --format=json --out config.json config.pkl
--out config.json schreibt eine temporäre Datei in das Zielverzeichnis und ersetzt config.json erst atomar, wenn
Auswertung und Schreiben erfolgreich waren. Bei Fehlern bleibt die bestehende Datei unverändert, und der Exit-Code ist
ungleich null. Das Zielverzeichnis muss existieren und atomares Ersetzen unterstützen. Relative Pfade werden vom
Arbeitsverzeichnis aus aufgelöst.
Mit --out - wählen Sie ausdrücklich stdout:
elide --format=json --out - config.pkl
Die Dokumentdarstellung lehnt --sandbox und --limit ab; diese Ausführungssteuerungen gelten für diesen Befehl
nicht. Alle Befehlsoptionen finden Sie in der CLI-Referenz. Wie Sie eine README oder ein Runbook im
selben Terminal lesen, steht unter Markdown im Terminal.