5.1 KiB
5.1 KiB
План разработки
Этап 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.
Этап 4 — управляемые Links
- направленные пары 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-провайдера.