НПР / УДС — отдельная служба bj-npr

Модуль вынесен в modules/npr + cmd/bj-npr (127.0.0.1:8083), обновляется
независимо от ядра. Служба читает подключение из setup.json и принимает
запросы только со служебным ключом модулей (/var/lib/bj/.bj/module.key,
создаёт bj-server). Полные страницы отдаются фрагментом (X-BJ-Layout: page).

bj-server хранит настройки и проверку подключения, проксирует /admin/npr
после входа, прав и лицензии и встраивает страницы модуля в общий макет
(admin.modulePage); если служба не отвечает — понятная страница.
Unit bj-npr.service встроен в установщик, установщик включает службы
установленных модулей; build-release.sh собирает bj-npr.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
zuevav
2026-09-16 01:00:31 +03:00
parent d8dee07213
commit 5527a464ca
15 changed files with 872 additions and 467 deletions
+1 -1
View File
@@ -6,5 +6,5 @@ import "embed"
// Files — linux/sbin/* (в /usr/local/sbin) и systemd/*.service (в /etc/systemd/system).
//
//go:embed linux/sbin/* systemd/bj-server.service systemd/bj-crypto.service systemd/bj-keymedia.service
//go:embed linux/sbin/* systemd/bj-server.service systemd/bj-crypto.service systemd/bj-keymedia.service systemd/bj-npr.service
var Files embed.FS
+24
View File
@@ -0,0 +1,24 @@
[Unit]
Description=Bridge&Join: модуль «НПР / УДС» (риск-монитор по данным QUIK)
Documentation=https://git.zetit.ru/zuevav/Bridge-and-Join-s
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=bj
Group=bj
ExecStart=/opt/bj/bj-npr -addr 127.0.0.1:8083 -setup /var/lib/bj/.bj/setup.json -key /var/lib/bj/.bj/module.key
Restart=on-failure
RestartSec=5
StandardOutput=append:/var/log/bj/bj-npr.log
StandardError=append:/var/log/bj/bj-npr.err
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
ReadWritePaths=/var/log/bj
ReadOnlyPaths=/var/lib/bj
[Install]
WantedBy=multi-user.target