Сторож ИШ НРД: проверка каждые 30 с, оповещение через 2 мин недоступности, автоперезапуск igate (до 3 попыток, раз в 20 мин), оповещения «не помог»/«восстановлен», красный индикатор в шапке; igate в списке служб root-демона

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
zuevav
2026-09-24 13:56:37 +03:00
parent 54404a8f6d
commit 405061ef8d
5 changed files with 236 additions and 3 deletions
+5
View File
@@ -356,6 +356,8 @@ type page struct {
IsMockMode bool // true если ИШ или СКЗИ не настроены — обмена с НРД нет
MockReason string // короткое описание причины (у клиента — без «mock»)
NPR bool // модуль «НПР / УДС» включён и разрешён лицензией
IGWDown string // ИШ НРД не отвечает: «N мин» (пусто — отвечает или не проверялся)
IGWDetail string
DevMode bool // режим разработки (сервер лицензий): видны служебные разделы
}
@@ -720,6 +722,9 @@ func nowPage(title, active string) page {
if globalRC != nil {
p.NPR = nprAvailable(globalRC)
p.DevMode = devMode(globalRC)
if down, d, det := igwStatus(); down {
p.IGWDown, p.IGWDetail = humanDur(d), det
}
s := globalRC.Snapshot()
switch {
case s.NSD.IGWBaseURL == "":