Mikhail Chusavitin
8b9d3447d7
Overlay SAT results into audit JSON
2026-03-25 20:11:03 +03:00
Mikhail Chusavitin
614b7cad61
Improve PCIe inventory and hardware identity collection
2026-03-25 20:00:38 +03:00
Mikhail Chusavitin
36dff6e584
feat: CPU SAT via stress-ng + BMC version via ipmitool
...
BMC:
- collector/board.go: collectBMCFirmware() via ipmitool mc info, graceful skip if /dev/ipmi0 absent
- collector/collector.go: append BMC firmware record to snap.Firmware
- app/panel.go: show BMC version in TUI right-panel header alongside BIOS
CPU SAT:
- platform/sat.go: RunCPUAcceptancePack(baseDir, durationSec) — lscpu + sensors before/after + stress-ng
- app/app.go: RunCPUAcceptancePack + RunCPUAcceptancePackResult methods, satRunner interface updated
- app/panel.go: CPU row now reads real PASS/FAIL from cpu-*/summary.txt via satStatuses(); cpuDetailResult shows last SAT summary + audit data
- tui/types.go: actionRunCPUSAT, confirmBody for CPU test with mode label
- tui/screen_health_check.go: hcCPUDurations [60,300,900]s; hcRunSingle(CPU)→confirm screen; executeRunAll uses RunCPUAcceptancePackResult
- tui/forms.go: actionRunCPUSAT → RunCPUAcceptancePackResult with mode duration
- cmd/bee/main.go: bee sat cpu [--duration N] subcommand
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-25 11:06:12 +03:00
Mikhail Chusavitin
b25a2f6d30
feat: add support bundle and raw audit export
2026-03-16 18:20:26 +03:00
Mikhail Chusavitin
78c6dfc0ef
Sync hardware ingest contract v2.7
2026-03-15 23:03:38 +03:00
Mikhail Chusavitin
a6023372b1
Use microcode as CPU firmware
2026-03-15 21:16:17 +03:00
Mikhail Chusavitin
ab5a4be7ac
Align hardware export with ingest contract
2026-03-15 21:04:53 +03:00
Mikhail Chusavitin
b483e2ce35
Add health verdicts and acceptance tests
2026-03-14 17:53:58 +03:00
Mikhail Chusavitin
6aca1682b9
Refactor bee CLI and LiveCD integration
2026-03-13 16:52:16 +03:00
Mikhail Chusavitin
18b8c69bc5
Implement audit enrichments, TUI workflows, and production ISO scaffold
2026-03-06 11:56:26 +03:00
ab22e3ad74
add: NVMe wear telemetry via nvme smart-log (1.8b)
2026-03-05 14:55:53 +03:00
e79f972fb5
add: PSU collector (1.7) via ipmitool fru, skips gracefully without IPMI
2026-03-05 14:54:12 +03:00
55f6098a17
add: memory, storage, pcie collectors (1.4-1.6) — tested on real hardware
2026-03-05 14:50:34 +03:00
00bb2fdace
feat(audit): 1.3 — CPU collector (dmidecode type 4, microcode)
...
- cpu.go: collectCPUs(), parseCPUs(), parseCPUSection()
- splitDMISections(): splits multi-section dmidecode output generically
- parseFieldLines(): reusable key→value parser for DMI sections
- parseCPUStatus(): Populated/Unpopulated → OK/WARNING/EMPTY/UNKNOWN
- parseSocketIndex(): CPU0/Processor 1/Socket 2 → integer
- cleanManufacturer(): strips (R), Corporation, Inc. suffixes
- parseMHz(), parseInt(): field value parsers
- Serial fallback: <board_serial>-CPU-<socket> when DMI serial absent
- readMicrocode(): /sys/devices/system/cpu/cpu0/microcode/version
- cpu_test.go: dual-socket, unpopulated skipped, status, socket, manufacturer, MHz
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 10:37:19 +03:00
f1e392a7fe
feat(audit): 1.2 — board collector (dmidecode types 0, 1, 2)
...
- board.go: collectBoard(), parseBoard(), parseBIOSFirmware(), parseDMIFields(), cleanDMIValue()
- Reads System Information (type 1): serial, manufacturer, product_name, uuid
- Reads Base Board Information (type 2): part_number
- Reads BIOS Information (type 0): firmware version record
- cleanDMIValue strips vendor placeholders (O.E.M., Not Specified, Unknown, etc.)
- board_test.go: 6 table/case tests with dmidecode fixtures in testdata/
- collector.go: wired board + BIOS firmware into snapshot
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 10:35:14 +03:00
a4f70b17f0
feat(audit): 1.1 — project scaffold, schema types, collector stub, updater trust
...
- go.mod: module bee/audit
- schema/hardware.go: HardwareIngestRequest types (compatible with core)
- collector/collector.go: Run() stub, logs start/finish, returns empty snapshot
- updater/trust.go: Ed25519 multi-key verification via ldflags injection
- updater/trust_test.go: valid sig, tampered, multi-key any-match, dev build
- cmd/audit/main.go: --output stdout|file:<path>|usb, --version flag
- Version = "dev" by default, injected via ldflags at release
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 10:32:12 +03:00