Коллекции#
Private Automation Hub предъявляет к коллекциям следующие требования:
Название:
длина не менее двух знаков;
может содержать буквы латинского алфавита, цифры и символ
_;не может начинаться с символа
_.
Коллекция должна иметь определенную структуру файлов и каталогов (см. ниже).
К коду коллекций, хранящихся в репозиториях Git, предъявляются следующие требования:
Номера версий должны указываться в тегах.
Тег должен содержать номер версии, например,
1.0.1.Тег может содержать префикс
v, например,v1.0.1.
Структура коллекции#
В составе коллекции могут быть следующие файлы и каталоги:
meta/Каталог с файлами, содержащими служебную информацию о коллекции, используемую утилитой
ansible-galaxy.plugins/Опциональный каталог, содержащий расширения, необходимые для работы коллекции.
roles/Каталог с подкаталогами ролей. Подробности см. в секции Структура роли.
tests/Каталог с файлами автоматических тестов для коллекции. Файлы этого каталога могут быть полезны при изучении особенностей использования коллекции и подготовке окружения для работы с ней.
CHANGELOG.mdФайл с историей изменений между версиями.
LICENSEФайл лицензии, под которой распространяется код коллекции.
README.mdОписание коллекции, включающее в себя:
Предназначение коллекции.
Требования к окружению.
Список поддерживаемых операционных систем.
Порядок описания коллекции в файле зависимостей Ansible и способ установки.
Список ролей.
Порядок запуска автоматических тестов.
Тип лицензии, под которой распространяется код коллекции.
Информация об авторских правах.
galaxy.ymlСведения о коллекции, используемые утилитой
ansible-galaxy, в том числе номер актуальной версии коллекции.Образец galaxy.yml#--- namespace: astra name: ald_pro version: 1.0.0 description: Collection for ALD Pro deployment readme: README.md authors: - LLC "RusBITech-Astra" dependencies: "freeipa.ansible_freeipa": "1.10.0" "ansible.utils": "3.0.0" tags: - astra - ald_pro repository: https://hub.astra-automation.ru/aa-gca/ARFA/ald_pro documentation: https://hub.astra-automation.ru/aa-gca/ARFA/ald_pro/-/blob/master/README.md
Здесь:
astra– название пространства имен.ald_pro– название коллекции.version– номер версии коллекции.description– краткое описание коллекции.readme– путь к файлуREADME, содержащему подробное описание коллекции.authors– список авторов коллекции.dependencies– зависимости, необходимые для использования коллекции.tags– список тегов, по которым можно найти коллекцию среди множества других.repository– ссылка на репозиторий с исходным кодом коллекции.documentation– ссылка на документацию коллекции.
requirements_ansible.ymlЗависимости Ansible, необходимые для использования коллекции.
Структура роли#
Для использования в Private Automation Hub роли Ansible должны быть включены в состав коллекции.
В составе роли могут быть следующие файлы и каталоги:
defaults/Каталог с файлами, содержащими значения по умолчанию для переменных роли.
files/Каталог с вспомогательными файлами, используемыми ролью, например, шаблоны HTML-страниц, изображения и т. д. При выполнении роли файлы из этого каталога копируются на управляемые узлы.
handlers/Каталог с файлами обработчиков, выполняемых при использовании роли.
meta/Каталог с файлами, содержащими служебную информацию о роли, используемую утилитой
ansible-galaxy.tasks/Каталог с файлами, выполняющимися при использовании роли.
templates/Каталог с шаблонами формата Jinja 2.
vars/Каталог с файлами, содержащими список переменных роли. Каждая роль содержит список переменных, позволяющих управлять настройками соответствующего ПО.
LICENSEФайл лицензии, под которой распространяется код роли.
README.mdОписание роли, включающее в себя:
Предназначение роли.
Требования к окружению.
Список переменных роли.
Переменные роли делятся на обязательные и опциональные. Для опциональных переменных, значения которых не заданы, будут использованы значения по умолчанию.
Предупреждение
Значения обязательных переменных должны быть явно заданы в playbook или используемом им файле с переменными.
Примеры использования.
Порядок запуска автоматических тестов.
Тип лицензии, под которой распространяется код роли.
Информация об авторских правах.
Список поддерживаемых операционных систем.