Структура управления#
Private Automation Hub используется для распространения коллекций Ansible и образов среды исполнения. Они необходимы для выполнения сценариев автоматизации с помощью различных средств Ansible, например, Automation Controller или Ansible Navigator.
Коллекции могут быть загружены из внешних источников (remotes) и с рабочих станций разработчиков. Образы среды исполнения могут быть загружены из внешних реестров (image registries) и с рабочих станций разработчиков.
Внешние источники коллекций#
Внешний источник коллекций – это сторонний сервер, реализующий определенный API для работы с коллекциями, например:
другие Private Automation Hub.
Репозитории#
Репозиторий ограничивает доступность хранящихся в нем версий коллекций для пользователей. В зависимости от настроек репозитория, размещенные в нем версии коллекций могут быть доступны следующим категориям пользователей:
только администраторы;
только авторизованные пользователи;
все пользователи.
Репозиторий может быть защищенным. Защищенные репозитории нельзя удалить, однако, можно изменить некоторые из их настроек.
Список защищенных репозиториев (в алфавитном порядке):
community
;published
;rejected
;rh-certified
;staging
;validated
.
Остальные репозитории создаются пользователями Private Automation Hub и могут быть удалены или изменены по их усмотрению.
Репозиторий может быть настроен на получение коллекций из внешнего источника. В этом случае для него становится доступна синхронизация.
Синхронизация#
Синхронизация – это процесс, в результате которого содержимое репозитория Private Automation Hub приводится в соответствие с содержимым связанного внешнего источника коллекций.
Синхронизация может выполняться в режиме Зеркало (Mirror). В этом случае Private Automation Hub выполняет с версиями коллекций следующие действия:
удаляет версии, отсутствующие в источнике;
загружает из внешнего источника версии, которых нет в репозитории;
отмечает как устаревшие версии, отмеченные как устаревшие в источнике;
отмечает как актуальные версии, отмеченные как актуальные в источнике.
Приватность#
По умолчанию содержимое репозиториев доступно для использования всем пользователям Private Automation Hub. Если отметить репозиторий как приватный, доступ к хранящимся в нем коллекциям будет только у пользователей, явно указанных в настройках репозитория.
Жизненный цикл коллекции#
Private Automation Hub позволяет гибко настроить жизненный цикл коллекций и их версий:
версии коллекций могут быть доступны пользователям сразу или после согласования;
версия коллекции может быть отмечена как устаревшая.
Жизненный цикл коллекции с учетом этапа согласования показан на схеме:
Версия коллекции загружается вручную разработчиком или автоматически самим Private Automation Hub при синхронизации с внешним источником коллекций. В обоих случаях версия коллекции помещается в репозиторий с меткой
pipeline: staging
.Версия коллекции проходит согласование.
Если версия коллекция согласована, она перемещается в соответствующий репозиторий с меткой
pipeline: approved
.Если версия коллекции отклонена, она перемещается в защищенный репозиторий
rejected
.Этап согласования пропускается, если у соответствующего репозитория установлена метка
pipeline: approved
.Независимо от того, в каком репозитории находится версия коллекции, она может быть отмечена как устаревшая. С устаревшей коллекции может быть снята отметка об устаревании.
Любая версия любой коллекции может быть удалена из Private Automation Hub.
Конвейер задач#
В настройках репозитория может быть задан конвейер задач – порядок публикации версии коллекции для пользователей:
Согласовано (Approved) – версия коллекции доступна пользователям сразу же после загрузки.
Промежуточный вариант (Staging) – версия коллекции не будет доступна пользователям до тех пор, пока не будет согласована.
Ничего (None) – версия коллекции размещается в защищенном репозитории
staging
.
Метки#
Метки управляют доступностью коллекций для пользователей.
pipeline: approved
– версии коллекций доступны пользователям.Эта метка назначается автоматически при выборе конвейера задач Согласовано (Approved).
pipeline: rejected
– версии коллекций недоступны пользователям, так как были отклонены при согласовании.Эта метка назначена защищенному репозиторию
rejected
и не может быть присвоена другим репозиториям.pipeline: staging
– версии коллекций недоступны пользователям и ожидают согласования.Эта метка присваивается автоматически при выборе конвейера задач Промежуточный вариант (Staging).
hide_from_search
– версии коллекции не выводятся в результатах поиска.Эта метка может быть присвоена при выборе конвейера задач Согласовано (Approved) или Ничего (None). При выборе конвейера задач Промежуточный вариант (Staging) эта метка присваивается автоматически.
Пространства имен#
Для удобства управления коллекциями и предотвращения коллизий названий в Private Automation Hub используются пространства имен.
Например, коллекции community.postgresql
и astra.postgresql
относятся к пространствам имен community
и astra
соответственно.
Требования к названию пространств имен:
длина не менее двух знаков;
может содержать буквы латинского алфавита, цифры и символ
_
;не может начинаться с символа
_
.
Образы среды исполнения#
Образы среды исполнения могут быть загружены в Private Automation Hub из других реестров образов или напрямую с рабочих станций разработчиков контента Ansible.