feat: host inventory (agent.inventory), host detail page, UI columns

Store hardware/software snapshots on hosts; warn on hardware changes. Host card from Hosts list. Add agent version column to Events/Overview; rename Hosts table columns and sort by status.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
PTah
2026-06-05 09:53:00 +10:00
parent 5d3cda2ab6
commit 54337a5917
23 changed files with 826 additions and 17 deletions
+13
View File
@@ -8,6 +8,7 @@ class HostSummary(BaseModel):
hostname: str
display_name: str | None
os_family: str
os_version: str | None = None
product: str
product_version: str | None
ipv4: str | None
@@ -15,11 +16,22 @@ class HostSummary(BaseModel):
event_count: int | None = None
last_heartbeat_at: datetime | None = None
last_daily_report_at: datetime | None = None
last_inventory_at: datetime | None = None
agent_status: str = "unknown"
model_config = {"from_attributes": True}
class HostDetail(HostSummary):
agent_instance_id: str | None = None
ipv6: str | None = None
tags: list | None = None
use_sac_mode: str | None = None
inventory: dict | None = None
inventory_updated_at: datetime | None = None
created_at: datetime | None = None
class HostListResponse(BaseModel):
items: list[HostSummary]
total: int
@@ -33,6 +45,7 @@ class EventSummary(BaseModel):
host_id: int
hostname: str
display_name: str | None = None
product_version: str | None = None
occurred_at: datetime
received_at: datetime
category: str