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>
1.6 KiB
1.6 KiB
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_treesnapshot stored inRawPayloadsfor future offline re-analysis. - Re-upload of a JSON snapshot for offline work (
/api/uploadacceptsAnalysisResultJSON). - 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.