Схемы конфигурации

В данном разделе представлен обзор структуры и процесса создания схемы конфигурации. Управление схемами конфигурации в системе осуществляется в разделе Экспертиза.

О схемах конфигурации

Схемы конфигурации — это структурированные наборы данных, которые используются для задания структуры конфигураций. Конфигурации используются в скриптах и плейбуках. Они необходимы для взаимодействия с внешними системами. Схемы конфигурации во многом сходны с интерфейсами в языках программирования, так как они тоже описывают регламент взаимодействия между компонентами систем.

В схеме содержится детальное описание полей конфигурации — их количество, имена и типы данных. Также схема задает значения полей по умолчанию и определяет, является ли поле обязательным или опциональным.

Схемы конфигурации позволяют решить следующие задачи:

  • Предоставление пользователю строго определенного набора полей конфигурации, необходимого для взаимодействия с внешним сервисом или сущностью.

  • Валидация данных, введенных пользователем в форме создания конфигурации, в соответствии с заданными свойствами полей.

  • Объединение определенных полей конфигурации в одной категории. Это позволяет использовать такие поля совместно.

В настоящий момент схема имеет один уровень вложенности. Это означает, что все поля, перечисленные в схеме, относятся к одному объекту (пространству имен).

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

Работа со схемой конфигурации

Доступные операции над схемой конфигурации:

Создание схемы конфигурации

Чтобы создать схему конфигурации:

  1. Перейдите в раздел Экспертиза. Система отобразит список элементов экспертизы.

  2. На панели инструментов нажмите на кнопку Создать и выберите из выпадающего списка пункт Схема конфигурации. Система отобразит окно создания схемы конфигурации.

  3. Заполните поля схемы конфигурации, чтобы определить логику ее работы.

  4. Нажмите на кнопку Опубликовать версию, чтобы сохранить изменения и опубликовать созданную схему конфигурации. Система отобразит уведомление об успешном создании схемы конфигурации. Новая схема конфигурации отобразится в таблице раздела Экспертиза.

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

    Вы можете создать схему конфигурации без ее публикации (в виде черновика) с помощью кнопки Сохранить черновик. Система отобразит уведомление об успешном создании черновика схемы. Черновик отобразится в таблице раздела Экспертиза.

Изменение схемы конфигурации

Чтобы изменить схему конфигурации:

  1. Перейдите в раздел Экспертиза. Система отобразит сведения об имеющихся элементах экспертизы.

  2. Нажмите на строку схемы конфигурации в списке. Система отобразит в правой части экрана карточку с подробной информацией о схеме.

  3. Нажмите на кнопку действий (more vertical) в верхнем правом углу карточки и выберите опцию Изменить. Отобразится окно настроек схемы.

    Вы также можете открыть окно настроек с помощью кнопки в нижней части карточки:

    • Для опубликованной версии: нажмите на кнопку Просмотр в нижней части карточки. Система отобразит окно просмотра настроек элемента экспертизы. Нажмите на кнопку Изменить в правом нижнем углу окна.

    • Для черновика: нажмите на кнопку Изменить в нижней части карточки.

  4. Внесите требуемые изменения в схему конфигурации.

  5. Нажмите на кнопку Обновить версию. Новая версия схемы конфигурации будет опубликована. Система отобразит соответствующее уведомление.

    При публикации новой версии элемента экспертизы требуется увеличить его текущую версию в поле version.

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

Удаление схемы конфигурации

Чтобы удалить схему конфигурации:

  1. Перейдите в раздел Экспертиза. Система отобразит сведения об имеющихся элементах экспертизы.

  2. Нажмите на строку схемы конфигурации в списке. Система отобразит в правой части экрана карточку с подробной информацией о схеме.

  3. Нажмите на кнопку действий (more vertical) в верхнем правом углу карточки и выберите опцию Удалить. Отобразится окно подтверждения удаления схемы.

  4. Нажмите на кнопку Удалить. Система удалит схему и отобразит соответствующее уведомление. Удаленная схема будет исключена из списка элементов экспертизы.

Вы также можете удалить группу элементов экспертизы. Для этого:

  1. Перейдите в раздел Экспертиза. Система отобразит сведения об имеющихся элементах экспертизы.

  2. Установите флажки напротив тех элементов, которые вы хотите удалить, в левом столбце таблицы.

  3. Нажмите на кнопку trash на панели инструментов. Отобразится окно удаления.

  4. Нажмите на кнопку Удалить. Система удалит выбранные элементы и отобразит соответствующее уведомление. Удаленные элементы будет исключены из списка элементов экспертизы.

Структура схемы конфигурации

Поле Описание Тип данных Обязательное поле

id

Уникальный идентификатор схемы конфигурации.

строка

да

name

Название схемы конфигурации. Допустимы строчные и прописные буквы латинского алфавита (a—​z, A-—Z), цифры (0—​9), точка (.), подчеркивание (_) и дефис (-) без пробелов.

строка

да

resource_type

Тип ресурсов, к которому принадлежит данная схема. Позволяет пользователю различать одинаковые схемы, предназначенные для разных ресурсов.

Например, в системе имеются две абсолютно одинаковые и актуальные на данный момент схемы, предназначенные для соединения с разными серверами (Kafka и email). Если в будущем для соединения с сервером Kafka изменится способ входа, принадлежность схем к разным типам позволит отразить это изменение только в схемах, созданных для соединения с сервером Kafka.

строка

да

version

Версия схемы конфигурации, представленная в формате Semantic Versioning.

строка

да

author

Имя и контактные данные автора схемы конфигурации.

строка

нет

description

Описание схемы конфигурации, содержащее дополнительную информацию о ее назначении и функциональности.

строка

нет

tags

Список тегов, присвоенных схеме конфигурации для классификации и быстрого поиска.

массив строк

нет

schema

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

объект

да

Структура описания полей, входящих в поле schema

Поле Описание Тип данных Обязательное поле

name

Название поля конфигурации, которое позволяет уникально идентифицировать его. Пользователь получает значение этого поля в конфигурации на основе схемы.

строка

да

type

Тип данных поля.

Допустимые типы данных: string, bool, float, integer, timestamp, credentials, token, connection_string, certificate, pkcs_container и pkcs_12_container.

Ознакомьтесь с разделом Задание типа данных поля конфигурации через переменную.

строка

нет

required

Указывает, является ли это поле конфигурации обязательным для заполнения при создании конфигурации.

  • true — поле обязательно для заполнения.

  • false — поле необязательно для заполнения.

логический

да

default

Задает значение по умолчанию для этого поля конфигурации в случае, если пользователь не указал его вручную. Если значение поля default для поля конфигурации не задано, система вернет null в качестве значения поля конфигурации.

строка

нет

Задание типа данных поля конфигурации через переменную

Тип данных поля конфигурации можно задать в формате $<variable>:<type>, где <variable> — предварительно описанная переменная такого же типа, что и само поле, а <type> — тип данных поля. В этом случае поле конфигурации не будет принимать значения, введенные пользователем вручную. Поле принимает только значения в формате ссылок на переменную. Это позволяет конфигурировать определенные поля схемы вне системы.

Пример

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

Фрагмент схемы с описанием поля transport_schema:

transport_schema
   type: $variable:string
   required: true

При использовании протокола HTTP необходимо задать переменную, содержащую значение http. Эта переменная будет использоваться во всех конфигурациях для подключения к Kafka, созданных на основе текущей схемы конфигурации.

Если в дальнейшем возникнет необходимость начать использовать протокол HTTPS, а не HTTP, достаточно будет указать новое значение переменной, на которую ссылается тип данных $variable:string. Этим новым значением будет https. После этого все конфигурации, созданные на основе этой схемы, автоматически начнут использовать для подключения протокол HTTPS.