Parser / archive: - Add .sds extension as tar-format alias (archive.go) - Add tests for multipart upload size limits (multipart_limits_test.go) - Remove supermicro crashdump parser (ADL-015) Dell parser: - Remove GPU duplicates from PCIeDevices (DCIM_VideoView vs DCIM_PCIDeviceView both list the same GPU; VideoView record is authoritative) Server: - Add LOGPILE_CONVERT_MAX_MB env var for independent convert batch size limit - Improve "file too large" error message with current limit value Web: - Add CONVERT_MAX_FILES_PER_BATCH = 1000 cap - Minor UI copy and CSS fixes Bible: - bible-local/06-parsers.md: add pci.ids enrichment rule (enrich model from pciids when name is empty but vendor_id+device_id are present) - Sync bible submodule and local overview/architecture docs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
36 lines
1.6 KiB
Markdown
36 lines
1.6 KiB
Markdown
# 01 — Overview
|
|
|
|
## What is LOGPile?
|
|
|
|
LOGPile is a standalone Go application for BMC (Baseboard Management Controller)
|
|
diagnostics analysis with an embedded web UI.
|
|
It runs as a single binary with no external file dependencies.
|
|
|
|
## Operating modes
|
|
|
|
| Mode | Entry point | Description |
|
|
|------|-------------|-------------|
|
|
| **Offline / archive** | `POST /api/upload` | Upload a vendor diagnostic archive or a JSON snapshot; parse and display in UI |
|
|
| **Live / Redfish** | `POST /api/collect` | Connect to a live BMC via Redfish API, collect hardware inventory, display and export |
|
|
|
|
Both modes produce the same in-memory `AnalysisResult` structure and expose it
|
|
through the same API and UI.
|
|
|
|
## Key capabilities
|
|
|
|
- Single self-contained binary with embedded HTML/JS/CSS (no static file serving required).
|
|
- Vendor archive parsing: Inspur/Kaytus, Dell TSR, NVIDIA HGX Field Diagnostics,
|
|
NVIDIA Bug Report, Unraid, XigmaNAS, Generic text fallback.
|
|
- Live Redfish collection with async progress tracking.
|
|
- Normalized hardware inventory: CPU / RAM / Storage / GPU / PSU / NIC / PCIe / Firmware.
|
|
- Raw `redfish_tree` snapshot stored in `RawPayloads` for future offline re-analysis.
|
|
- Re-upload of a JSON snapshot for offline work (`/api/upload` accepts `AnalysisResult` JSON).
|
|
- Export in CSV, JSON (full `AnalysisResult`), and Reanimator format.
|
|
- PCI device model resolution via embedded `pci.ids` (no hardcoded model strings).
|
|
|
|
## Non-goals (current scope)
|
|
|
|
- No persistent storage — all state is in-memory per process lifetime.
|
|
- IPMI collector is a mock scaffold only; real IPMI support is not implemented.
|
|
- No authentication layer on the HTTP server.
|