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