Экспорт QUIK — отдельная служба bj-quikexport; модули, выделенные из ядра, ставятся с обновлением
bj-quikexport (modules/quikexport + cmd/bj-quikexport, 127.0.0.1:8084): управление ARQA quikexport перенесено из bj-server. Настройки у службы в /var/lib/bj/.bj/quik-export/settings.json (при первом запуске переносятся из setup.json), раздел отдаётся фрагментом с индикатором меню, действия отвечают X-BJ-Flash. bj-server встраивает раздел в «Настройку», проксирует формы /admin/setup/quikexport/… и передаёт лицензию (X-BJ-Licensed). Общая проверка служебного ключа — modules/modkit (им пользуется и bj-npr), общее для прокси — lkgateway/modules.go. Выделенные из ядра модули (bj-npr, bj-quikexport: Component.FromCore) при обновлении ставятся и там, где их ещё нет, если входят в лицензию: release.MarkSplitModules, request.json "new", root-установщик ставит и включает unit-файл из комплекта. Если в обновлении меняется сам установщик, модули ставятся после перезапуска bj-server (ensureSplitModules). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
// этот инструмент. Проверка и установка — release.InstallStaged: подпись манифеста ключом из
|
||||
// /etc/bj/update.pub (принадлежит root), sha256 файлов, только известные компоненты, без отката,
|
||||
// копия прежнего файла, перезапуск служб (ядро последним), записи в /var/lib/bj/.bj/components.json.
|
||||
// Выделенным из ядра модулям, которые ставятся впервые, ставит и включает unit-файл службы из комплекта.
|
||||
// Вывод — JSON для bj-server.
|
||||
//
|
||||
// bj-component-install <каталог подготовки>
|
||||
@@ -17,6 +18,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"git.zetit.ru/zuevav/Bridge-and-Join-s/deploy"
|
||||
"git.zetit.ru/zuevav/Bridge-and-Join-s/internal/release"
|
||||
)
|
||||
|
||||
@@ -30,7 +32,7 @@ func main() {
|
||||
if pub, err := release.LoadPublicKey(*pubPath); err != nil {
|
||||
res.Error = fmt.Sprintf("открытый ключ обновлений (%s): %v", *pubPath, err)
|
||||
} else {
|
||||
res = release.InstallStaged(fs.Arg(0), release.InstallOptions{Root: *root, PubKey: pub, Restart: !*noRestart})
|
||||
res = release.InstallStaged(fs.Arg(0), release.InstallOptions{Root: *root, PubKey: pub, Restart: !*noRestart, Units: deploy.Files})
|
||||
}
|
||||
b, _ := json.Marshal(res)
|
||||
fmt.Println(string(b))
|
||||
|
||||
Reference in New Issue
Block a user