Проекты#

В Astra Automation Controller проект – это набор Ansible playbook. Также проект может содержать инвентарные списки, зависимости Ansible и другие файлы.

Ansible playbook из проектов используются при создании шаблонов заданий.

Файлы инвентаря из проектов можно использовать в качестве источников при заполнении обычных инвентарных списков.

Взаимодействие проектов с другими компонентами контроллера показано на схеме:

../../../_images/project-light.svg ../../../_images/project-dark.svg

Типовая структура проекта#

При создании проекта для использования его в Astra Automation Controller следуйте приведенным здесь рекомендациям по структуре файлов и каталогов.

Рекомендуемая структура файлов и каталогов:

├── ansible.cfg
├── collections
│   └── requirements.yml
├── inventory
│   └── all.yml
└── playbooks
    ├── group_vars
    │   ├── vars1.yml
    │   ├── vars2.yml
    │   ├── ...
    │   └── varsM.yml
    ├── playbook1.yml
    ├── playbook2.yml
    ├── ...
    └── playbookN.yml

Здесь:

  • ansible.cfg – файл с настройками Ansible.

    Подробное описание доступных настроек см. в документации Ansible.

  • collections/ – каталог с файлами используемых коллекций.

  • collections/requirements.yml – файл зависимостей, содержащий сведения об используемых коллекциях. Указанные в этом файле коллекции автоматически загружаются в каталог collections/ при синхронизации проекта.

    Примеры заполнения файла requirements.yml см. в документе Версионирование коллекций.

  • inventory/ – каталог с файлами инвентаря.

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

  • playbooks/ – каталог с файлами playbook.

    Допускается размещение файлов playbook в других каталогах.

    Примечание

    В проект должен быть хотя бы один playbook.

  • playbooks/group_vars/ – каталог с файлами переменных Ansible.

    Допускается размещение файлов с переменными в других каталогах, а также присвоение значений в playbook и инвентаре.

    Подробности о порядке присвоения значений переменным см. в документе Переменные.

Проект как источник файлов инвентаря#

Astra Automation Controller позволяет использовать проекты для заполнения обычных инвентарных списков.

Поддерживается импорт инвентарных списков из отдельных файлов и каталогов.

Дополнительные параметры проекта#

В настройках проекта можно указать дополнительные параметры:

  • Среда исполнения.

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

  • Учетные данные для проверки подписи содержимого.

    Указанное полномочие типа «GPG Public Key» используется для проверки аутентичности исходного кода проекта.

    Если хотя бы один из подписанных файлов не пройдет проверку, обновление кода проекта будет завершено со статусом Отказ (Fail). Также контроллер заблокирует запуск всех заданий на основе шаблонов, использующих код проекта.

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

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

    • Git

    • Subversion

    • Внешний архив

    Для источников типа «Git» и «Subversion» необходимо указать URL репозитория.