ansible-galaxy#

Утилита ansible-galaxy используется для управления ролями и коллекциями Ansible, включая их загрузку, установку, удаление и публикацию.

В минимальном формате запуск утилиты ansible-galaxy выглядит следующим образом

ansible-galaxy [ARGUMENTS] TYPE ACTION [ACTION_ARGUMENTS]

где:

  • ARGUMENTS – общие аргументы ansible-galaxy.

  • TYPE – тип объекта: role для ролей или collection для коллекций.

  • ACTION – действие, которое необходимо выполнить над объектом.

  • ACTION_ARGUMENTS – дополнительные аргументы, зависящие от выбранного типа и действия.

Общие аргументы:

--version#

Вывод версии Ansible и утилиты ansible-galaxy.

-h, --help#

Вывод справки.

-v, --verbose#

Включение подробного вывода, показывающего больше информации о выполнении команды.

Увеличение уровня детализации возможно при добавлении нескольких -v. Утилита может выводить до -vvvvvv. Рекомендуемый уровень для общей отладки – -vvv, для отладки соединений – -vvvv.

Действия с коллекциями#

collection download#

Загрузка коллекции и ее зависимостей в виде архива в формате .tar.gz.

Доступные аргументы:

--clear-response-cache#

Очистка кеша ответов сервера.

--no-cache#

Отключение использования кеша сервера.

--pre#

Включение использования предварительных (pre-release) версии коллекций.

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-n, --no-deps#

Отключение загрузки коллекций, перечисленных в списке зависимостей.

-p <DOWNLOAD_PATH>, --download-path <DOWNLOAD_PATH>#

Путь к каталогу для сохранения загруженных коллекций.

-r <REQUIREMENTS>, --requirements-file <REQUIREMENTS>#

Путь к файлу формата YAML со списком коллекций для загрузки.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

collection init#

Создание структуры новой коллекции Ansible.

Доступные аргументы:

--collection-skeleton <COLLECTION_SKELETON>#

Путь к шаблону коллекции.

--init-path <INIT_PATH>#

Путь к каталогу, в котором будет создана коллекция.

Значение по умолчанию: текущий каталог.

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-e, --extra-vars#

Передача дополнительных переменных в формате key=value, YAML или JSON.

Может быть указан несколько раз.

-f, --force#

Перезапись существующей коллекции.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

collection build#

Создание архива в формате .tar.gz с коллекцией Ansible.

Доступные аргументы:

--output-path <OUTPUT_PATH>#

Каталог, в котором будет сохранен архив.

Значение по умолчанию: текущий каталог.

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-f, --force#

Перезапись существующей коллекции.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

collection publish#

Публикация архива коллекции в реестр коллекций Ansible.

Доступные аргументы:

--import-timeout <IMPORT_TIMEOUT>#

Таймаут ожидания завершения импорта коллекции (в секундах).

--no-wait#

Отключение ожидания завершения импорта.

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

collection install#

Установка коллекции из Ansible Galaxy.

Доступные аргументы:

--clear-response-cache#

Очистка кеша ответов сервера.

--disable-gpg-verify#

Отключение проверки подписи GPG.

--force-with-deps#

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

--ignore-signature-status-codes#

Список кодов статусов (через пробел), игнорируемых при проверке подписи.

Может быть указан несколько раз.

Полный список кодов представлен на странице GitHub.

--keyring <KEYRING>#

Хранилище ключей, используемое при проверке подписи.

--no-cache#

Отключение использования кеша сервера.

--offline#

Установка коллекции без подключения к серверу.

--pre#

Включение использования предварительных (pre-release) версии коллекций.

--required-valid-signature-count <REQUIRED_VALID_SIGNATURE_COUNT>#

Задание количества подписей, необходимого для подтверждения подлинности коллекции.

Возможные значения:

  • Положительное число – минимально необходимое количество подписей. Если число подписей меньше заданного значения, проверка завершится с ошибкой, а установка будет прервана.

  • -1 – требует, чтобы все доступные подписи для проверки подлинности коллекции были корректными. Если хотя бы одна подпись недействительна, проверка завершится с ошибкой, а установка будет прервана.

  • +all – требует, чтобы хотя бы одна подпись для проверки подлинности коллекции была корректной. Если хотя бы одна подпись корректна, проверка подлинности завершится успешно, а установка будет продолжена.

--signature#

Дополнительный источник подписи для верификации MANIFEST.json.

Может быть указан несколько раз.

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-U, --upgrade#

Обновление установленной коллекции.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-f, --force#

Перезапись существующей коллекции.

-i, --ignore-errors#

Игнорирование ошибок и продолжение установки следующих коллекций. Не действует на ошибки, связанные с зависимостями.

-n, --no-deps#

Отключение загрузки коллекций, перечисленных в списке зависимостей.

-p <COLLECTIONS_PATH>, --collections-path <COLLECTIONS_PATH>#

Путь к каталогу для установки коллекций.

-r <REQUIREMENTS>, --requirements-file <REQUIREMENTS>#

Путь к файлу формата YAML со списком коллекций для установки.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

collection list#

Вывод списка установленных коллекций.

Доступные аргументы:

--format <OUTPUT_FORMAT>#

Формат вывода списка коллекций.

--timeout <TIMEOUT>#

Время ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибок проверки сертификатов TLS.

-p, --collections-path#

Каталоги для поиска коллекций.

Пути разделяются знаком :.

Может быть указан несколько раз.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

collection verify#

Проверка контрольных сумм установленных коллекций и сравнение их с версиями на сервере Ansible Galaxy.

Не проверяет зависимости.

Доступные аргументы:

--ignore-signature-status-codes#

Список кодов статусов (через пробел), игнорируемых при проверке подписи.

Может быть указан несколько раз.

Полный список кодов представлен на странице GitHub.

--keyring <KEYRING>#

Хранилище ключей, используемое при проверке подписи.

--offline#

Локальная проверка коллекции без подключения к серверу.

--required-valid-signature-count <REQUIRED_VALID_SIGNATURE_COUNT>#

Задание количества подписей, необходимого для подтверждения подлинности коллекции.

Возможные значения:

  • Положительное число – минимально необходимое количество подписей. Если число подписей меньше заданного значения, проверка завершится с ошибкой.

  • all – требует, чтобы все доступные подписи для проверки подлинности коллекции были корректными. Если хотя бы одна подпись недействительна, проверка завершится с ошибкой.

  • +all – требует, чтобы хотя бы одна подпись для проверки подлинности коллекции была корректной. Если хотя бы одна подпись корректна, проверка подлинности завершится успешно.

--signature#

Дополнительный источник подписи для верификации MANIFEST.json.

Может быть указан несколько раз.

--timeout <TIMEOUT>#

Время ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибок проверки сертификатов TLS.

-i, --ignore-errors#

Игнорирование ошибок и продолжение проверки следующих коллекций.

-p, --collections-path#

Каталоги для поиска коллекций.

Пути разделяются знаком :.

Может быть указан несколько раз.

-r <REQUIREMENTS>, --requirements-file <REQUIREMENTS>#

Путь к файлу формата YAML со списком коллекций для проверки.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

Примеры использования действий с коллекциями:

Создание новой коллекции#
ansible-galaxy collection init mynamespace.mycollection
Установка коллекции#
ansible-galaxy collection install ansible.posix
Публикация коллекции#
ansible-galaxy collection publish mycollection.tar.gz
Проверка с игнорированием ошибок подписи NO_PUBKEY и FAILURE:#
ansible-galaxy collection verify --ignore-signature-status-codes NO_PUBKEY FAILURE

Действия с ролями#

role init#

Создание структуры новой роли Ansible.

Доступные аргументы:

--init-path <INIT_PATH>#

Путь к каталогу, в котором будет создана роль.

Значение по умолчанию: текущий каталог.

--offline#

Отключение запроса API Galaxy при создании ролей.

--role-skeleton <ROLE_SKELETON>#

Путь к шаблону роли.

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

--type <ROLE_TYPE>#

Альтернативный тип роли.

Возможные значения:

  • container;

  • apb;

  • network.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-e, --extra-vars#

Передача дополнительных переменных в формате key=value, YAML или JSON.

Может быть указан несколько раз.

-f, --force#

Перезапись существующей роли.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

role remove#

Удаление указанных ролей с локального устройства.

Доступные аргументы:

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-p, --roles-path#

Путь к каталогу с ролями.

Значение по умолчанию: {{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }}.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

role delete#

Удаление роль из Ansible Galaxy.

Доступные аргументы:

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

role list#

Вывод списка установленных ролей.

Доступные аргументы:

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-p, --roles-path#

Путь к каталогу с ролями.

Значение по умолчанию: {{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }}.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

role search#

Поиск роли в Ansible Galaxy.

Доступные аргументы:

--author <AUTHOR>#

Фильтрация по имени автора.

--galaxy-tags <TAGS>#

Фильтрация по тегам.

--platforms <PLATFORMS>#

Фильтрация по платформам.

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

role import#

Импорт роли в Ansible Galaxy.

Доступные аргументы:

--branch <REFERENCE>#

Ветка для импорта.

Значение по умолчанию: основная ветка репозитория.

--no-wait#

Отключение ожидания завершения импорта.

--role-name <ROLE_NAME>#

Название роли, если оно отличается от названия репозитория.

--status#

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

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

role setup#

Настройка интеграции GitHub или Travis с Ansible Galaxy.

Доступные аргументы:

--list#

Вывод списка текущих интеграций.

--remove <REMOVE_ID>#

Удаление интеграции с указанным идентификатором.

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-p, --roles-path#

Путь к каталогу с ролями.

Значение по умолчанию: {{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }}.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

role info#

Вывод информации об установленной роли.

Доступные аргументы:

--offline#

Отключение запроса API Galaxy.

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-p, --roles-path#

Путь к каталогу с ролями.

Значение по умолчанию: {{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }}.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

role install#

Установка ролей.

Доступные аргументы:

--force-with-deps#

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

--timeout <TIMEOUT>#

Таймаут ожидания ответа от сервера (в секундах).

Значение по умолчанию: 60.

--token <API_KEY>, --api-key <API_KEY>#

Токен доступа к Ansible Galaxy API.

-c, --ignore-certs#

Игнорирование ошибки проверки сертификатов TLS.

-f, --force#

Перезапись существующей роли.

-g, --keep-scm-meta#

Сохранение метаданных системы управления версиями при установке.

-i, --ignore-errors#

Игнорирование ошибок и продолжение установки следующих ролей.

-n, --no-deps#

Отключение загрузки зависимостей ролей.

-p, --roles-path#

Путь к каталогу с ролями.

Значение по умолчанию: {{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }}.

-r <REQUIREMENTS>, --role-file <REQUIREMENTS>#

Путь к файлу со списком ролей для установки.

-s <API_SERVER>, --server <API_SERVER>#

URL реестра коллекций.

Примеры использования действий с ролями:

Создание роли в указанном каталоге#
ansible-galaxy role init myrole --init-path /path/to/roles
Установка роли из Ansible Galaxy#
ansible-galaxy role install geerlingguy.nginx
Удаление нескольких ролей с локального устройства#
ansible-galaxy role remove geerlingguy.nginx geerlingguy.mysql
Удаление роли из Ansible Galaxy#
ansible-galaxy role delete mynamespace.myrole --token MY_API_KEY
Поиск ролей по автору и тегам#
ansible-galaxy role search --author geerlingguy --galaxy-tags webserver
Импорт роли в Ansible Galaxy#
ansible-galaxy role import mynamespace myrole --token MY_API_KEY