docs: sync README and CLAUDE with current CLI and live API behavior

This commit is contained in:
Mikhail Chusavitin
2026-02-04 11:58:56 +03:00
parent f6a10d4eac
commit 60c52b18b1
2 changed files with 18 additions and 10 deletions

View File

@@ -64,7 +64,9 @@ make build
2. `POST /api/upload` принимает архив и передаёт его в `parser.BMCParser`. 2. `POST /api/upload` принимает архив и передаёт его в `parser.BMCParser`.
3. `DetectFormat()` выбирает parser с максимальным confidence. 3. `DetectFormat()` выбирает parser с максимальным confidence.
4. Результат сохраняется в памяти (`Server.result`) и отдаётся через API. 4. Результат сохраняется в памяти (`Server.result`) и отдаётся через API.
5. UI строит вкладки: конфигурация, прошивки, сенсоры, серийники, события. 5. `POST /api/collect` запускает in-memory mock lifecycle live-сбора (`queued -> running -> success|failed`, поддерживается `cancel`).
6. Для live-flow `AnalysisResult` обновляется только на `success` (при `failed/canceled` остаётся предыдущий результат).
7. UI строит вкладки: конфигурация, прошивки, сенсоры, серийники, события.
## Поддерживаемые parser modules ## Поддерживаемые parser modules
@@ -80,6 +82,9 @@ make build
``` ```
POST /api/upload POST /api/upload
POST /api/collect
GET /api/collect/{id}
POST /api/collect/{id}/cancel
GET /api/status GET /api/status
GET /api/parsers GET /api/parsers
GET /api/events GET /api/events
@@ -108,6 +113,7 @@ POST /api/shutdown
- Код распаковки `.zip` есть, но в текущем upload-пути `zip` не обрабатывается. - Код распаковки `.zip` есть, но в текущем upload-пути `zip` не обрабатывается.
- Флаг `--file` присутствует в CLI-конфиге, но preload в `Server.Run()` сейчас не выполняется. - Флаг `--file` присутствует в CLI-конфиге, но preload в `Server.Run()` сейчас не выполняется.
- Данные хранятся только в памяти процесса; перезапуск очищает состояние. - Данные хранятся только в памяти процесса; перезапуск очищает состояние.
- Live-сбор пока mock-only (реальные Redfish/IPMI коннекторы ещё не подключены).
## Практические рекомендации для доработок ## Практические рекомендации для доработок

View File

@@ -12,7 +12,7 @@
- Конфигурация сервера (CPU, RAM, диски, и т.д.) - Конфигурация сервера (CPU, RAM, диски, и т.д.)
- **Встроенный веб-интерфейс**: Человекочитаемая визуализация данных - **Встроенный веб-интерфейс**: Человекочитаемая визуализация данных
- **Экспорт данных**: Поддержка экспорта в CSV, JSON и TXT форматы - **Экспорт данных**: Поддержка экспорта в CSV, JSON и TXT форматы
- **Автоматическое определение формата**: Поддержка различных форматов архивов (tar.gz, zip) - **Автоматическое определение формата**: Для upload path сейчас поддержаны tar.gz/tgz/tar (zip в плане доработки upload)
## Требования ## Требования
@@ -38,29 +38,29 @@ make build
curl -L https://git.mchus.pro/mchus/logpile/-/releases/latest/download/logpile-linux-amd64.tar.gz | tar xz curl -L https://git.mchus.pro/mchus/logpile/-/releases/latest/download/logpile-linux-amd64.tar.gz | tar xz
# Запуск # Запуск
./logpile serve ./logpile
``` ```
## Быстрый старт ## Быстрый старт
```bash ```bash
# Запуск веб-сервера # Запуск веб-сервера
./bin/logpile serve ./bin/logpile
# Открыть в браузере # Открыть в браузере
open http://localhost:8080 open http://localhost:8082
# С указанием порта # С указанием порта
./bin/logpile serve --port 9000 ./bin/logpile --port 9000
# С предзагрузкой файла # Не открывать браузер автоматически
./bin/logpile serve --file /path/to/bmc-archive.tar.gz ./bin/logpile --no-browser
``` ```
## Функционал ## Функционал
### 1. Анализ архивов ### 1. Анализ архивов
- Поддержка форматов: tar.gz, zip - Поддержка upload path: tar.gz/tgz/tar
- Автоматическое определение производителя - Автоматическое определение производителя
- Извлечение всех доступных данных из архива - Извлечение всех доступных данных из архива
@@ -155,13 +155,15 @@ POST /api/shutdown # Завершить работу приложени
"job_id": "job_a1b2c3d4e5f6g7h8", "job_id": "job_a1b2c3d4e5f6g7h8",
"status": "queued", "status": "queued",
"progress": 0, "progress": 0,
"logs": ["Job queued"], "logs": ["Задача поставлена в очередь"],
"created_at": "2026-02-04T10:15:20Z",
"updated_at": "2026-02-04T10:15:20Z" "updated_at": "2026-02-04T10:15:20Z"
} }
``` ```
`POST /api/collect/{id}/cancel` возвращает `200 OK` и переводит задачу в `canceled`. `POST /api/collect/{id}/cancel` возвращает `200 OK` и переводит задачу в `canceled`.
Жизненный цикл mock-задачи: `queued -> running -> success|failed` (если `host` содержит `fail`, задача переходит в `failed`). Жизненный цикл mock-задачи: `queued -> running -> success|failed` (если `host` содержит `fail`, задача переходит в `failed`).
`AnalysisResult` для API-сценария обновляется на `success`; при `failed/canceled` предыдущие загруженные данные сохраняются.
## Структура проекта ## Структура проекта