48baae41f41f43288388c8adf29a26d2ce284447
canonicalKey used serial_number as the primary merge key for pcie-class devices (PCIe/GPU/Network), falling back to BDF only when serial was empty. Multi-port NICs commonly report one serial for the whole physical card across all of its ports/BDFs (e.g. a dual-port ConnectX-5: same serial, distinct BDFs 0000:65:00.0/.1, distinct MACs). Keying on serial first collapsed every port sharing that serial into a single canonical device, silently dropping all but one port from the export. BDF now takes priority for pcie-class devices, since it uniquely identifies one physical PCI function; other device kinds (storage, memory, PSU, etc.) keep the existing serial-first behavior, which is correct there since a serial genuinely maps 1:1 to a physical unit for those. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
LOGPile
Standalone Go application for BMC diagnostics analysis with an embedded web UI.
What it does
- Parses vendor diagnostic archives into a normalized hardware inventory
- Collects live BMC data via Redfish
- Exports normalized data as CSV, raw re-analysis bundles, and Reanimator JSON
- Runs as a single Go binary with embedded UI assets
Documentation
- Shared engineering rules:
bible/README.md - Project architecture and API contracts:
bible-local/README.md - Agent entrypoints:
AGENTS.md,CLAUDE.md
Run
make build
./bin/logpile
Default port: 8082
License
MIT (see LICENSE)
Releases
24
logpile v1.31
Latest
Languages
Go
92.3%
JavaScript
4.6%
CSS
1.5%
HTML
1%
Shell
0.5%
Other
0.1%