Экспорт коллекций из образа#

Добавлено в версии 1.2-upd1.

Для быстрого экспорта набора коллекций, проверенных или сертифицированных для использования в Astra Automation, в состав образа среды исполнения aa-full-ee входят следующие компоненты:

  • набор коллекций;

  • утилита export_collections.py для загрузки этих коллекций в приватный реестр.

Утилита принимает две команды:

  • list – просмотр доступных коллекций;

  • publish – публикация коллекций.

Синтаксис вызова утилиты выглядит следующим образом:

podman run aa-full-ee:latest python3 export_collections.py [arguments] <command> [command_arguments]

Здесь:

  • [arguments] – общие аргументы;

  • <command> – команда;

  • [command_arguments] – аргументы команды.

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

Утилита поддерживает следующие аргументы, доступные для использования с любой из команд:

-d <dir>, --collections-dir <dir>#

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

Значение аргумента также может быть передано через переменную окружения COLLECTIONS_DIR.

Значение по умолчанию: /usr/share/ansible/collections/ansible_collections/.

-h, --help#

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

Команды#

Утилита поддерживает следующие команды:

list#

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

publish#

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

Поддерживаемые аргументы:

  • --all – публикация всех доступных коллекций.

  • --autocreate – автоматическое создание пространства имен (namespace). Если аргумент не задан, то пространство имен должно быть создано вручную заранее. В противном случае работа утилиты завершится с ошибкой.

    Добавлено в версии 1.2-upd3.

  • --collection <namespace.collection> – название одной коллекции для публикации.

  • --namespace <namespace> – пространство имен для публикации всех содержащихся в нем коллекций.

  • -s <url>, --galaxy-url <url> – IP-адрес или доменное имя реестра коллекций. Значение аргумента также может быть передано через переменную окружения ANSIBLE_GALAXY_SERVER_GALAXY_URL.

    Обязательный аргумент, если переменная окружения не задана.

    Добавлено в версии 1.2-upd3.

  • -t <token>, --validation-token <token> – токен доступа к API реестра коллекций. Значение аргумента также может быть передано через переменную окружения ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN.

    Обязательный аргумент, если переменная окружения не задана.

    Добавлено в версии 1.2-upd3.

Примеры#

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

Список доступных коллекций#

Следующий пример демонстрирует вывод списка коллекций из стандартного каталога /usr/share/ansible/collections/ansible_collections/:

podman run aa-full-ee:latest python3 export_collections.py list

Список коллекций из пользовательского каталога#

Следующий пример демонстрирует вывод списка коллекций из указанного каталога:

podman run aa-full-ee:latest python3 export_collections.py -d /data/collections list

Публикация одной коллекции#

Следующий пример демонстрирует публикацию одной коллекции в Private Automation Hub:

podman run \
    -e ANSIBLE_GALAXY_SERVER_GALAXY_URL=hub.example.org \
    -e ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN=TOKEN123 \
    aa-full-ee:latest \
    python3 export_collections.py publish --collection astra.ald_pro

Публикация всех коллекций в пространстве имен#

Следующий пример демонстрирует публикацию всех коллекций в указанном пространстве имен:

podman run \
    -e ANSIBLE_GALAXY_SERVER_GALAXY_URL=hub.example.org \
    -e ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN=TOKEN123 \
    aa-full-ee:latest \
    python3 export_collections.py publish --namespace astra

Публикация всех доступных коллекций#

Следующий пример демонстрирует публикацию всех доступных коллекций в Private Automation Hub:

podman run \
    -e ANSIBLE_GALAXY_SERVER_GALAXY_URL=hub.example.org \
    -e ANSIBLE_GALAXY_SERVER_VALIDATED_TOKEN=TOKEN123 \
    aa-full-ee:latest \
    python3 export_collections.py publish --all