Проверка коллекций
Проверка коллекций с помощью ansible-galaxy
После установки можно проверить, соответствует ли содержимое установленной коллекции содержимому коллекции на сервере. Для этого коллекция должна быть установлена в одном из настроенных путей для коллекций и существовать на одном из настроенных серверов Galaxy.
ansible-galaxy collection verify my_namespace.my_collection
Если команда ansible-galaxy collection verify завершается успешно, она не выводит сообщения. Если коллекция была изменена, изменённые файлы перечисляются под именем коллекции.
ansible-galaxy collection verify my_namespace.my_collection
Collection my_namespace.my_collection contains modified content in the following files:
my_namespace.my_collection
plugins/inventory/my_inventory.py
plugins/modules/my_module.py
Можно использовать флаг -vvv для отображения дополнительной информации: версии и пути установленной коллекции, URL удалённой коллекции, используемой для проверки, а также сообщения об успешной проверке.
ansible-galaxy collection verify my_namespace.my_collection -vvv ... Verifying 'my_namespace.my_collection:1.0.0'. Installed collection found at '/path/to/ansible_collections/my_namespace/my_collection/' Remote collection found at 'https://galaxy.ansible.com/download/my_namespace-my_collection-1.0.0.tar.gz' Successfully verified that checksums for 'my_namespace.my_collection:1.0.0' match the remote collection
Если у вас установлена предварительная версия коллекции или версия, не являющаяся последней, для проверки следует указать конкретную версию. Если версия не указана, установленная коллекция проверяется на соответствие последней версии, доступной на сервере.
ansible-galaxy collection verify my_namespace.my_collection:1.0.0
Помимо формата namespace.collection_name:version, можно указать коллекции для проверки в файле requirements.yml. Зависимости, перечисленные в requirements.yml, не включаются в процесс verify и должны проверяться отдельно.
ansible-galaxy collection verify -r requirements.yml
Проверка по файлам tar.gz не поддерживается. Если ваш файл requirements.yml содержит пути к tar-файлам или URL-адреса для установки, можно использовать флаг --ignore-errors, чтобы обработать все коллекции, использующие формат namespace.name в этом файле.
Проверка подписанных коллекций
Если коллекция подписана сервером распространения, сервер предоставляет ASCII-подписи в кодировке armor, отделённые от данных, чтобы проверить подлинность MANIFEST.json перед его использованием для проверки содержимого коллекции. Эта возможность доступна не на всех серверах распространения. Список серверов, поддерживающих подписание коллекций, см. в разделе Распространение коллекций. О том, как проверить подписанную коллекцию при её установке, см. в разделе Установка коллекций с проверкой подписи.
Чтобы проверить установленную подписанную коллекцию:
ansible-galaxy collection verify my_namespace.my_collection --keyring ~/.ansible/pubring.kbx
Используйте параметр --signature, чтобы проверить имена коллекций, указанные в CLI, с помощью дополнительной подписи. Этот параметр можно использовать несколько раз, чтобы указать несколько подписей.
ansible-galaxy collection verify my_namespace.my_collection --signature https://examplehost.com/detached_signature.asc --signature file:///path/to/local/detached_signature.asc --keyring ~/.ansible/pubring.kbx
При необходимости можно проверить подпись коллекции с помощью файла requirements.yml.
ansible-galaxy collection verify -r requirements.yml --keyring ~/.ansible/pubring.kbx
При установке коллекции с сервера распространения предоставленные сервером подписи для проверки подлинности коллекции сохраняются вместе с установленными коллекциями. Эти данные используются для проверки внутренней целостности коллекции без повторного обращения к серверу распространения, если указан параметр --offline.
ansible-galaxy collection verify my_namespace.my_collection --offline --keyring ~/.ansible/pubring.kbx
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections_guide/collections_verifying.html