feat(api): add live collection contract endpoints
This commit is contained in:
50
README.md
50
README.md
@@ -92,6 +92,9 @@ open http://localhost:8080
|
||||
|
||||
```
|
||||
POST /api/upload # Загрузить архив
|
||||
POST /api/collect # Создать задачу live-сбора (контракт-заглушка)
|
||||
GET /api/collect/{id} # Получить статус задачи live-сбора
|
||||
POST /api/collect/{id}/cancel # Отменить задачу live-сбора
|
||||
GET /api/status # Получить статус парсинга
|
||||
GET /api/parsers # Получить список доступных парсеров
|
||||
GET /api/events # Получить список событий
|
||||
@@ -106,6 +109,53 @@ DELETE /api/clear # Очистить загруженные данны
|
||||
POST /api/shutdown # Завершить работу приложения
|
||||
```
|
||||
|
||||
### Контракты live-сбора (`/api/collect`)
|
||||
|
||||
`POST /api/collect` принимает JSON:
|
||||
|
||||
```json
|
||||
{
|
||||
"host": "bmc01.example.local",
|
||||
"protocol": "redfish",
|
||||
"port": 443,
|
||||
"username": "admin",
|
||||
"auth_type": "password",
|
||||
"password": "secret",
|
||||
"tls_mode": "strict"
|
||||
}
|
||||
```
|
||||
|
||||
- Обязательные поля: `host`, `protocol`, `port`, `username`, `auth_type`, `tls_mode`
|
||||
- `protocol`: `redfish` или `ipmi`
|
||||
- `auth_type`: `password` или `token`
|
||||
- `tls_mode`: `strict` или `insecure`
|
||||
- При `auth_type=password` обязателен `password`, при `auth_type=token` — `token`
|
||||
|
||||
Ответ `202 Accepted`:
|
||||
|
||||
```json
|
||||
{
|
||||
"job_id": "job_a1b2c3d4e5f6g7h8",
|
||||
"status": "queued",
|
||||
"message": "Collection job accepted",
|
||||
"created_at": "2026-02-04T10:15:20Z"
|
||||
}
|
||||
```
|
||||
|
||||
`GET /api/collect/{id}` возвращает `200 OK` со статусом задачи:
|
||||
|
||||
```json
|
||||
{
|
||||
"job_id": "job_a1b2c3d4e5f6g7h8",
|
||||
"status": "queued",
|
||||
"progress": 0,
|
||||
"logs": ["Job queued"],
|
||||
"updated_at": "2026-02-04T10:15:20Z"
|
||||
}
|
||||
```
|
||||
|
||||
`POST /api/collect/{id}/cancel` возвращает `200 OK` и переводит задачу в `canceled` (контрактно, без реального backend-сбора на этом этапе).
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user