Files
PTah b328d32f97 docs: agent control plane concept (v0.9.12)
Утверждённая концепция v0.7: RDG flap, qwinsta/logoff, обновления
агентов и desired config. Только документация и bump версии — runtime
без изменений.
2026-06-19 23:25:54 +10:00

59 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ToDo — управление версиями агентов и удалённое обновление
**Статус:** superseded — основной документ [agent-control-plane.md](agent-control-plane.md).
**Связано:** [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`