Ресурсы разработчика#

Значимой частью Astra Automation является набор средств для разработки инфраструктурного кода, включая:

  • сценарии;

  • коллекции;

  • образы служебных контейнеров.

Состав#

Инструментальные средства для работы с Ansible делятся на два типа: основные и дополнительные. Основные инструменты распространяются через репозиторий Astra Automation в составе пакета astra-automation-cdk. Действия, необходимые для использования дополнительных инструментов могут различаться и описаны в справочнике каждого из инструментов.

Основные инструменты#

В состав Astra Automation входят следующие основные инструментальные средства для работы с Ansible:

  • Ansible Builder – создание образов среды исполнения.

  • Ansible Creator – создание коллекций и наборов сценариев.

  • Ansible Lint – статический анализ кода на наличие ошибок.

  • Ansible Molecule – тестирование ролей.

  • Ansible Navigator – создание, проверка и запуск контента, а также поиск и устранение проблем в его работе.

  • Ansible Pytest – тестирование рабочих окружений с помощью pytest до и после применения ролей.

  • Ansible Sign – контроль целостности содержимого Ansible с помощью GPG.

  • Tox Ansible – тестирование коллекций с различными версиями Python и Ansible.

  • Ansible Test – тестирование кода перед его передачей в проект Ansible.

Дополнительные инструменты#

В состав Astra Automation входят следующие дополнительные инструментальные средства для работы с Ansible:

Установка#

Для установки всех основных инструментов выполните следующие действия:

  1. Подключите репозиторий Astra Automation.

    Инструкция по подключению репозитория
    1. В каталоге /etc/apt/sources.list.d/ создайте файл astra-automation.list со ссылкой на репозиторий Astra Automation:

      deb https://dl.astralinux.ru/aa/aa-debs-for-alse-1.8 <version> main
      

      Вместо <version> необходимо подставить версию устанавливаемой платформы, например, 2.1.

      Доступные версии продукта опубликованы в таблице История обновлений.

    2. Обновите список доступных пакетов:

      sudo apt update
      
  2. Установите пакет astra-automation-cdk:

    sudo apt install astra-automation-cdk --yes
    

Если необходима установка отдельных утилит, следуйте инструкции в описании соответствующей утилиты.

  1. Загрузите архив с установщиком на установочный узел.

    Примечание

    Архив доступен для загрузки в Личном кабинете при наличии действующей лицензии на продукт.

  2. Создайте каталог /opt/rbta/aa/CDK-setup/:

    sudo mkdir -p /opt/rbta/aa/CDK-setup/
    
  3. Распакуйте содержимое архива с установщиком в каталог /opt/rbta/aa/CDK-setup/:

    sudo tar -xvzf <archive>.tar.gz -C /opt/rbta/aa/CDK-setup/
    
  4. Перейдите в каталог с распакованными файлами:

    cd /opt/rbta/aa/CDK-setup/
    
  5. Сделайте файл install_cdk_bundle.sh исполняемым:

    sudo chmod +x install_cdk_bundle.sh
    
  6. Для установки всех доступных утилит выполните команду:

    sudo ./install_cdk_bundle.sh
    

    Примечание

    В ходе установки в хранилище образов Podman пользователя root из каталога aa-ee-images/ загружаются образы служебных контейнеров aa-cdk, aa-full-ee и aa-minimal-ee – загружать их вручную не требуется. Импорт выполняется только при запуске установщика с правами root (через sudo); без sudo он пропускается без сообщения об ошибке. Проверить, что образы загружены, можно командой sudo podman images.

  7. Чтобы установить отдельную утилиту, выполните команду:

    sudo ./install_cdk_bundle.sh <utility_name>
    

    Здесь <utility_name> – название утилиты, которую необходимо установить. Поддерживаемые значения:

    • ansible-navigator;

    • ansible-builder;

    • ansible-lint;

    • molecule;

    • pytest-ansible.

    Примечание

    Утилита ansible-test входит в состав Ansible Core. При его наличии установка дополнительных пакетов не требуется.

  8. При необходимости проведите дополнительные настройки Podman согласно инструкции.

    Примечание

    При проверке версии 2.0-upd2 на Astra Linux Special Edition 1.7.10 (Podman 4.3.1) и 1.8.4 (Podman 5.7.0) ни группу управления, ни драйвер хранилища донастраивать не потребовалось: драйвер overlay используется по умолчанию. Перед выполнением шага проверьте фактические параметры командой podman info и выполняйте настройку, только если они отличаются от требуемых. Инструкция по настройке драйвера хранилища завершается командой podman system reset -f, которая полностью очищает хранилище образов Podman того пользователя, от имени которого выполняется. При выполнении от имени root (через sudo) будут удалены и образы служебных контейнеров, загруженные установщиком.

  9. Чтобы использовать образы служебных контейнеров в rootless-режиме Podman, загрузите каждый из них в хранилище своего пользователя:

    sudo cat /opt/rbta/aa/CDK-setup/aa-ee-images/<image>.tar | podman load
    

    Здесь <image> – название образа, одно из aa-cdk, aa-full-ee или aa-minimal-ee.

    Команду podman load необходимо выполнять от имени обычного пользователя (без sudo), чтобы образ попал в его хранилище.

    Примечание

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

Каталог /opt/rbta/aa/CDK-setup/aa-ee-images/ содержит архивы образов, поставляемые в составе пакета, в том числе aa-full-ee.tar и aa-minimal-ee.tar. Установщик загружает эти архивы только в хранилище Podman пользователя root, поэтому для работы от имени другого пользователя загрузите образ командой podman load, как описано в последнем шаге.