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.