Рабочее окружение#

Рабочее окружение предназначено для разработки контента Ansible, используемого прежде всего в Astra Automation. Основой среды разработки является пакет Astra Automation CDK (Content Development Kit), который можно использовать любым из следующих способов:

  • установкой пакета на рабочую станцию под управлением операционной системы Astra Linux;

  • использованием служебного контейнера из образа aa-cdk, содержащего все необходимые утилиты из состава Astra Automation CDK.

Основным инструментом разработки является служебный контейнер aa-cdk, называемый контейнером разработки (dev container). В отличие от «классического» подхода к разработке, основанного на написании кода на рабочей станции в одном из текстовых редакторов и тестировании с помощью утилиты ansible-playbook, использование специализированного контейнера дает ряд преимуществ:

  • контейнер можно использовать в разных операционных системах, прежде всего в семействах Linux, Microsoft Windows и macOS;

  • нет необходимости самостоятельно устанавливать и настраивать программное обеспечение – Python, Ansible и инструменты разработки;

  • разрабатываемый код ориентирован на его дальнейшее применение в Automation Controller с использованием среды исполнения (EE, Execution Environment);

  • инструменты разработки и тестирования интегрированы с Visual Studio Code, что повышает удобство разработки.

Требования к рабочему окружению#

Среда разработки, основанная на использовании контейнера aa-cdk, должна удовлетворять следующим требованиям:

  • рабочим местом является рабочая станция с установленной операционной системой Linux, Windows или macOS;

  • на рабочей станции установлена система управления контейнерами в виде Podman (предпочтительно) или Docker;

  • на рабочей станции установлена интегрированная среда разработки (IDE, Integrated Development Environment) Visual Studio Code;

  • рабочая станция имеет доступ к приватному реестру коллекций Ansible и образов служебных контейнеров;

  • рабочая станция имеет доступ в интернет для загрузки необходимых дополнительных коллекций Ansible, модулей Python и debian-пакетов операционной системы Astra Linux и платформы Astra Automation, в частности, доступ к реестру dl.astralinux.ru или его зеркалам.

Состав образа#

Образ aa-cdk включает следующие утилиты:

  • Ansible Creator,

  • Ansible Builder,

  • Ansible Lint,

  • Ansible Molecule,

  • Ansible Navigator.

Полный перечень компонент можно посмотреть на странице образа в реестре>.

Установка и настройка#

Образ aa-cdk можно использовать в любой современной операционной системе, поддерживающей системы контейнеризации. На рабочей станции должна быть установлена интегрированная система разработки кода Visual Studio Code. Установка другого обязательного компонента – системы управления контейнерами, в частности Podman – зависит от операционной системы.

Astra Linux#

В Linux для установки Podman используйте систему управления пакетами. Например, в Astra Linux Special Edition выполните следующую команду:

sudo apt install podman

Microsoft Windows#

Настройка рабочего окружения в операционной системе Microsoft Windows для использования aa-cdk характерна следующими особенностями:

  • необходима среда WSL 2 (Windows Subsystem for Linux);

  • система контейнеризации Podman должна быть настроена на систему управления ресурсами cgroups2.

Это требует выполнения следующих шагов:

  1. Установите среду WSL 2 (Windows Subsystem for Linux) одним из следующих способов:

    • В Windows 10 версии 2004 и выше (сборка 19041 и выше) или Windows 11 воспользуйтесь следующей командой:

      wsl --install --no-distribution
      
    • В более ранних версиях установите ее согласно инструкции Microsoft.

  2. Настройте и активируйте систему управления cgroups2. Для этого создайте файл .wslconfig в домашнем каталоге пользователя со следующим содержимым:

    [wsl2]
    kernelCommandLine = cgroup_no_v1="all"
    
  3. Если WSL уже активен, остановите текущий процесс следующей командой в терминале Windows (впоследствии WSL будет запущен снова):

    wsl --shutdown
    
  4. Установите, запустите и настройте Podman Desktop согласно инструкции.

  5. Запустите среду WSL, выполнив следующую команду в Терминале Windows:

    wsl
    
  6. После успешного входа в оболочку WSL убедитесь, что Podman использует cgroups2.

    podman info | grep cgroups