Add topology endpoint and checklist tracking in spec.

Expose nodes/edges topology view and convert technical spec progress items to checkbox status.

Made-with: Cursor
This commit is contained in:
Andrey Lutsenko
2026-04-09 22:02:33 +10:00
parent 9e678fcfc7
commit ab94409a52
3 changed files with 128 additions and 29 deletions
+30 -29
View File
@@ -18,14 +18,14 @@
## Функциональные требования v1
- ручной запуск скана по заданным CIDR;
- ping sweep по диапазонам;
- проверка базовых TCP-портов (`22, 80, 443, 161`);
- SNMP v2c: `sysName`, `sysDescr`, `sysObjectID`;
- сбор LLDP соседей по SNMP;
- сохранение результатов скана в БД;
- построение графа связей устройств;
- история сканов и сравнение изменений.
- [x] ручной запуск скана по заданным CIDR;
- [x] ping sweep по диапазонам;
- [x] проверка базовых TCP-портов (`22, 80, 443, 161`);
- [x] SNMP v2c: `sysName`, `sysDescr`, `sysObjectID`;
- [x] сбор LLDP соседей по SNMP;
- [x] сохранение результатов скана в БД;
- [x] построение базового графа связей устройств (`/links`, `/topology`);
- [ ] история сканов и сравнение изменений.
## Нефункциональные требования
@@ -46,18 +46,19 @@
## Текущее состояние реализации
- готов API-каркас (`health`, создание и чтение scan jobs);
- реализован выбор хранилища: `memory` или `postgres` через env;
- добавлена автоматическая миграция таблицы `scan_jobs` при старте;
- подготовлены конфиги для запуска как сервис на Linux и за IIS на Windows.
- [x] готов API-каркас (`health`, создание и чтение scan jobs);
- [x] реализован выбор хранилища: `memory` или `postgres` через env;
- [x] добавлены автоматические миграции таблиц при старте;
- [x] добавлены endpoints результатов: hosts, ports, snmp, lldp, links, topology;
- [x] подготовлены конфиги для запуска как сервис на Linux и за IIS на Windows.
## Минимальные API
- `GET /health`
- `POST /api/scans`
- `GET /api/scans/{id}`
- `GET /api/topology`
- `GET /api/topology/diff?from=&to=`
- [x] `GET /health`
- [x] `POST /api/scans`
- [x] `GET /api/scans/{id}`
- [x] `GET /api/scans/{id}/topology`
- [ ] `GET /api/topology/diff?from=&to=`
## Модель данных (минимум)
@@ -80,18 +81,18 @@
## Этапы
1. Каркас API и scan jobs
2. PostgreSQL и миграции
3. Ping + port scan
4. SNMP system + LLDP
5. Граф топологии в UI
6. История и diff
1. [x] Каркас API и scan jobs
2. [x] PostgreSQL и миграции
3. [x] Ping + port scan
4. [x] SNMP system + LLDP
5. [ ] Граф топологии в UI
6. [ ] История и diff
## Критерии приемки v1
- скан по CIDR создается и завершается;
- живые узлы фиксируются в результатах;
- SNMP-доступные устройства читаются;
- LLDP-связи строятся минимум на тестовой сети;
- топология отображается в интерфейсе;
- приложение запускается на Linux и Windows.
- [x] скан по CIDR создается и завершается;
- [x] живые узлы фиксируются в результатах;
- [x] SNMP-доступные устройства читаются;
- [x] LLDP-связи строятся минимум на тестовой сети;
- [ ] топология отображается в интерфейсе;
- [ ] приложение запускается на Linux и Windows (нужна ваша проверка на 2 ОС).