aaff268fff
Accept + persist the now-populated host-report storage_targets. Minimal — the authoritative storage manifest is hub-owned (slice 10); this mirrors what the agent observes. - hostReportPayload.StorageTargets: full mirror of the agent's hub.StorageTarget wire contract; persisted verbatim in report_json (no schema change); count + WARN on disconnected targets. - shared host-report golden updated with two populated targets; byte-identical with felhom-agent's copy. - TestHostStorageTarget_GoldenContract: hub half of the bidirectional key-set test. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
95 lines
2.5 KiB
JSON
95 lines
2.5 KiB
JSON
{
|
|
"host_id": "demo-host-01",
|
|
"reported_at": "2026-06-08T12:00:00Z",
|
|
"agent_version": "0.3.1",
|
|
"host": {
|
|
"node": "demo-felhom",
|
|
"cpu_percent": 3.2,
|
|
"memory_total_bytes": 16777216000,
|
|
"memory_used_bytes": 4194304000,
|
|
"memory_percent": 25,
|
|
"disk_total_bytes": 152000000000,
|
|
"disk_used_bytes": 30000000000,
|
|
"disk_percent": 19.7,
|
|
"loadavg": ["0.10", "0.20", "0.15"],
|
|
"uptime_seconds": 86400
|
|
},
|
|
"guests": [
|
|
{
|
|
"vmid": 100,
|
|
"name": "felhom-cust-acme",
|
|
"status": "running",
|
|
"controller_version": "",
|
|
"spec": { "cores": 2, "memory_bytes": 2147483648, "disk_bytes": 21474836480 }
|
|
},
|
|
{
|
|
"vmid": 101,
|
|
"name": "felhom-cust-beta",
|
|
"status": "stopped",
|
|
"controller_version": ""
|
|
}
|
|
],
|
|
"storage_targets": [
|
|
{
|
|
"name": "local-lvm",
|
|
"type": "lvmthin",
|
|
"durable_id": "pve/data",
|
|
"state": "attached",
|
|
"reachable": true,
|
|
"total_bytes": 100000000000,
|
|
"used_bytes": 42000000000,
|
|
"avail_bytes": 58000000000,
|
|
"used_fraction": 0.42,
|
|
"content": "rootdir,images",
|
|
"mount_path": "",
|
|
"backing_device": "",
|
|
"class_hint": "fast",
|
|
"role": "",
|
|
"thin_pool": { "data_used_fraction": 0.42, "metadata_used_fraction": null },
|
|
"smart": {
|
|
"health": "UNKNOWN",
|
|
"temperature_c": null,
|
|
"power_on_hours": null,
|
|
"reallocated_sectors": null,
|
|
"pending_sectors": null,
|
|
"offline_uncorrectable": null,
|
|
"critical_warning": null,
|
|
"media_errors": null,
|
|
"percentage_used": null
|
|
}
|
|
},
|
|
{
|
|
"name": "usb-backup",
|
|
"type": "usb",
|
|
"durable_id": "uuid:0fc63daf-8483-4772-8e79-3d69d8477de4",
|
|
"state": "attached",
|
|
"reachable": true,
|
|
"total_bytes": 2000000000000,
|
|
"used_bytes": 500000000000,
|
|
"avail_bytes": 1500000000000,
|
|
"used_fraction": 0.25,
|
|
"content": "backup",
|
|
"mount_path": "/mnt/usb-backup",
|
|
"backing_device": "/dev/sdb1",
|
|
"class_hint": "slow",
|
|
"role": "",
|
|
"smart": {
|
|
"health": "UNKNOWN",
|
|
"temperature_c": null,
|
|
"power_on_hours": null,
|
|
"reallocated_sectors": null,
|
|
"pending_sectors": null,
|
|
"offline_uncorrectable": null,
|
|
"critical_warning": null,
|
|
"media_errors": null,
|
|
"percentage_used": null
|
|
}
|
|
}
|
|
],
|
|
"backups": [],
|
|
"restore_tests": [],
|
|
"pbs_snapshots": [],
|
|
"cloudflared": { "status": "active" },
|
|
"audit_tail": []
|
|
}
|