Создает изолированное окружение с необходимыми инструментами для работы с инфраструктурой.
При работе утилит используются конфигурационные файлы, которые находятся в рабочей директории проекта, в следствие чего не затрагиваются глобальные пользовательские настройки (можно использовать ansible с разными конфигурациями, аутентификация kubectl не затрагивает ~/.kube/config и т.д.).
Установка производится в отдельный каталог, никак не затрагивает существующие файлы и настройки.
Для установки требуется запустить ./install.py -n <toolbox_name> -w <toolbox_path> -c <toolbox_config>
Для примера: ./install.py -n toolbox -w ~/.admin-toolbox -c my-config.json
В .zshrc или .bashrc следует добавить:
alias toolbox="source ~/.admin-toolbox/activate"
После:
source ~/.zshrc
toolbox
vault-login <username>
- логин в vault
vault-logout
$ans
- переменная окружения, которая ведет в директорию с ansible
deactivate
- выход из окружения
Конфигурация осуществляется через json файл. Пример в default.json
.
По-умолчанию устанавливается в ~/.admin-toolbox
, доступно указание другой рабочей директории через флаг -w
.
Работает аналогично python env окружениям, после запуска activate
появляется доступ ко всем нужным программам и становятся доступными некоторые команды (через подмену переменных окружения, в т.ч. PATH). При deactivate
старые переменные окружения возвращаются.
Секция нужна для использования особенной для данного окружения конфигурации ssh.
Также этот режим поддерживает ssh-agent для этого окружения с загрузкой ключей из нужного хоста.
Для добавления своего конфига требуется создать файл с тем же именем, что и файл конфигурации, но с расширением .ssh
. Напр. если конфиг my-config.json
, то файл с ssh конфигурацией должен быть my-config.ssh
.
Если в этих дополнительных настройках требуется использовать ключ из ssh-agent, то следует в секции добавить IdentityAgent <IDENTITY_AGENT>
:
Host some_host
User toor
Host some_git
User git
Hostname some.hostname
HOST *
User toor
IdentityAgent <IDENTITY_AGENT>