Утилита ansible-galaxy#
Описание#
ansible-galaxy - утилита, предназначенная для выполнения различных операций, связанных с ролями, сбором данных и коллекциями Ansible Core.
Синтаксис утилиты:
ansible-galaxy <options> <type action> ...
Где:
<options>- опции;<type action>- тип ресурса и соответствующее действие.
Настройка утилиты производится с помощью конфигурационного файла /etc/ansible/ansible.cfg, используемого при наличии, и файла конфигурации пользователя ~/.ansible.cfg, переопределяющего конфигурацию по умолчанию, если она присутствует, описанных в разделе «Конфигурационные файлы ansible.cfg».
Опции#
Опции утилиты представлены в таблице ниже.
Опция |
Описание |
|---|---|
|
Показать номер версии утилиты, расположение конфигурационного файла, путь поиска модулей, расположение модуля, расположение исполняемого файла и выйти |
|
Показать справочное сообщение и выйти |
|
Заставить Ansible Core выводить больше отладочных сообщений; увеличение количества |
Типы ресурсов и действия#
В зависимости от типа ресурса, с которым необходимо работать, для утилиты могут быть заданы различные действия. Задаваемые типы ресурсов:
role- роли;collection- коллекции.
Примечание
В командах, передаваемых утилите, указанные типы ресурсов всегда должны сочетаться с соответствующими действиями, таким как delete/install/init и проч. Команда с указанием только role/collection не будет выполнена.
Действия для типа ресурсов role#
Действие role init#
Создает скелет роли или коллекции, соответствующий формату метаданных Galaxy. Требуется имя роли или коллекции. Имя коллекции должно быть в формате <namespace>.<collection>.
Опции действия представлены в таблице ниже.
Опция |
Описание |
|---|---|
|
Указать путь, по которому будет создан скелет роли; по умолчанию используется текущий рабочий каталог |
|
Не запрашивать API Galaxy при создании ролей |
|
Указать путь к скелету роли, на основе которого должна быть создана новая роль |
|
Установить время ожидания для операций с сервером Galaxy; по умолчанию 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Инициализировать с использованием альтернативного типа роли; допустимые типы: |
|
Игнорировать ошибки проверки SSL-сертификатов |
|
Установить дополнительные переменные в формате «ключ=значение» или YAML/JSON, если имя файла начинается с |
|
Принудительно перезаписать существующую роль или коллекцию |
|
Указать URL сервера API Galaxy |
Действие role remove#
Удаляет список ролей, переданных в качестве аргументов из локальной системы.
Опции действия представлены в таблице ниже.
Опция |
Описание |
|---|---|
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Указать путь к каталогу, содержащему пользовательские роли; по умолчанию используется первый доступный для записи каталог, настроенный с помощью |
|
Указать URL-адрес сервера Galaxy API |
Действие role delete#
Удаляет роли из Ansible Galaxy.
Опция |
Описание |
|---|---|
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Указать URL-адрес сервера Galaxy API |
Действие role list#
Выводит список установленных коллекций или ролей.
Опция |
Описание |
|---|---|
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Указать путь к каталогу, содержащему пользовательские роли. По умолчанию это первый доступный для записи путь, настроенный через |
|
Указать URL-адрес сервера Galaxy API |
Действие role search#
Выполняет поиск ролей на сервере Ansible Galaxy.
Опция |
Описание |
|---|---|
|
Указать имя пользователя GitHub |
|
Указать список тегов Galaxy для фильтрации |
|
Указать список операционных систем для фильтрации |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Указать URL-адрес сервера Galaxy API |
Действие role import#
Используется для импорта роли в Ansible Galaxy.
Опция |
Описание |
|---|---|
|
Указать имя ветки для импорта. По умолчанию используется ветка «по умолчанию» репозитория (обычно |
|
Не ждать результатов импорта |
|
Указать имя роли, если оно отличается от имени репозитория |
|
Проверить статус последнего запроса на импорт для указанного |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Указать URL-адрес сервера Galaxy API |
Действие role setup#
Настраивает интеграцию с Github или Travis для ролей Ansible Galaxy.
Опция |
Описание |
|---|---|
|
Перечислить все пользовательские интеграции |
|
Удалить интеграцию, соответствующую указанному значению ID. Используйте |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Указать путь к каталогу, содержащему пользовательские роли. По умолчанию это первый доступный для записи путь, настроенный через |
|
Указать URL-адрес сервера Galaxy API |
Действие role info#
Выводит подробную информацию об установленной роли, а также информацию, доступную из API Galaxy.
Опция |
Описание |
|---|---|
|
Не запрашивать Galaxy API при создании ролей |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Указать путь к каталогу, содержащему пользовательские роли. По умолчанию это первый доступный для записи путь, настроенный через |
|
Указать URL-адрес сервера Galaxy API |
Действие role install#
Устанавливает одну или несколько ролей. Можно указать список ролей или использовать опции, указанные ниже (они являются взаимоисключающими). Если передается список, это может быть имя (которое будет загружено через Galaxy API и Github), или локальный архивный файл tar.
Опция |
Описание |
|---|---|
|
Принудительно перезаписать существующую роль и ее зависимости |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Принудительно перезаписать существующую роль или коллекцию |
|
Использовать |
|
Игнорировать ошибки и продолжать со следующей указанной ролью |
|
Не загружать роли, указанные как зависимости |
|
Указать путь к каталогу, содержащему пользовательские роли. По умолчанию это первый доступный для записи путь, настроенный через |
|
Указать файл, содержащий список ролей для установки |
|
Указать URL-адрес сервера Galaxy API |
Действия для типа ресурсов collection#
Действие collection download#
Загружает коллекции и их зависимости в виде архивного файла для установки офлайн.
Опция |
Описание |
|---|---|
|
Очистить существующий кеш ответов сервера |
|
Не использовать кеш ответов сервера |
|
Включить предварительные (pre-release) версии. Предварительные версии семантического версионирования игнорируются по умолчанию |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Не загружать коллекции, указанные как зависимости |
|
Указать каталог для загрузки коллекций |
|
Указать файл, содержащий список коллекций для загрузки |
|
Указать URL-адрес сервера Galaxy API |
Действие collection init#
Создает скелет роли или коллекции, соответствующий формату метаданных Galaxy. Требуется имя роли или коллекции. Имя коллекции должно быть в формате <namespace>.<collection>.
Опция |
Описание |
|---|---|
|
Указать путь к скелету коллекции, на основе которого должна быть создана новая коллекция |
|
Указать путь, в котором будет создан скелет коллекции. По умолчанию используется текущий рабочий каталог |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Установить дополнительные переменные в формате «ключ=значение» или YAML/JSON; если файл, то добавить |
|
Принудительно перезаписать существующую роль или коллекцию |
|
Указать URL-адрес сервера Galaxy API |
Действие collection build#
Создает артефакт (архив .tar.gz) коллекции Ansible Galaxy, который можно сохранить в центральном репозитории, таком как Ansible Galaxy. По умолчанию выполняет сборку из текущего рабочего каталога. При необходимости можно указать путь input к коллекции (где находится файл galaxy.yml).
Опция |
Описание |
|---|---|
|
Указать путь, в который будет собрана коллекция. По умолчанию используется текущий рабочий каталог |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Принудительно перезаписать существующую роль или коллекцию |
|
Указать URL-адрес сервера Galaxy API |
Действие collection publish#
Публикует коллекцию в Ansible Galaxy. Для публикации требуется указать путь к архиву коллекции.
Опция |
Описание |
|---|---|
|
Установить время ожидания завершения процесса импорта коллекции |
|
Не ждать результатов валидации импорта |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Указать URL-адрес сервера Galaxy API |
Действие collection install#
Устанавливает одну или несколько коллекций. Можно указать список коллекций или использовать опции, указанные ниже (они являются взаимоисключающими). Если передается список, это может быть имя (которое будет загружено через Galaxy API и Github), или локальный архивный файл tar.
Опция |
Описание |
|---|---|
|
Очистить существующий кеш ответов сервера |
|
Отключить проверку подписи GPG при установке коллекций с сервера Galaxy |
|
Принудительно перезаписать существующую коллекцию и ее зависимости |
|
Игнорировать код статуса подписи. Этот аргумент может быть указан несколько раз |
|
Указать список кодов статуса, которые следует игнорировать при проверке подписи (например, |
|
Указать хранилище ключей, используемое при проверке подписи |
|
Не использовать кеш ответов сервера |
|
Установить артефакты коллекции ( |
|
Включить предварительные (pre-release) версии. Предварительные версии семантического версионирования игнорируются по умолчанию |
|
Указать количество подписей, которые должны успешно пройти проверку для коллекции. Это должно быть положительное целое число или |
|
Указать дополнительный источник подписи для проверки подлинности |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Обновить установленные артефакты коллекции. Также обновит зависимости, если не указано |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Принудительно перезаписать существующую роль или коллекцию |
|
Игнорировать ошибки при установке и продолжать со следующей указанной коллекцией. Не будет игнорировать ошибки конфликта зависимостей |
|
Не загружать коллекции, указанные как зависимости |
|
Указать путь к каталогу, содержащему пользовательские коллекции |
|
Указать файл, содержащий список коллекций для установки |
|
Указать URL-адрес сервера Galaxy API |
Действие collection list#
Выводит список установленных коллекций или ролей.
Опция |
Описание |
|---|---|
|
Указать формат для отображения списка коллекций |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Указать один или несколько каталогов для поиска коллекций дополнительно к значению по умолчанию |
|
Указать URL-адрес сервера Galaxy API |
Действие collection verify#
Сравнивает контрольные суммы коллекций, найденных на сервере, с установленной копией. Не проверяет зависимости.
Опция |
Описание |
|---|---|
|
Игнорировать код статуса подписи. Этот аргумент может быть указан несколько раз |
|
Указать список кодов статуса, которые следует игнорировать при проверке подписи (например, |
|
Указать хранилище ключей, используемое при проверке подписи |
|
Проверить целостность коллекции локально без обращения к серверу для получения канонического хеша манифеста |
|
Указать количество подписей, которые должны успешно пройти проверку для коллекции. Это должно быть положительное целое число или |
|
Указать дополнительный источник подписи для проверки подлинности |
|
Установить время ожидания операций на сервере Galaxy; по умолчанию составляет 60 секунд |
|
Указать ключ API Ansible Galaxy |
|
Игнорировать ошибки проверки SSL-сертификата |
|
Игнорировать ошибки при проверке и продолжать со следующей указанной коллекцией |
|
Указать один или несколько каталогов для поиска коллекций дополнительно к значению по умолчанию |
|
Указать файл, содержащий список коллекций для проверки |
|
Указать URL-адрес сервера Galaxy API |
Переменные окружения#
Переменная окружения, влияющая на работу утилиты - ANSIBLE_CONFIG - переопределить конфигурационный файл по умолчанию.
Другие варианты доступны в качестве параметров ansible.cfg (подробнее - в разделе «Конфигурационные файлы ansible.cfg»).
Примеры использования#
Установите коллекцию
mynamespace.mycollectionиз Ansible Galaxy:ansible-galaxy collection install mynamespace.mycollectionУстановите список коллекций, содержащийся в файле
requirements.yml:ansible-galaxy collection install -r requirements.ymlВыведите список установленных коллекций:
ansible-galaxy collection listУстановите роль
example.role:ansible-galaxy role install example.roleВыведите список установленных ролей:
ansible-galaxy role list
Дополнительная информация#
Дополнительную информацию можно получить, выполнив команду:
ansible-galaxy --help