Перейти к основному содержимому
Версия: Новая

Шаблоны конфигураций

Шаблоны конфигураций — это комплексный инструмент управления, который объединяет логику исполнения (SLS-код) и интерфейс ввода данных (JSON-схема).
Они предназначены для автоматизации задач и политик, а также для создания интерактивных форм (шаблонов задач) на основе конфигурационных файлов.
Шаблоны могут быть импортированы из внешних источников (Git, архивы), подключены из локальных директорий или спроектированы непосредственно в системе с помощью встроенного визуального редактора.

Интерфейс страницы шаблонов конфигураций

Для перехода на страницу с шаблонами конфигураций в главном меню выберите пункт Настройки Рис. 1 [1].
На появившейся выдвижной панели в разделе Core выберите пункт Шаблоны конфигураций Рис. 1 [2].

Переход на страницу "Шаблоны конфигураций"
Рисунок 1. Переход на страницу "Шаблоны конфигураций"


Откроется страница шаблонов конфигураций Рис. 2.

Интерфейс страницы "Шаблоны конфигураций"
Рисунок 2. Интерфейс страницы "Шаблоны конфигураций"


Интерфейс страницы Шаблоны конфигураций Рис. 2 состоит из следующих элементов:

  • Поле Поиск по источнику, шаблону, файлу Рис. 2 [1]

    В верхней части страницы расположен компонент поиска, который позволяет оперативно находить необходимые элементы в больших списках

  • Кнопка Обновить Рис. 2 [2]

    при нажатии данной кнопки обновляется список источников, выполняется загрузка и клонирование репозиториев

  • Кнопка-меню действий с раскрывающимся списком Рис. 2 [3]

    Содержит дополнительные опции Рис. 3:

    • Синхронизировать с GitLab: элемент управления для запуска процесса обновления конфигураций из внешнего репозитория;
    • Обновить смонтированные источники:предназначена для синхронизации данных из всех подключённых смонтированных источников (например, SSHFS, сетевые директории или внешние файловые системы);
    • Добавить локальный источник: метод используется для подключения конфигураций, которые уже находятся непосредственно на сервере, где развернута система (например, в директории /var/lib/saltbox/templates);
    • Добавить из git-репозитория: рекомендуемый метод для командной работы и обеспечения версионности конфигураций;
    • Добавить из архива: метод «разового» импорта, предназначенный для быстрой загрузки готового набора файлов, упакованных в архив.

    Кнопка-меню действий с источниками шаблонов
    Рисунок 3. Кнопка-меню действий с источниками шаблонов
  • Список источников в виде отдельных карточек источников, например Локальные шаблоны Рис. 2 [4]

    таблица, отображающая состояние текущих настроенных источников конфигураций

    Карточка источника содержит следующие элементы интерфейса:

    • Название и тип источника: указано наименование Локальные шаблоны, тип источника Локальный (выделено синим цветом) и текущим статусом Не подключен (выделено желтым цветом);

    • Описание: под названием приведено краткое пояснение — Встроенный источник для хранения пользовательских шаблонов конфигураций;

    • Метаданные: отображается дата создания источника;

    • Управление содержимым: в нижней части Рис. 2 [4] расположены раскрывающиеся секции Шаблоны и Файлы (sshfs), которые позволяют просматривать и управлять соответствующим контентом.
      В секции Шаблоны отображаются найденные SLS-файлы с блок-схемой из источника.
      В секции Файлы (sshfs) отображаются любые файлы (например, архивы) с указанием пути назначения относительно корня sshfs.

      примечание

      Добавление файлов возможно только после подключения источника.

    • кнопка ✚ (Создать шаблон) Рис. 2 [7]: открывает окно для проектирования собственных шаблонов;

    • Действия: в правой верхней части блока расположены кнопки Подключить Рис. 2 [5] и Удалить Рис. 2 [6] для управления состоянием и жизненным циклом данного источника.

      предупреждение

      Когда в шаблонах конфигураций присутствует только один источник Локальные шаблоны и при этом нажать кнопку Удалить Рис. 2 [6] появляется уведомление — Cannot remove the last local source. At least one local source must be present (Ошибка отсутствия доступного локального источника).
      Данное предупреждение выполняет защитную функцию, блокируя удаление последнего активного источника конфигураций.
      Система обеспечивает наличие как минимум одного локального источника в качестве обязательного условия для функционирования модуля.

Локальный источник шаблонов

Создание шаблона задачи

Ниже представлен пример создания шаблона задачи, который позволяет просматривать пиллары клиентов.
Для создания шаблона задачи, выполните следующие действия:

  1. В поле карточки источника, например Локальные шаблоны, в секции Шаблоны нажмите кнопку ✚ (Создать шаблон) Рис. 2 [7].

    Откроется окно создания шаблона задачи Рис. 4, которое представляет собой среду для проектирования конфигурационных схем.

    Окно создания шаблона задачи: режим "Визуальный редактор формы"
    Рисунок 4. Окно создания шаблона задачи: режим "Визуальный редактор формы"

    Интерфейс окна Создание шаблона задачи разделен на следующие функциональные блоки:

    • Навигация по редакторам

      пользователь может переключаться между двумя режимами работы: Визуальный редактор формы Рис. 4 [1] и Полный редактор шаблона Рис. 4 [2], Рис. 5

      Режим Визуальный редактор формы Рис. 4 [1] предназначен для проектирования шаблонов задач через графический интерфейс и состоит из следующих элементов:

      • блок метаданных: позволяет задать Название схемы Рис. 4 [3] и Описание схемы Рис. 4 [4] в соответствующих полях ввода;
      • Управление полями: кнопка + Добавить поле Рис. 4 [5] используется для формирования состава полей будущей формы

      Режим Полный редактор шаблона Рис. 5 — инструмент для прямой настройки конфигураций структуры шаблона.

      к сведению

      Режим Полный редактор шаблона предоставляет прямой доступ к коду конфигурации, что позволяет определять сложные логические структуры, валидацию и параметры отображения с помощью JSON-схем.
      Редактор использует специфические маркеры #start_schema и end_schema# для обозначения начала и конца конфигурационного блока.
      Основные компоненты конфигурации:

      • json_schema: раздел, определяющий структуру данных, типы объектов и обязательные поля (например, kwargs и pillar)

      • ui_schema: раздел, отвечающий за визуальное представление и заголовки полей (ui:title) в интерфейсе формы.

      Окно создания шаблона задачи: режим "Полный редактор шаблона"
      Рисунок 5. Окно создания шаблона задачи: режим "Полный редактор шаблона"

    • Рабочая область предпросмотра

      блок Предпросмотр формы Рис. 4 [6] предназначен для визуального отображения создаваемой структуры в режиме реального времени

    • Инструменты валидации

      в нижней части окна доступны кнопки Проверить Рис. 4 [7] и Данные формы Рис. 4 [8], предназначенные для контроля корректности созданной конфигурации

      Кнопка Проверить: запускает валидацию введенных данных.
      Система проверяет корректность заполнения обязательных полей.
      При успешной проверке появляется системное уведомление Форма заполнена корректно.

      Кнопка Данные формы:открывает модальное окно, в котором отображается итоговая структура данных (JSON-представление) настроенного шаблона.

    • Сохранение

      кнопка Сохранить Рис. 4 [9] в правом верхнем углу окна фиксирует итоговые изменения в шаблоне.

  2. На вкладке Визуальный редактор формы окна создания шаблона перейдите в поле Название схемы Рис. 4 [3] и введите название, например Посмотреть пиллар Рис. 6 [1].
    В блоке Предпросмотр формы отобразится значение поля Название схемы Рис. 6 [2].

    Заполнение полей "Название схемы" и "Описание схемы"
    Рисунок 6. Заполнение полей "Название схемы" и "Описание схемы"

  3. Затем перейдите в поле Описание схемы Рис. 4 [4] и введите значение, например Вы можете посмотреть пиллар (значение) Рис. 6 [3].

  4. Нажмите кнопку + Добавить поле Рис. 6 [4].

  5. В открывшемся диалоговом окне Добавить новое поле заполните поля Имя поля, Описание, установите флаг Обязательное поле — определяет, обязательно ли поле для заполнения Рис. 7.
    Нажмите кнопку Добавить поле Рис. 7.

    Добавление нового поля в форму
    Рисунок 7. Добавление нового поля в форму

    После добавления поле появится в списке в окне создания шаблона задачи и доступно для настройки Рис. 8.

    Настройка нового поля
    Рисунок 8. Настройка нового поля

  6. Перейдите на вкладку Полный редактор шаблона Рис. 9[1].

    Редактирование кода шаблона на вкладке "Полный редактор шаблона"
    Рисунок 9. Редактирование кода шаблона на вкладке "Полный редактор шаблона"

  7. В редакторе кода, ниже добавьте переменные шаблона, макросы и вызовы макросов Рис. 9[2].

  8. В блоке Предпросмотр формы ведите ключ пиллара в обязательном поле атрибута name Рис. 9[3].

  9. Нажмите кнопку Сохранить Рис. 9[4].

  10. В открывшемся диалоговом окне Сохранение шаблона заполните поле атрибута Имя файла и нажмите кнопку Сохранить Рис. 10.

    Диалоговое окно "Сохранение шаблона"
    Рисунок 10. Диалоговое окно "Сохранение шаблона"

В результате выполненных действий созданный шаблон появится в секции Шаблоны карточки источника Рис. 11[1].

Созданный шаблон в карточке источника
Рисунок 11. Созданный шаблон в карточке источника


Для шаблона Рис. 11[1] доступны следующие кнопки и действия:

  • Кнопка Редактировать шаблон

    открывает шаблон в редакторе

  • Кнопка Дублировать шаблон

    создаёт дубликат шаблона

  • Кнопка Удалить шаблон

    удаляет выбранный шаблон

Подключение и синхронизация локального источника шаблонов

Для подключения локального источника с созданным шаблоном (в примере это источник Локальные шаблоны) нажмите кнопку Подключить Рис. 11[2].
После подключения источника появится уведомление о подключении Рис. 12[1], статус источника сменится на Подключен Рис. 12[2].
Для синхронизации источника нажмите кнопку Синхронизировать Рис. 12[3].

Подключение локального источника
Рисунок 12. Подключение локального источника


к сведению

Кнопка Синхронизировать Рис. 12[3] раскладывает шаблоны (/srv/saltbox_salt/<имя>.sls) и файлы (/srv/sshfs/…) по всем принятым контроллерам.
После этого шаблон появляется в пункте Клиенты при создании новой задачи (в диалоговом окне Выберите шаблон задачи), а форма параметров генерируется из JSON-схемы.

Кнопка: Отключить Рис. 12[4]:

  • предназначена для разрыва соединения с источником;
  • делает шаблоны временно недоступными.

В результате синхронизации появится уведомление о синхронизации Рис. 13[1], рядом со статусом источника Подключен появится статус Активен Рис. 13[2] и отобразится история синхронизации Рис. 13[3].

Синхронизация с локальным источником
Рисунок 13. Синхронизация с локальным источником

Добавление файлов (sshfs)

После подключения источника рядом с секцией Файлы (sshfs) появится кнопка ✚ (Добавить файл) Рис. 12[5].
Для вызова диалогового окна добавления файлов нажмите кнопку ✚ Рис. 12[5].
В открывшемся диалоговом окне Добавление файла в источник "Локальные шаблоны" Рис. 14 заполните обязательные поля:

  • Путь назначения Рис. 14[1]: пользователь должен указать путь, по которому файл будет сохранен относительно корня sshfs;

  • Источник файла Рис. 14[2]: предусмотрены два способа загрузки:

    • вкладка Файл Рис. 14[3]

      путем выбора локального файла (нажатием или перетаскиванием в выделенную область);

    • вкладка По URL Рис. 14[4]

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

    Добавление файла в локальный источник
    Рисунок 14. Добавление файла в локальный источник


к сведению

Окно Добавление файла в источник "Локальные шаблоны" позволяет пользователю загрузить и разместить файлы в структуре источника.

Добавьте файл (например, архив grub-2.06.zip) и нажмите кнопку Добавить Рис. 14[5].
Добавленный файл с указанным путём назначения отобразится в секции Файлы (sshfs) Рис. 15.

Добавленный файл в локальном источнике
Рисунок 15. Добавленный файл в локальном источнике

Добавление локального источника шаблонов

к сведению

Локальный источник (Local Repository) — это встроенный механизм хранения конфигураций и файлов без использования внешних системам хранения (например, Git-репозиториям, artifact-хранилищам или HTTP-источникам).

Для добавления локального источника шаблонов выполните следующие действия:

  1. На странице шаблонов конфигураций нажмите кнопку Рис. 2 [3].

  2. Из списка действий выберите метод Добавить локальный источник Рис. 3.

  3. В открывшемся диалоговом окне Добавление локального источника заполните поля Название (например, demo_nginx), Описание, Пространство имён Рис. 16.

    Диалоговое окно &quot;Добавление локального источника&quot;
    Рисунок 16. Диалоговое окно "Добавление локального источника"


  4. Нажмите кнопку Добавить Рис. 16.

    Созданный источник появится на странице шаблонов конфигураций Рис. 17.

    Страница шаблонов конфигураций: созданный локальный источник
    Рисунок 17. Страница шаблонов конфигураций: созданный локальный источник


  5. Рядом с созданным источником нажмите кнопку Подключить Рис. 17 [1].

Добавление источника из архива

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

  1. На странице шаблонов конфигураций нажмите кнопку Рис. 2 [3].

  2. Из списка действий выберите метод Добавить из архива Рис. 3.

  3. В открывшемся диалоговом окне Добавление источника из архива заполните поля (обязательные поля указаны жирным шрифтом):

    • Название (например, Из архива) Рис. 18 [1];
    • Описание;
    • Пространство имён;
    • Архив (добавьте файл в виде архива) Рис. 18 [2].

    Диалоговое окно &quot;Добавление источника из архива&quot;
    Рисунок 18. Диалоговое окно "Добавление источника из архива"


  4. Нажмите кнопку Добавить Рис. 18 [3].

    Добавленный источник появится на странице шаблонов конфигураций Рис. 19 с типом источника Архив (выделено фиолетовым цветом) Рис. 19 [1] и текущим статусом Не подключен (выделено желтым цветом) Рис. 19 [2].

    Список шаблонов в архиве)`
    Рисунок 19. Список шаблонов в архиве


  5. Нажмите кнопку Подключить Рис. 19 [3].

  6. Для синхронизации источника нажмите кнопку Синхронизировать Рис. 20 [1].

    Синхронизация с архивом
    Рисунок 20. Синхронизация с архивом


    В результате синхронизации — появится уведомление о синхронизации Рис. 20 [2], рядом со статусом источника Подключен появится статус Активен Рис. 20 [3].

После этого шаблон появляется в пункте Клиенты при создании новой задачи (в диалоговом окне Выберите шаблон задачи), а форма параметров генерируется из JSON-схемы.

Добавление источника из git-репозитория

Для добавления источника из git-репозитория выполните следующие действия:

  1. На странице шаблонов конфигураций нажмите кнопку Рис. 2 [3].

  2. Из списка действий выберите метод Добавить из git-репозитория Рис. 3.

  3. В открывшемся диалоговом окне Добавление источника из git-репозитория Рис. 21 заполните поля (обязательные поля указаны жирным шрифтом):

    • Название (например, Migration) Рис. 21 [1];
    • Описание;
    • Пространство имён;
    • URL репозитория (добавьте ссылку на репозиторий) Рис. 21 [2];
    • Пользователь Рис. 21 [2];
    • Пароль/токен Рис. 21 [2];
    • Ветка (добавьте название ветки репозитория) Рис. 21 [3].

    Диалоговое окно &quot;Добавление источника из git-репозитория&quot;
    Рисунок 21. Диалоговое окно "Добавление источника из git-репозитория"

  4. Нажмите кнопку Добавить Рис. 21 [4].

    Добавленный источник появится на странице шаблонов конфигураций Рис. 22 с типом источника Git (выделено желтым цветом) Рис. 22 [1] и текущим статусом Не подключен (выделено желтым цветом) Рис. 22 [2].
    В этом же блоке будет отображён список шаблонов, доступных в этом источнике.

    Список шаблонов в git-репозитории
    Рисунок 22. Список шаблонов в git-репозитории


  5. Нажмите кнопку Подключить Рис. 22 [3].

  6. Для синхронизации источника нажмите кнопку Синхронизировать Рис. 23 [1].

    Синхронизация с git-репозиторием
    Рисунок 23. Синхронизация с git-репозиторием

    В результате синхронизации — появится уведомление о синхронизации Рис. 23 [2], рядом со статусом источника Подключен Рис. 23 [3] появится статус Активен Рис. 23 [4].

После этого шаблон появляется в пункте Клиенты при создании новой задачи (в диалоговом окне Выберите шаблон задачи), а форма параметров генерируется из JSON-схемы.

Дублирование, редактирование, удаление шаблона источника

Дублирование шаблона

Для дублирования шаблона источника (например, из одного источника в другой) выполните следующие действия:

  1. Перейдите в карточку источника (с добавленными шаблонами), выберите необходимый шаблон и нажмите кнопку Дублировать шаблон Рис. 24 [1].

    Переход в диалоговое окно дублирования шаблона задачи
    Рисунок 24. Переход в диалоговое окно дублирования шаблона задачи

  2. В открывшемся окне Дублирование шаблона задачи (вкладка Визуальный редактор формы) присвойте новое название схемы в поле Название схемы Рис. 25 [1] и нажмите кнопку Сохранить Рис. 25 [2].

    Окно дублирования шаблона задачи
    Рисунок 25. Окно дублирования шаблона задачи

  3. В следующем диалоговом окне Сохранение шаблона заполните поля атрибута Целевой источник (источник, в который добавляется дубликат) Рис. 26 [1], Имя файла Рис. 26 [2] и нажмите кнопку Сохранить Рис. 26 [3].

    Диалоговое окно &quot;Сохранение шаблона&quot;
    Рисунок 26. Диалоговое окно "Сохранение шаблона"

В результате выполненных действий дублированный шаблон появится в секции Шаблоны карточки источника Рис. 27.

Дублированный шаблон в карточке источника
Рисунок 27. Дублированный шаблон в карточке источника

Редактирование шаблона

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

  1. Перейдите в карточку источника (с добавленными шаблонами), выберите необходимый шаблон и нажмите кнопку Редактировать шаблон Рис. 27 [1].

  2. В открывшемся окне Редактирование шаблона задачи проведите изменения (например, на вкладке Визуальный редактор формы добавлено новое поле Рис. 28 [1,2]) и нажмите кнопку Сохранить Рис. 28 [3].

    Окно редактирования шаблона задачи
    Рисунок 28. Окно редактирования шаблона задачи

  3. В следующем диалоговом окне Сохранение шаблона нажмите кнопку Сохранить Рис. 29.

    Диалоговое окно &quot;Сохранение шаблона&quot;
    Рисунок 29. Диалоговое окно "Сохранение шаблона"

Удаление шаблона

Для удаления шаблона выполните следующие действия:

  1. Перейдите в карточку источника (с добавленными шаблонами), выберите необходимый шаблон и нажмите кнопку Удалить шаблон Рис. 27 [2].

  2. В диалоговом окне Удаление шаблона нажмите кнопку Удалить Рис. 30.

    Диалоговое окно &quot;Удаление шаблона&quot;
    Рисунок 30. Диалоговое окно "Удаление шаблона"

В результате действий появится уведомление об удалении шаблона Рис. 31.

Уведомление об удалении шаблона**
Рисунок 31. Уведомление об удалении шаблона