Skip to content

akaitux/admin-toolbox

Repository files navigation

Admin Toolbox

Создает изолированное окружение с необходимыми инструментами для работы с инфраструктурой.

При работе утилит используются конфигурационные файлы, которые находятся в рабочей директории проекта, в следствие чего не затрагиваются глобальные пользовательские настройки (можно использовать 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.

Также этот режим поддерживает 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>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published