11 KiB
11 KiB
OpenWrt RMM — roadmap
Актуализировано: 2026-07-31.
Этот файл — единственный источник порядка продуктовой разработки. Инженерные и
production-проверки находятся в CHECKLIST.md, UI-критерии — в UI_CHECKLIST.md.
Статусы в этом документе означают:
[x]— функция реализована в веткеmainи покрыта базовыми проверками;[ ]— функция ещё не реализована полностью;- наличие функции в
mainне означает, что она уже вошла в опубликованный server/agent release или развёрнута на production.
Текущее состояние
Агент и OpenWrt-пакеты
- Go-агент
0.6.8: enrollment, heartbeat, inventory, метрики и очередь команд. - Allowlist операций, backoff, восстановление связи и очистка lock-файла.
- WAN, интерфейсы, DHCP/Wi-Fi-клиенты, память, диск и connectivity checks.
- Безопасная активная проверка до 32 IPv4 DHCP-клиентов и передача результатов серверу.
- Reverse SSH/LuCI tunnel через облачный сервер.
- IPK/APK для основной OpenWrt-матрицы и ручной legacy workflow.
- LuCI-приложение с английским интерфейсом по умолчанию.
- Отдельный пакет
luci-i18n-rmm-agent-ru.
Сервер и аккаунты
- Go API, SQLite/WAL, совместимые startup-migrations и retention метрик.
- Multi-user аккаунты, admin/user роли, профиль, e-mail, пароль и отзыв сессий.
- Владение роутерами, передача устройства и изоляция пользовательского API.
- Одноразовый enrollment grant; legacy shared token выключен по умолчанию.
- Хеширование паролей и reusable access tokens.
- Rate limiting авторизации, CSRF/origin checks и audit log.
- Wildcard device domains и одноразовый LuCI access grant.
- Alerts с состояниями active, acknowledged и resolved.
Уведомления и LAN-клиенты
- E-mail, Telegram и подписанный webhook.
- Подтверждение e-mail и безопасная привязка Telegram.
- Пользовательские пороги, repeat, quiet hours/timezone и maintenance pause.
- Per-device notification overrides.
- Durable queue с lease, retry, dead-letter и retention истории.
- Центр уведомлений: unread/read, счётчик, переход к роутеру и SSE-обновление.
- Группировка связанных событий по incident.
- Хранение
last_seenLAN-клиентов и статусы online/recent/unconfirmed.
Web UI и deployment
- Лендинг, favicon, партнёры и motion/reduced-motion.
- Fleet, поиск, фильтры, сортировка и автообновление.
- Карточка роутера, графики, alerts, диагностика, UCI, пакеты и аудит.
- Cloud LuCI со сценариями starting/offline/timeout/error.
- Адаптивный desktop/tablet/4:3/mobile layout.
- Hardened Docker image, Compose, NPMplus и wildcard overlay.
- Версионированные server/tunnel images, SBOM/provenance и Cosign.
- Подписанный IPK/APK feed через GitHub Pages.
Порядок дальнейшей разработки
0. Стабилизация и выпуск текущего main
- Дождаться полного успешного release workflow
agent-v0.6.8, включая все текущие OpenWrt jobs и публикацию GitHub Pages. - Проверить установку и обновление
rmm-agent-go-production,luci-app-rmm-agentиluci-i18n-rmm-agent-ruиз подписанного feed на реальном OpenWrt 24.10/25.12. - Подготовить и выпустить подписанный
server-v0.9.0с notification center, verification, per-device settings и LAN client presence. - Выпустить
server-v0.9.1с операционными метриками уведомлений, фильтрами, вкладками личного кабинета и очисткой шума LAN-клиентов. - Проверить миграцию копии production SQLite, сделать backup и только затем обновить production.
- Выполнить production-проверки SMTP, Telegram, webhook, active → repeat → resolved, retry → dead-letter, SSE и online → recent → unconfirmed.
- Добавить операционные метрики уведомлений: queued/sent/failed, queue age, последняя ошибка и последняя успешная доставка по каналу.
1. Изоляция туннелей и защита управляющих команд
- Персональные SSH credentials или короткоживущие сертификаты для каждого устройства.
- Ротация/отзыв tunnel credentials при transfer, delete и компрометации.
- Авторизованное выделение портов без возможности pre-bind/hijack другой сессии.
- Проверка полной цепочки agent → SSH → LuCI HTTP → wildcard TLS.
- Лимиты одновременных сессий, rate limit и административная политика remote access.
- Device token rotation и явный отзыв device credentials.
- Подписанные команды, срок действия, nonce и replay protection.
- Шифрование webhook secrets и чувствительных полей notification queue в SQLite.
2. Автоматические проверки и наблюдаемость
- Интеграционные тесты notification center, contact verification, per-device overrides, incident grouping и quiet hours/timezone.
- Тесты активной проверки LAN-клиентов, лимита адресов, ICMP-blocked и IPv6-сценариев.
- E2E reverse tunnel и cloud LuCI с проверкой ошибок и истечения сессии.
- Playwright smoke для login, fleet, router, profile, notifications и LuCI errors.
- Автоматическая responsive/accessibility матрица 1920/1366/1024/768/390/360.
- Package install/upgrade/remove smoke для IPK/APK и проверка LuCI i18n.
- Prometheus metrics, readiness, queue/tunnel metrics и структурированные логи.
govulncheck, SAST, container/dependency/secret scanning.- Pin GitHub Actions и базовых container images на проверяемые immutable revisions.
3. Backup и безопасное восстановление
- Получение
sysupgrade -bархива через агент. - Шифрованное хранение, retention и контроль доступа к backup.
- Скачивание, безопасный diff и проверка совместимости с target/device/version.
- Restore preview, повторное подтверждение и план отката.
- Backup/restore SQLite через согласованный snapshot, а не копирование активного файла.
- Disaster recovery runbook и регулярный restore drill.
4. Обновления агента и LuCI
- Подписанный stable update manifest с версиями, target/feed compatibility и Sigstore bundle.
- Проверка detached manifest signature сервером перед публикацией stable version в UI.
- Проверка manifest signature агентом перед выполнением обновления.
- Проверка свободного места, feed signature и package health до обновления.
- Обновление одного роутера из кабинета с progress/reconnect/result.
- Canary и поэтапный rollout с автоматической остановкой при ошибках.
- История версий и rollback, если агент не вернулся после обновления.
- Stable/candidate release channels без перемещения опубликованных тегов.
5. Организации и расширенная безопасность
- Organizations/workspaces и приглашения.
- Роли owner/admin/operator/viewer.
- Доступ к группам и отдельным устройствам без передачи владельца.
- MFA/WebAuthn и recovery codes.
- Audit retention/export и журнал административных изменений.
- Удаление аккаунта, экспорт данных и отзыв связанных credentials.
- Опциональный mTLS для agent transport.
6. Расширение cloud DNS и fleet management
- Безопасное переименование, резервирование и освобождение router DNS names.
- Проверка wildcard DNS/TLS/tunnel health в интерфейсе.
- Защита от повторного захвата недавно освобождённого имени и пользовательские квоты.
- Опциональные пользовательские домены.
- Конфигурационные шаблоны, группы, config drift и плановые команды.
- Диагностический архив агента и безопасная выгрузка логов.
- Интернационализация web UI и правила добавления языков LuCI.
7. Масштабирование и долговременный hardening
- Версионированные migrations и отдельный migration log.
- Graceful shutdown HTTP server, workers и активных lease.
- Distributed rate limiting и worker coordination для нескольких server instances.
- Load/soak tests, SLO и алерты состояния самой RMM-платформы.
- Политика хранения audit, metrics, notifications и client history.