Zum Inhalt springen

Secrets

Ein Restorm-Projekt ist dafür gemacht, committet zu werden. Secrets dagegen dürfen dort niemals landen. Genau dafür gibt es den Variablentyp Secret: Die Variable speichert eine Referenz auf eine Quelle, niemals den Wert selbst.

Wählen Sie für eine Variable den Typ Secret und dann die Quelle. Die Projektdatei enthält danach nur noch die Kennung der Quelle und ihre Parameter. Der Wert wird im Hauptprozess, zum Zeitpunkt der Ausführung aufgelöst.

Zwei Umgebungsvariablen vom Typ Secret (petstore_auth_token, api_key): die Zelle trägt die Markierung $= sowie die Schaltflächen zum Aktualisieren, zum Bearbeiten der Abfrage und zum Sperren — neben einer Variablen vom Typ Text

Ein Secret bleibt aus der Anwendung heraus einsehbar: Der Umgebungs-Editor, die Ansichten mit aufgelöstem Wert, die interne Konsole und die Code-Schnipsel zeigen den Wert an. Es ist Ihr Secret, Sie kennen es bereits — der Typ Secret versucht nicht, es vor Ihnen zu verbergen.

Garantiert wird vielmehr, dass der Wert:

  • niemals in Dateien gelangt, die Ihren Rechner verlassen — er wird nicht in das Projekt .restorm geschrieben, also weder committet noch in ein Repository gepusht noch in einem Export mitgeführt;
  • nicht an einen nicht autorisierten Drittdienst übertragen wird — ausgehende Ziele laufen über die Firewall.

Liest eine Umgebungsvariable des Betriebssystems. Nur ein Parameter: der Name der Variablen.

Das ist die bevorzugte Quelle für Continuous Integration: Das Secret wird vom Tresor Ihrer CI injiziert, Restorm liest es nur.

Terminal-Fenster
export API_TOKEN=""
restorm --open projet.restorm --run "Tests" --headless

Liest — und schreibt — eine Datei restorm.env, die neben dem Projekt liegt. Das ist der lokale Modus: Die Datei bleibt auf Ihrem Rechner und gehört in die .gitignore.

Im Gegensatz zur vorigen Quelle ist diese beschreibbar: Sie können den Wert direkt aus Restorm eingeben, er wird in der Secrets-Datei gespeichert und nicht im Projekt.

Aufgelöste Werte werden zwischengespeichert. Nachdem Sie ein Secret von außen geändert haben (Rotation eines Tokens, Änderung der Datei .env), nutzen Sie Umgebung aktualisieren, um den Cache zu leeren und alle Quellen erneut zu lesen.

Restorm expurgiert Secrets aus dem, was es auf die Festplatte schreibt:

Die MCP-Werkzeuge hingegen erhalten den aufgelösten Wert, genau wie der Rest der Anwendung: Der Agent steuert Restorm in Ihrem Namen, mit Ihren eigenen Secrets. Die obigen Garantien bleiben unverändert — der Wert wird weder in das Projekt noch in einen Export geschrieben und geht nicht an einen nicht autorisierten Drittdienst.

  1. Fügen Sie restorm.env und *.responses.zip zu Ihrer .gitignore hinzu.
  2. Verwenden Sie in der CI envVar statt der Secrets-Datei.
  3. Das Passwort eines nativen Protokolls (MQTT, AMQP, Redis, Kafka) akzeptiert ebenfalls einen Wert vom Typ Secret — schreiben Sie diese Passwörter nicht im Klartext in die Anfrage.