Конфигурация приложения

Конфигурация хранится в файле в формате 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
  • Обязательное: Нет