Настройка конфигурации 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