From ba751c861df79219d7dabeb87b2a4f633f6af364 Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Tue, 11 Aug 2026 11:57:24 +0300 Subject: [PATCH] feat(viewer): add licenses hardware section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Renders hardware.licenses[] (Reanimator hardware ingest contract v2.12) between power_supplies and sensors, same treatment as every other component category: preferred section order, title, and column order. Purely additive — consumers whose snapshots don't carry hardware.licenses are unaffected, and any snapshot that does already renders it today via the generic extraKeys fallback, just without a curated order/columns. Co-Authored-By: Claude Sonnet 5 --- viewer/render.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/viewer/render.go b/viewer/render.go index bb43a46..2601a13 100644 --- a/viewer/render.go +++ b/viewer/render.go @@ -18,6 +18,7 @@ var sectionOrder = []string{ "storage", "pcie_devices", "power_supplies", + "licenses", "sensors", "event_logs", "platform_config", @@ -31,6 +32,7 @@ var sectionTitles = map[string]string{ "storage": "Storage", "pcie_devices": "PCIe Devices", "power_supplies": "Power Supplies", + "licenses": "Licenses", "sensors": "Sensors", "event_logs": "Event Logs", "platform_config": "Platform Config", @@ -80,6 +82,7 @@ var preferredColumns = map[string][]string{ "storage": {"type", "model", "serial_number", "firmware", "size_gb", "logical_block_size_bytes", "physical_block_size_bytes", "metadata_bytes_per_block", "slot"}, "pcie_devices": {"device_class", "manufacturer", "model", "serial_number", "mac_addresses", "slot", "numa_node", "link_speed", "link_width", "bdf"}, "power_supplies": {"vendor", "model", "part_number", "serial_number", "slot"}, + "licenses": {"name", "vendor", "type", "feature", "component_ref", "license_key", "expires_at"}, "event_logs": {"severity_icon", "source", "event_time", "severity", "message_id", "message", "component_ref", "fingerprint", "is_active", "raw_payload"}, "fans": {"name", "rpm"}, "power": {"name", "voltage_v", "current_a", "power_w"},