Настройки (Settings)

Проект

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

Настройки задаются в yaml или json файле в виде ключ - значение по умолчанию.

some-connection-string: Data Source=.\\SQLEXPRESS;Initial Catalog=somedb;Integrated Security=SSPI;TrustServerCertificate=True
some-url: https://some.url
foo: Bar

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

Ключ должен быть уникален среди всех файлов настроек (подумать, можем ли избежать)

Использование в файлах проекта

В json и yaml файлах проекта можно использовать плейсхолдеры ${settings-key} (подумать, такой ли синтаксис) , содержащие ключ настройки. Значения будут автоматически заменены на значение настроек в момент загрузки снапшота. (Добавить ссылку на жизненный цикл HostServer)

Пример использования

combs:
    - number: 0
      filter: '${some-filter-settings}'

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

Использование в Backend - части

Доступ к настройкам можно получить из интерфейса IHoneyEnvironment.Settings из DI-контейнера.

Также будет проработан механизм автомаппинга настроек в объект с помещением его в DI-контейнер.

Доступ к настройкам из Frontend - части

Прямого доступа к настройкам из фронта не будет, однако в будущем планируется проработать механизм использования плейсхолдеров для некоторых js-файлов.

Пока же необходимо использовать передачу информацию через цепочку:

Request - Process - GetData (вставить стандартный фильтр для чтения данных из JSON) - DataSource типа JSON-файл, в котором и будут использованы плейсхолдеры.

Контуры

В настройках контура можно переопределить значения по умолчанию для каждого контура.

При задании настроек для конкретного контура можно выбрать и настроить источник (Source) для получения значений настроек.

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

Default

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

Value

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

Azure App Config

Настройки можно брать из Azure App Configuration.

Для этого необходимо будет задать:

  • connection-string - строка подключения

  • key - ключ для поиска значения конфигурации

  • label - для выбора конкретной записи, может быть пустой строкой

Значение из Azure Vault будут поддерживаться несколько позже.

Также в будущих выпусках платформы будут введены новые источники значений настроек.

Last updated