Инвентарь

Инвентарь — это файл, содержащий список хостов, на которых Ansible будет выполнять plays. Инвентарь также хранит переменные, которые могут использоваться в playbook. Инвентарь может храниться в формате YAML, JSON или TOML. Подробнее об инвентарях можно прочитать в документации Ansible.
Semaphore UI может читать инвентарь либо из файла на сервере, к которому у пользователя Semaphore есть доступ на чтение, либо использовать статический инвентарь, редактируемый через веб-интерфейс. К каждому инвентарю также привязаны как минимум одни учётные данные. Учётные данные пользователя обязательны — именно их Ansible использует для входа на хосты этого инвентаря. Учётные данные sudo используются для повышения привилегий на хосте. Для создания инвентаря необходимо иметь в хранилище ключей учётные данные пользователя — либо имя пользователя с паролем, либо настроенный SSH. Информацию об учётных данных можно найти в разделе Хранилище ключей этого сайта.
Типы инвентарей
| Тип | Описание |
|---|---|
static | Инвентарь в формате INI, редактируемый в веб-интерфейсе. |
static-yaml | Инвентарь в формате YAML, редактируемый в веб-интерфейсе. Используйте его для инвентарей на основе плагинов, например NetBox или Consul. |
file | Путь к файлу инвентаря. Относительный путь указывает внутрь репозитория шаблона, абсолютный — на файл на сервере. При необходимости выберите отдельный репозиторий инвентаря, если файл находится в другом Git-репозитории. |
terraform-workspace, tofu-workspace, terragrunt-workspace | Не инвентарь Ansible: рабочее пространство для шаблонов Terraform/OpenTofu и Terragrunt. |
Создание инвентаря
- Откройте вкладку Key Store и убедитесь, что у вас есть ключ типа login_password или ssh
- Откройте вкладку Inventory и нажмите New Inventory
- Задайте имя инвентаря и выберите в выпадающем списке нужные учётные данные пользователя. При необходимости выберите нужные учётные данные sudo
- Выберите тип инвентаря
- Если вы выбрали file, укажите абсолютный путь к файлу. Если файл находится в вашем git-репозитории, используйте относительный путь, например
inventory/linux-hosts.yaml - Если вы выбрали static или static-yaml, вставьте или введите инвентарь в форму
- Нажмите Create.
Изменение инвентаря
- Откройте вкладку Inventory
- Нажмите значок карандаша рядом с инвентарём, который хотите изменить
- Внесите изменения
- Нажмите Save