docs: backlog for agent version compliance and remote updates
Add agent-update-backlog.md and roadmap v0.7 outline for SAC-driven agent version tracking and remote update initiation. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -18,6 +18,7 @@
|
|||||||
| [seaca-mobile.md](seaca-mobile.md) | **Seaca**: коды, устройства, сессия, API |
|
| [seaca-mobile.md](seaca-mobile.md) | **Seaca**: коды, устройства, сессия, API |
|
||||||
| [seaca-fcm.md](seaca-fcm.md) | **Seaca push**: Firebase и `SAC_FCM_*` |
|
| [seaca-fcm.md](seaca-fcm.md) | **Seaca push**: Firebase и `SAC_FCM_*` |
|
||||||
| [workspace-three-repos.md](workspace-three-repos.md) | Multi-root workspace (три репо) |
|
| [workspace-three-repos.md](workspace-three-repos.md) | Multi-root workspace (три репо) |
|
||||||
|
| [agent-update-backlog.md](agent-update-backlog.md) | **ToDo:** версии агентов, удалённое обновление |
|
||||||
|
|
||||||
## Порядок чтения
|
## Порядок чтения
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
# ToDo — управление версиями агентов и удалённое обновление
|
||||||
|
|
||||||
|
**Статус:** идея, требует проработки архитектуры.
|
||||||
|
**Связано:** [roadmap.md](roadmap.md) (v0.7), [agent-integration.md](agent-integration.md), UI «Хосты».
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Цель
|
||||||
|
|
||||||
|
SAC должен:
|
||||||
|
|
||||||
|
1. **Отслеживать соответствие версий** агентов (`ssh-monitor`, `RDP-login-monitor`) ожидаемым/минимальным для текущей версии SAC.
|
||||||
|
2. **Инициировать обновление удалённо** с компьютеров/серверов из UI SAC (или по политике), без ручного захода на каждый хост.
|
||||||
|
|
||||||
|
Сейчас версии видны по `host.product_version` и heartbeat; обновление — вручную (`update_ssh_monitor.sh`, `Deploy-LoginMonitor.ps1` / NETLOGON, GPO).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Вопросы для проработки
|
||||||
|
|
||||||
|
| # | Тема | Варианты / заметки |
|
||||||
|
|---|------|-------------------|
|
||||||
|
| 1 | **Источник истины версии** | Матрица в SAC (min/recommended per `product`); теги в репо; отдельный manifest API |
|
||||||
|
| 2 | **Сигнал «устарел»** | Problem `agent.version.stale`; severity на карточке хоста; дашборд «не на версии» |
|
||||||
|
| 3 | **Канал команд** | Pull-only (агент сам тянет по расписанию) vs push-команда от SAC (нужен обратный канал) |
|
||||||
|
| 4 | **Linux** | Вызов `update_ssh_monitor.sh` по systemd timer + флаг «pending update» из SAC ingest response? Отдельный `agent.command` event? SSH/Ansible с SAC — вне scope агента |
|
||||||
|
| 5 | **Windows** | GPO/NETLOGON уже есть; remote = триггер `Deploy-LoginMonitor.ps1` через scheduled task / WinRM / SCCM — что допустимо по безопасности |
|
||||||
|
| 6 | **Авторизация** | Только admin SAC; audit log; подтверждение массового обновления; rate limit |
|
||||||
|
| 7 | **Отчёт о результате** | `agent.update.started` / `agent.update.success` / `agent.update.failed` в ingest; привязка к `host_id` |
|
||||||
|
| 8 | **Сеть** | Агент за NAT только исходящий HTTPS — предпочтителен **pull**, не inbound на хост |
|
||||||
|
| 9 | **Совместимость** | Связка с `schema_version`, откат, окно maintenance |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Черновые критерии приёмки (когда дойдём до реализации)
|
||||||
|
|
||||||
|
- [ ] В UI «Хосты»: колонка/бейдж «версия OK / устарела / неизвестна».
|
||||||
|
- [ ] Настройка минимальной/рекомендуемой версии по продукту в SAC (или env).
|
||||||
|
- [ ] Problem или оповещение при расхождении (с cooldown).
|
||||||
|
- [ ] Действие admin: «Запросить обновление» на одном хосте / группе (MVP).
|
||||||
|
- [ ] Агент подтверждает попытку обновления событием в SAC.
|
||||||
|
- [ ] Документация: Linux + Windows runbook, ограничения безопасности.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Не в первой итерации (вероятно)
|
||||||
|
|
||||||
|
- Полная замена Ansible/GPO/SCCM.
|
||||||
|
- Обновление SAC с агентов.
|
||||||
|
- macOS-агент.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## См. также
|
||||||
|
|
||||||
|
- [analytics-backlog.md](analytics-backlog.md) — отложенная аналитика
|
||||||
|
- [todo-2026-05-29.md](todo-2026-05-29.md) — оповещения и настройки
|
||||||
|
- Репозитории агентов: `update_ssh_monitor.sh`, `Deploy-LoginMonitor.ps1`, `update-rdp-monitor.ps1`
|
||||||
@@ -81,6 +81,20 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## v0.7 — Версии агентов и удалённое обновление (ToDo)
|
||||||
|
|
||||||
|
**Цель:** SAC контролирует актуальность `ssh-monitor` и `RDP-login-monitor` на хостах и может **инициировать обновление** без обхода всех машин вручную.
|
||||||
|
|
||||||
|
- Сверка `product_version` с политикой SAC (min / recommended)
|
||||||
|
- UI: статус версии на карточке хоста, список отстающих
|
||||||
|
- Problems / оповещения при устаревании агента
|
||||||
|
- Команда обновления (предпочтительно **pull** с хоста: агент видит «нужно обновиться» и запускает свой updater)
|
||||||
|
- События `agent.update.*` в ingest для аудита
|
||||||
|
|
||||||
|
**Проработка:** [agent-update-backlog.md](agent-update-backlog.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Не планируется (пока)
|
## Не планируется (пока)
|
||||||
|
|
||||||
- Замена Zabbix для инфраструктурного мониторинга
|
- Замена Zabbix для инфраструктурного мониторинга
|
||||||
|
|||||||
@@ -84,5 +84,6 @@ UseSAC=exclusive→ только SAC ingest; TG/email = настройки SAC (
|
|||||||
|
|
||||||
- [TZ.md](TZ.md) §4.6 F-NOT-01 … F-NOT-05
|
- [TZ.md](TZ.md) §4.6 F-NOT-01 … F-NOT-05
|
||||||
- [agent-integration.md](agent-integration.md) — режимы UseSAC
|
- [agent-integration.md](agent-integration.md) — режимы UseSAC
|
||||||
|
- [agent-update-backlog.md](agent-update-backlog.md) — **ToDo:** версии агентов и удалённое обновление из SAC
|
||||||
- `backend/app/config.py` — `telegram_*`
|
- `backend/app/config.py` — `telegram_*`
|
||||||
- `backend/app/services/telegram_notify.py`
|
- `backend/app/services/telegram_notify.py`
|
||||||
|
|||||||
Reference in New Issue
Block a user