Настройка доступа к Automation Hub#

Доступ к содержимому Automation Hub осуществляется по токену. Токен требуется как для получения коллекций и образов среды исполнения из Automation Hub, так и для настройки клиента ansible-galaxy на установку коллекций напрямую из реестра.

Получение токена#

Для создания токена выполните следующие действия:

  1. Авторизуйтесь на портале Automation Hub.

  2. На панели навигации выберите Коллекции ‣ Токен API (Collections ‣ API Token).

  3. Нажмите кнопку Загрузить токен (Load token).

  4. Используйте показанный на странице токен для выполнения следующих операций:

    Важно

    Период действия токена – один год. По истечении указанного времени его необходимо будет создать заново.

    При создании нового токена предыдущий перестает действовать немедленно.

Настройка клиента ansible-galaxy#

Клиент ansible-galaxy обращается к реестру Automation Hub по протоколу HTTPS и авторизуется по токену. Для установки коллекций напрямую из Automation Hub настройте клиент одним из описанных далее способов.

Файл ansible.cfg#

В каталоге проекта создайте файл ansible.cfg, описав в нем реестр Automation Hub:

ansible.cfg#
[galaxy]
server_list = astra_hub

[galaxy_server.astra_hub]
url = https://hub.astra-automation.ru/api/galaxy/content/validated/
token = <token>

Здесь:

  • server_list – список условных названий реестров, из которых загружаются коллекции. Он заменяет список реестров по умолчанию, поэтому для установки коллекций из Ansible Galaxy добавьте в него соответствующий сервер и опишите его отдельной секцией.

  • astra_hub – условное название реестра Automation Hub, указанное в параметре server_list и в названии секции [galaxy_server.astra_hub].

  • url – URL репозитория коллекций Automation Hub. Репозиторий validated содержит проверенные коллекции ПАО Группа Астра и ее партнеров.

    Важно

    URL репозитория должен завершаться символом /.

  • <token> – значение токена для доступа к Automation Hub.

Совет

При установке коллекций в среде исполнения командой ansible-navigator exec (см. применение коллекций) разместите файл ansible.cfg в каталоге проекта рядом с файлом requirements.yml – этот каталог доступен внутри среды исполнения.

Переменные окружения#

Параметры сервера можно задать переменными окружения вместо файла ansible.cfg. Этот способ удобен, когда токен нежелательно хранить в файле проекта, например в конвейере CI:

export ANSIBLE_GALAXY_SERVER_LIST=astra_hub
export ANSIBLE_GALAXY_SERVER_ASTRA_HUB_URL=https://hub.astra-automation.ru/api/galaxy/content/validated/
export ANSIBLE_GALAXY_SERVER_ASTRA_HUB_TOKEN=<token>

Название переменной с параметром сервера формируется по шаблону ANSIBLE_GALAXY_SERVER_<NAME>_<PARAMETER>. Здесь:

  • <NAME> – условное название сервера, набранное в верхнем регистре.

  • <PARAMETER> – название параметра, например URL или TOKEN.

Например, для сервера astra_hub токен задается переменной ANSIBLE_GALAXY_SERVER_ASTRA_HUB_TOKEN.