From 60c52b18b1b7e690ed79148c139aff27de9db178 Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Wed, 4 Feb 2026 11:58:56 +0300 Subject: [PATCH] docs: sync README and CLAUDE with current CLI and live API behavior --- CLAUDE.md | 8 +++++++- README.md | 20 +++++++++++--------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index f02e433..6cf6117 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -64,7 +64,9 @@ make build 2. `POST /api/upload` принимает архив и передаёт его в `parser.BMCParser`. 3. `DetectFormat()` выбирает parser с максимальным confidence. 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 @@ -80,6 +82,9 @@ make build ``` POST /api/upload +POST /api/collect +GET /api/collect/{id} +POST /api/collect/{id}/cancel GET /api/status GET /api/parsers GET /api/events @@ -108,6 +113,7 @@ POST /api/shutdown - Код распаковки `.zip` есть, но в текущем upload-пути `zip` не обрабатывается. - Флаг `--file` присутствует в CLI-конфиге, но preload в `Server.Run()` сейчас не выполняется. - Данные хранятся только в памяти процесса; перезапуск очищает состояние. +- Live-сбор пока mock-only (реальные Redfish/IPMI коннекторы ещё не подключены). ## Практические рекомендации для доработок diff --git a/README.md b/README.md index e1c360c..e9e8f2b 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ - Конфигурация сервера (CPU, RAM, диски, и т.д.) - **Встроенный веб-интерфейс**: Человекочитаемая визуализация данных - **Экспорт данных**: Поддержка экспорта в 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 # Запуск -./logpile serve +./logpile ``` ## Быстрый старт ```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. Анализ архивов -- Поддержка форматов: tar.gz, zip +- Поддержка upload path: tar.gz/tgz/tar - Автоматическое определение производителя - Извлечение всех доступных данных из архива @@ -155,13 +155,15 @@ POST /api/shutdown # Завершить работу приложени "job_id": "job_a1b2c3d4e5f6g7h8", "status": "queued", "progress": 0, - "logs": ["Job queued"], + "logs": ["Задача поставлена в очередь"], + "created_at": "2026-02-04T10:15:20Z", "updated_at": "2026-02-04T10:15:20Z" } ``` `POST /api/collect/{id}/cancel` возвращает `200 OK` и переводит задачу в `canceled`. Жизненный цикл mock-задачи: `queued -> running -> success|failed` (если `host` содержит `fail`, задача переходит в `failed`). +`AnalysisResult` для API-сценария обновляется на `success`; при `failed/canceled` предыдущие загруженные данные сохраняются. ## Структура проекта