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:
PTah
2026-06-17 11:07:12 +10:00
parent 6b288bfa49
commit 2069e57f14
4 changed files with 74 additions and 0 deletions
+58
View File
@@ -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`