1.9 KiB
1.9 KiB
07 — Exporters
Export surfaces
| Endpoint | Output | Purpose |
|---|---|---|
GET /api/export/csv |
CSV | Serial-number export |
GET /api/export/json |
raw-export ZIP bundle | Reopen and re-analyze later |
GET /api/export/reanimator |
JSON | Reanimator hardware payload |
POST /api/convert |
async ZIP artifact | Batch archive-to-Reanimator conversion |
Raw export
Raw export is not a final report dump. It is a replayable artifact that preserves enough source data for future parser improvements.
Current bundle contents:
raw_export.jsoncollect.logparser_fields.json
Design rules:
- raw source is authoritative
- uploads of raw export must replay from raw source
- parsed snapshots inside the bundle are diagnostic only
Reanimator export
Implementation files:
internal/exporter/reanimator_models.gointernal/exporter/reanimator_converter.gointernal/server/handlers.go
Conversion rules:
- canonical source is
hardware.devices - timestamps are RFC3339
- status is normalized to Reanimator-friendly values
- missing PCIe serials may be generated from board serial + slot
NULL-style board manufacturer/product values are treated as absent
Inclusion rules
Included:
- empty memory slots (
present=false) for topology visibility - PCIe-class devices even when serial must be synthesized
Excluded:
- storage without
serial_number - power supplies without
serial_number - non-present network adapters
- device-bound firmware duplicated at top-level firmware list
Batch convert
POST /api/convert accepts multiple supported files and produces a ZIP with:
- one
*.reanimator.jsonfile per successful input convert-summary.txt
Behavior:
- unsupported filenames are skipped
- each file is parsed independently
- one bad file must not fail the whole batch if at least one conversion succeeds
- result artifact is temporary and deleted after download