Перейти к основному содержимому
Версия: 7.0

Выполнение команд (exec)

Описание

exec извлекает элемент из Пассворка, расшифровывает значения и экспортирует их в переменные окружения, после чего запускает указанную команду с доступом к этим переменным.

Идентификация записей

Указать один или несколько параметров с значениями:

ПараметрОписание
--password-idID элемента (или несколько через запятую)
--folder-idID папки (или несколько через запятую)
--vault-idID сейфа (или несколько через запятую)
--tagsТеги для поиска (через запятую)

Общие параметры

ПараметрОписание
--hostURL сервера Пассворк
--tokenТокен доступа
--refresh-tokenТокен обновления (опционально)
--master-keyМастер-ключ для расшифровки
--no-ssl-verifyОтключение проверки SSL-сертификата
--cmdЯвное указание shell-команды (нужно при пайпах/кавычках и спецсимволах)

Как это работает

  1. Подключение к серверу и аутентификация.
  2. Поиск записей по параметрам идентификации.
  3. Расшифровка значений (пароль, пользовательские поля).
  4. Формирование переменных окружения: имя переменной соответствует имени записи/поля (пробелы/символы заменяются на _).
  5. Запуск команды; код возврата команды возвращается наружу.

Синтаксис

passwork-cli exec [параметры] команда_для_выполнения

Либо с --cmd:

passwork-cli exec [параметры] --cmd "команда_для_выполнения"

Примеры

Запуск клиента БД с паролем из записи:

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

Получение нескольких паролей из папки и запуск скрипта:

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

Команда с пайпами/квотами (через --cmd):

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

Поиск по тегам и запуск комплексного сценария:

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

Примечания

  • В переменное окружение: основное значение записи (пароль) и дополнительные поля с типом пароль.
  • Имена переменных нормализуются: пробелы и спецсимволы заменяются на _.
  • Для самоподписанных сертификатов используйте --no-ssl-verify.