API и интеграции
Docker-контейнер для CLI
12min
описание в директории /docker содержится конфигурация docker для запуска пассворка cli в контейнеризированной среде это полезно для ci/cd пайплайнов в системах непрерывной интеграции получение склонировать python коннектор с github, в котором расположена docker директория ssh git clone git\@github com\ passwork me/passwork python git https git clone https //github com/passwork me/passwork python git перейти в docker директорию shell cd /passwork python/docker/ сборка docker образа shell docker build t passwork cli использование docker контейнера базовое использование запустить passwork cli контейнер, передав учетные данные пассворка через переменное окружения shell docker run it rm \\ e passwork host="https //your passwork instance com" \\ e passwork token="your access token" \\ e passwork master key="your master key" \\ passwork cli exec password id "password id" env использование с docker compose скопировать и изменить имя файла на docker compose yml на основе примера shell # при необходимости можно отредактировать docker compose yml cp docker compose example yml docker compose yml скопировать и изменить имя файла на env на основе примера shell # указать свои учетные данные в env cp env example env запустить с помощью docker compose shell docker compose run rm passwork cli exec password id "password id" env пример вывода shell docker compose run rm passwork cli exec password id "67ff59139b0d5d96310084c5" env warn\[0000] /opt/passwork python connector/docker/docker compose yaml the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion hostname=d6ec78fda6e0 home=/home/passwork gpg key=a035c8c19219ba821ecea86b64e628f8d684696d python sha256=849da87af4df137710c1796e276a955f7a85c9f971081067c8f565d15c352a09 passwork refresh token=yt7ldssd4qjzqczikk/3dgdqynwb2erodwn3aovd14e= passwork token=lzs8abjoa3wlve+bqvzxhufsqlc7xmxkip+9hmu+800= term=xterm path=/usr/local/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin lang=c utf 8 passwork host=https //passwork example com passwork master key=1lzymbmt8mqyj1cdcyizhdzlhgyejvbmauoohb1yyxujnlidbdvgk8h4mwksaxhzvqzys9drsrzoofbdvs5wbq== python version=3 11 12 pwd=/app mongodb password=p\@ssw0rd примеры получение пароля и использование в команде shell docker run it rm \\ e passwork host="https //your passwork com" \\ e passwork token="your token" \\ e passwork master key="your master key" \\ passwork cli exec password id "db password id" mysql h db host u admin p "$db password" db name если клиентское шифрование не используется, необходимо удалить строку — e passwork master key="your master key" \\ прямой вызов к api shell docker run it rm \\ e passwork host="https //your passwork com" \\ e passwork token="your token" \\ e passwork master key="your master key" \\ passwork cli api method get endpoint "v1/vaults" если клиентское шифрование не используется, необходимо удалить строку — e passwork master key="your master key" \\ использование в bitbucket pipelines добавить в bitbucket pipelines yml следующий блок shell pipelines default \ step name deploy with passwork credentials image passwork cli script \ passwork cli exec password id "deploy credentials" /deploy sh services \ docker caches \ docker также можно использовать docker образ напрямую из реестра контейнеров shell pipelines default \ step name deploy with passwork credentials image your registry com/passwork cli\ latest script \ passwork cli exec password id "deploy credentials" /deploy sh соображения безопасности docker образ работает от имени не root пользователя , что повышает уровень безопасности; необходимо использовать безопасные переменные окружения в ci/cd пайплайнах для хранения учетных данных