Control Server (FastAPI) с WEB UI (Jinja2 + HTMX) и JSON API для группового администрирования устройств RouterOS 7 через REST. - Устройства: список, статус (модель, канал, версии ROS/FW, uptime, доступные обновления), примечания, пароли шифруются (Fernet); фоновый опрос каждые 30 с и быстрое обнаружение недоступности (таймаут соединения 4 с). - Группы устройств и фильтры (устройства, резервные копии). - Резервные копии: .backup и .rsc (show-sensitive) создаются через REST, скачиваются сервером и загружаются в S3 (Yandex Object Storage). - Обновление ROS/FW и выбор канала, групповые операции задачами. - Интерфейс по утверждённому макету: светлая/тёмная темы, окна, шрифты IBM Plex локально. Docker Compose, SQLite в томе, минимальный набор тестов. - Планы и итоги каждого изменения — в docs/changes/. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Итоги: 004 — колонки Upgrade ROS / Upgrade FW и меню действий «⋯»
Сделано
- Статус устройства теперь включает проверку обновлений (
check-for-updates):ros_latest,ros_installed,ros_check_error. Сбой проверки (нет интернета на устройстве) не делает устройство offline — в колонке «—» с подсказкой. - UI: колонки Upgrade ROS и Upgrade FW — бейдж
↑ версия(есть обновление),✓ актуально, либо—(нет данных / нет RouterBOARD). - Исправлено сравнение версий ROS: раньше
7.24.4 (stable)(resource) сравнивалось с7.24.4(latest) и всегда «отличалось». Теперь используетсяinstalled-version. - UI: пять кнопок строки заменены выпадающим меню под иконкой «⋯» (Обновить статус, Создать бэкап, Обновить ROS, Обновить FW, Изменить). Меню закрывается по клику вне, по Esc и после выбора пункта; без внешних библиотек.
Проверено
pytest: 4 из 4 (тест статуса дополнен проверкойcheck-for-updatesиros_installed).- На
msk-home(ROS 7.24.4): опрос с проверкой обновлений 1,2–1,5 с;ros_latest = ros_installed = 7.24.4,fw_current = fw_upgrade = 7.24.4→ в обеих колонках «✓ актуально». - Рендер шаблона на тестовых данных: ветки «есть обновление ROS и FW», «нет интернета на устройстве», «CHR без RouterBOARD» отображаются верно.
Не проверено
- Внешний вид и поведение меню в браузере (на машине разработки браузера нет): позиционирование, светлая/тёмная тема, узкое окно.
- Фактический запуск обновлений ROS/FW не выполнялся (перезагрузка устройства) — проверялось только отображение.