fix(hub): slice-3 follow-ups — /host-report 413 oversize + contract golden (v0.7.1)
- handleHostReport: read maxHostReportBytes+1 (4 MiB const) and reject oversize with 413 instead of silent LimitReader truncation. Controller handleReport (1 MiB) is unchanged. Test asserts 413. - contract: hub/internal/api/testdata/host-report.golden.json (byte-identical with felhom-agent's copy) + TestHostReport_GoldenContract drives the real handler and asserts 200 + denorm + both guests upserted. - CHANGELOG v0.7.1. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"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": [],
|
||||
"backups": [],
|
||||
"restore_tests": [],
|
||||
"pbs_snapshots": [],
|
||||
"cloudflared": { "status": "active" },
|
||||
"audit_tail": []
|
||||
}
|
||||
Reference in New Issue
Block a user