Zum Hauptinhalt springen

Befehle ausführen (exec)

Übersicht

exec ruft einen Eintrag aus Passwork ab, entschlüsselt die Werte und exportiert sie als Umgebungsvariablen. Anschließend wird der angegebene Befehl mit Zugriff auf diese Variablen ausgeführt.

Identifikation des Eintrags

Geben Sie einen oder mehrere Parameter mit Werten an:

ParameterBeschreibung
--password-idEintrags-ID (oder mehrere, kommagetrennt)
--folder-idOrdner-ID (oder mehrere, kommagetrennt)
--vault-idTresor-ID (oder mehrere, kommagetrennt)
--tagsTags für die Suche (kommagetrennt)

Funktionsweise

  1. Verbindet sich mit dem Server und authentifiziert sich.
  2. Sucht nach Einträgen anhand der Identifikationsparameter.
  3. Entschlüsselt die Werte (Passwort, benutzerdefinierte Felder).
  4. Erstellt Umgebungsvariablen: Der Variablenname entspricht dem Eintrags-/Feldnamen (Leerzeichen/Sonderzeichen werden durch _ ersetzt).
  5. Führt den Befehl aus; der Exit-Code des Befehls wird zurückgegeben.

Syntax

passwork-cli exec [parameters] command_to_execute

Oder mit --cmd:

passwork-cli exec [parameters] --cmd "command_to_execute"

Beispiele

Einen Datenbank-Client mit einem Passwort aus einem Eintrag ausführen:

export PASSWORK_HOST="https://passwork.example.com"
export PASSWORK_TOKEN="<access_token>"
export PASSWORK_MASTER_KEY="<master_key>"

passwork-cli exec --password-id "db_password_id" \
mysql -u admin -h localhost -p"$DB_PASSWORD" database_name

Mehrere Passwörter aus einem Ordner abrufen und ein Skript ausführen:

passwork-cli exec --folder-id "project_folder_id" ./deploy.sh

Befehl mit Pipes/Anführungszeichen (über --cmd):

passwork-cli exec --password-id "server_creds" \
--cmd "ssh user@server 'journalctl -u app | grep ERROR' > errors.log"

Suche nach Tags und Ausführung eines komplexen Szenarios:

passwork-cli exec \
--tags "production,api" \
./complex_deployment.sh

Hinweise

  • In den Umgebungsvariablen: der Hauptwert des Eintrags (Passwort) und zusätzliche Felder vom Typ Passwort.
  • Variablennamen werden normalisiert: Leerzeichen und Sonderzeichen werden durch _ ersetzt.
  • Für selbstsignierte Zertifikate verwenden Sie --no-ssl-verify.