server-monitor-manager/docs/roadmap.md
2026-07-17 08:51:21 +07:00

5.1 KiB
Raw Blame History

План разработки

Этап 0 — репозиторий и контракт

  • переименовать проект в Server Monitor Manager;
  • выбрать звёздную архитектуру Hub/Node для первого Mesh;
  • разделить monitoring identity, terminal identity и AI-agent identity;
  • описать направленные Links и kill switch;
  • выбрать лицензию;
  • добавить CI, форматирование, тесты и release checksum;
  • объединить PR приложения и установщика в main.

Этап 1 — Windows SSH MVP

  • создать packaged WinUI 3 приложение;
  • добавить адаптивный Overview и профили нескольких серверов;
  • генерировать отдельный Ed25519 SSH-ключ;
  • сохранять профили локально без паролей;
  • получать CPU/load, RAM, disk, uptime и latency;
  • собрать и реально запустить x64-приложение;
  • редактирование и удаление серверов;
  • единственный изменяемый Hub;
  • настоящие страницы Servers, Links, Sessions и Settings.

Этап 2 — установщик Hub/Node

  • SSH forced-command для Ubuntu/Debian;
  • роли hub и node;
  • WireGuard Hub и исходящие Node-соединения;
  • постоянный nftables ACL на Hub;
  • список узлов и handshake-состояние;
  • явные зависимости sudo, visudo и ping для минимального Debian;
  • безопасные update и rollback с root-only backup;
  • полный uninstall-monitor, uninstall-node и uninstall-hub;
  • интеграционный тест повторной установки и reboot.

Этап 3 — безопасная регистрация

  • локальная генерация WireGuard-ключа на Node;
  • одноразовый enrollment token;
  • срок действия не более 10 минут;
  • атомарное погашение token;
  • отзыв и повторная регистрация Node;
  • подтверждение SHA-256 fingerprint Control CA Hub;
  • защита desktop SSH-ключа через DPAPI.
  • направленные пары source → destination;
  • ручное добавление и удаление nftables ACL из Windows-клиента;
  • политики по целевому /32, TCP/UDP и порту;
  • TTL и автоматическое истечение;
  • состояния Connecting, Active, Disconnecting, Partial, Disabled и Failed;
  • версия политики и подтверждение применения на Hub;
  • обязательное отключение после reconnect;
  • локальный append-only JSONL-аудит операций Link;
  • интеграционные тесты Control kill switch, перезапуска процесса и частичного отказа helper;
  • end-to-end тесты nftables и реального reboot вместе с Linux-установщиком.

Этап 5 — мониторинг и терминал

  • swap, inode, network и состояние SSH/WireGuard;
  • предупреждения по диску, памяти, inode и недоступности;
  • автоматическое обновление каждые 30 секунд;
  • короткая локальная история до 240 точек на сервер;
  • встроенный график CPU, RAM и диска;
  • экспорт диагностики без секретов;
  • отдельный прямой SSH-терминал;
  • отдельная terminal identity и подтверждение пользователя;
  • отдельная automation identity для AI-агента.

Этап 6 — постоянный control layer

  • самодостаточный single-file Linux agent для amd64/arm64;
  • SQLite inventory, policies, history и audit;
  • исходящие mTLS agent sessions;
  • защищённый Hub event stream для desktop client;
  • ограниченный локальный буфер и downsampling;
  • idempotency key и защита от replay;
  • тест нагрузки 100 Node на одном Hub (конкурентные heartbeat, inventory и replay в CI).

Этап 7 — релиз и другие платформы

  • подписанный Windows installer и GitHub Release;
  • checksum Linux-установщика и бинарников;
  • macOS и Linux desktop после стабилизации Core/API;
  • Android/iOS companion clients;
  • push-уведомления без административных секретов у push-провайдера.