diff --git a/internal/lkgateway/updater.go b/internal/lkgateway/updater.go index 3782b2c..b780ab2 100644 --- a/internal/lkgateway/updater.go +++ b/internal/lkgateway/updater.go @@ -324,7 +324,9 @@ func updateComponentRows(rc *RuntimeConfig) ([]release.ComponentState, bool) { } r.Available = avail[r.Name] r.Update = r.Available != "" && (r.Present || r.Core) && (r.Installed == "" || release.IsNewer(r.Available, r.Installed)) - if r.Present || r.Core || r.Available != "" { + // Модуль, которого нет на сервере и нет в лицензии, не показываем: поставить его нельзя, + // а в списке он выглядит так, будто входит в поставку. + if r.Present || r.Core || (r.Available != "" && moduleAllowed(rc, r.Feature)) { out = append(out, r) } } diff --git a/internal/release/components.go b/internal/release/components.go index b39dc32..57b24ca 100644 --- a/internal/release/components.go +++ b/internal/release/components.go @@ -36,7 +36,9 @@ var Components = []Component{ // они переписываются командой «bj-installer refresh-system» — правки установки приезжают // обновлением, образ ISO пересобирать не нужно. {Name: "bj-installer", Title: "Установщик и системные файлы (службы, скрипты)", Path: "/usr/local/sbin/bj-installer", Exec: true, Core: true, Feature: "updates"}, - {Name: "crypto-service.jar", Title: "Криптосервис", Path: "/opt/bj/crypto-service.jar", Unit: "bj-crypto", Feature: "updates"}, + // Криптосервис нужен любой установке (подпись и проверка через Валидату), но в образ не входит: + // ставится с первым обновлением после ввода ключа — как выделенный из ядра модуль. + {Name: "crypto-service.jar", Title: "Криптосервис", Path: "/opt/bj/crypto-service.jar", Unit: "bj-crypto", FromCore: true, Feature: "updates"}, {Name: "bj-lk", Title: "Личный кабинет клиента", Path: "/opt/bj/bj-lk", Unit: "bj-lk", Exec: true, Feature: "web-cabinet"}, {Name: "bj-npr", Title: "Риск-монитор НПР / УДС", Path: "/opt/bj/bj-npr", Unit: "bj-npr", Exec: true, FromCore: true, Feature: "npr"}, {Name: "bj-quikexport", Title: "Экспорт QUIK", Path: "/opt/bj/bj-quikexport", Unit: "bj-quikexport", Exec: true, FromCore: true, Feature: "quik-export"},