Настройки (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