Add pluggable live collectors and simplify API connect form

This commit is contained in:
Mikhail Chusavitin
2026-02-04 19:00:03 +03:00
parent 60c52b18b1
commit c89ee0118f
15 changed files with 939 additions and 212 deletions

View File

@@ -92,7 +92,7 @@ open http://localhost:8082
```
POST /api/upload # Загрузить архив
POST /api/collect # Создать задачу live-сбора (in-memory mock lifecycle)
POST /api/collect # Создать задачу live-сбора
GET /api/collect/{id} # Получить статус задачи live-сбора
POST /api/collect/{id}/cancel # Отменить задачу live-сбора
GET /api/status # Получить статус парсинга
@@ -162,7 +162,14 @@ POST /api/shutdown # Завершить работу приложени
```
`POST /api/collect/{id}/cancel` возвращает `200 OK` и переводит задачу в `canceled`.
Жизненный цикл mock-задачи: `queued -> running -> success|failed` (если `host` содержит `fail`, задача переходит в `failed`).
Жизненный цикл задачи: `queued -> running -> success|failed|canceled`.
### Подключаемые коннекторы live-сбора
- `redfish`: реальный сбор конфигурации с BMC по REST API (`/redfish/v1/...`)
- `ipmi`: временный mock-коннектор (каркас для последующей замены на реальный IPMI)
`host` можно передавать как обычный hostname (например, `bmc01.example.local`) или как полный URL (`https://10.0.0.10:8443`).
`AnalysisResult` для API-сценария обновляется на `success`; при `failed/canceled` предыдущие загруженные данные сохраняются.
## Структура проекта