Skip to main content

Настройка конфигурации CSP3

Стандартная установка разместит csp сервер в директории /opt/csp3

global-config.json

Этот файл обязателен для запуска сервера, должен находится в корне приложения, рядом с start.sh. Эта конфигурация влияет на первоначальный запуск всех компонентов, при ее изменении необходимо перезапустить весь CSP. Пример:

{
  "common":{
    "postgresUri": "postgresql://postgres:123@127.0.0.1:5432/csp3",
    "ghostScriptPath": "gs",
    "timeZone": "Europe/Moscow",
    "baseUrl": "http://127.0.0.1",
    "database": "postgres"
  },
  "Logger" : {
    "disable" : false
  },
  "NatsConnection" : {
    "server": "127.0.0.1:4222",
    "prefix": "main.",
    "timeout": 60000,
    "format": "msgpack",
    "requestMode": "long"
  },
  "Auth": {
    "admin": {
      "login" : "admin",
      "password" : "123"
    }
  },
  "HttpProxy": {
    "host" : "0.0.0.0",
    "port" : 80
  },
  "PkgUpdater" : {
    "updateServerUrl": "https://carabi.csp.carabisol.ru"
  }
}

Секция common – общие настройки

  • postgresUri – Строка подключения к PostgreSQL. Формат: postgresql://[user]:[password]@[host]:[port]/[database]
  • ghostScriptPath – (опционально) Путь к исполняемому файлу GhostScript (gs). GhostScript используется для обработки PDF. Значение "gs" означает, что программа находится в PATH системы
  • timeZone – Временная зона, в которой работает приложение
  • baseUrl – Базовый URL, по которому доступен сервис (используется для формирования ссылок, редиректов, CORS и т.п.) При использовании https reverse proxy указывать его адрес, напр https://demo.csp.carabisol.ru
  • database – Указывает имя используемой СУБД – всегда postgres

Секция Logger – настройки логирования

  • disable – Флаг отключения логирования. При true системя логирования полностью отключается, увеличивает производительность приложения

Секция NatsConnection – подключение к NATS (message broker)

  • server – Адрес сервера NATS в формате хост:порт. 127.0.0.1:4222 – стандартный адрес локального NATS‑сервера (порт по умолчанию 4222)
  • prefix – Префикс, добавляемый ко всем темам (subject) NATS. Необходим для запуска нескольких CSP на одном nats-server
  • timeout – Должен быть всегда 60000, реальный таймаут реализован на более высоком уровне
  • format – Формат сериализации данных сообщений (json/msgpack). msgpack предпочтительнее
  • requestMode – Должен быть всегда long.

Секция Auth – аутентификация и учётные записи

Администратор – виртуальная учетная запись. Позволяет входить в систему, даже при отказе стандартной системы авторизции (или первоначальной настройки)

  • admin.login – Логин администратора
  • admin.password – Пароль администратора

Секция HttpProxy – настройки встроенного Reverse HTTP‑прокси

HttpProxy - является единой точкой подключения к системе, которая направляет трафик до нужного сервиса.

  • host – IP‑адрес или имя хоста, на котором будет слушать HTTP‑сервер. 0.0.0.0 открывает доступ с любого адреса. 127.0.0.1 - только для локальных приложений, если доступ к серверу осуществляется доступ через локальный внешний reverse proxy (напр. nginx)
  • port – Номер порта для HTTP‑сервера

Секция PkgUpdater – настройки системы обновления

  • updateServerUrl - (опционально) URL внешнего сервера, с которого приложение будет получать обновления.

Настройка реестра CSP

Реестр, в отличии от global-config.json, можно изменять в процессе работы приложения, через специальный раздел в панели администратора. Также можно изменить файл ./data/common-registry-data.json напрямую, но это нужно делать при остановленном сервере. При добавлении новых компонентов приложения, реестр может расширятся.

Пример, с параметрами, необхоимыми для запуска:

{
  "main": {
    "name": "CSP3",
    "description": "Тестовый сервер"
  },
  "logger": {
    "minLevel": 50,
    "minRecords": 1000,
    "maxRecords": 5000
  },
  "PkgUpdater": {
    "token": null,
    "timer": 300000
  },
  "queries": {
    "type": "ora"
  },
  "pgQueryPool": {
    "connectionCount": 25
  }
}
  • main.name - системное имя программы, используется для получения обновлений
  • main.description - текстовое описание сервера, отображается в интерфейсах
  • logger.minLevel - минимальный уровень логирования (числовое значение, например, 50 — предупреждения и выше)
  • logger.minRecords - минимальное количество записей в логе, при котором начинается их обработка или ротация
  • logger.maxRecords - максимальное количество записей в логе, после превышения которого старые записи удаляются
  • PkgUpdater.token - токен для авторизации при доступе к репозиторию обновлений пакетов (значение null - обновление отключено)
  • PkgUpdater.timer - интервал проверки наличия обновлений в миллисекундах (300000 = 5 минут)
  • queries.type - всегда ora, система использует встроенный "ora" адаптер, для отправки запросов в PostgreSQL
  • pgQueryPool.connectionCount - количество одновременно поддерживаемых соединений в пуле подключений к PostgreSQL

Лицензия

Файл лицензии хранится в ./data/license.json. Его можно разместить напрямую или измениь в панели администратора (Нажать на красную панель вверху экрана).

После изменения лицензии, реккомендуется перезагрузить сервер: systemctl restart csp3