Конфигурация приложения
Конфигурация хранится в файле в формате JSON. Для применения достаточно внести изменения и перезапустить сервис. Внесение изменений в конфигурацию "налету" пока не поддерживается.
По-умолчанию конфигурация хранится в файле /etc/fontera/config.json
Пример полной конфигурации
{
"demo": false,
"controllers": [
{
"ip": "192.168.0.100",
"port": 502,
"start_id": 1,
"end_id": 30
},
{
"ip": "192.168.0.101",
"port": 502,
"start_id": 15,
"end_id": 45
}
],
"debug": false,
"api_log": "/var/log/fontera/api.log",
"db_path": "/app/ptls.db",
"clean_ptl_on_startup": true
}
Просмотр текущей конфигурации через API
Если необходимо уточнить конфигурацию, ее можно получить через HTTP API:
GET /config
Изменение текущей конфигурации
Через API изменить конфигурацию нельзя. Изменения вносятся в файл config.json, после чего нужно перезапустить сервис.
Описание опций
api_log
Путь до файла журнала (лога) событий приложения.
- По-умолчанию:
/var/log/fontera/api.log
- Тип:
string
- Обязательное:
Нет
clean_ptl_on_startup
Если включено, то при перезапуске сервиса будут принудительно очищаться все PTL модули.
- По-умолчанию:
false
- Тип:
bool
- Обязательное:
Нет
controllers
Обязательная опция. Без нее сервис не запустится.
Список контроллеров и их состава PTL модулей.
- ip: адрес USR в формате ipv4
- port: порт для подключения к USR
- start_id: начало диапазона идентификаторов PTL модулей
- end_id: конец диапазона идентификаторов PTL модулей
В примере ниже мы указали 1 USR, к которому подключены PTL модули с 1 по 30.
Кол-во контроллеров в конфигурации технически не ограничено. Рекомендуется на один сервис устанавливать не больше 5 контроллеров, чтобы избежать деградации производительности. Точные показатели производители зависят от множества условий, которые нужно определять по месту во время проектирования интеграции, а также по результатам тестирования на конкретных инсталляциях.
При использовании демо-режима, ддя всех перечисленных USR будут созданы виртуальные PTL-модули с указанными диапазонами.
"controllers": [
{
"ip": "192.168.0.100",
"port": 502,
"start_id": 1,
"end_id": 30
}
]
db_path
Адрес базы данных sqlite. База данных используется только для демо-режима. Создается автоматически во время запуска сервиса в режиме "демо".
- По-умолчанию:
/tmp/ptls.db
- Тип:
string
- Обязательное:
Нет
debug
Режм расширенного отображения отладочных сообщений.
- По-умолчанию:
false
- Тип:
bool
- Обязательное:
Нет
demo
Переключатель демонстрационного режмма.
В этом режиме не используется реальное оборудование. Вместо этого создаются записи для виртуальных PTL-модулей во встроенной базе данных. Состояния записываются в эту базу данных. Таким образом эмулируется хранение.
- По-умолчанию:
false
- Тип:
bool
- Обязательное:
Нет