Add server hardware/network detail view with Proxmox sync and agent reporting
Servers & Tasks only tracked scheduled tasks — there was no overview of the servers themselves and no way to see CPU/RAM/disk/IP info. Add a clickable server overview (visible to every role, not just admins) that opens a per-server detail page. - servers table gains an agent-reported hardware/network snapshot (IPs, CPU model/cores/load, memory, disks) and an optional link to a Proxmox VM/LXC (integration + node + guest type + vmid). - Proxmox adapter gains getGuestDetail(): live cores/memory/disk from /config, live cpu/mem/uptime from /status/current, and IPs (LXC net config directly, QEMU via a best-effort guest-agent call that degrades gracefully when the agent isn't installed). - New GET /api/servers/:id/detail combines whichever hardware source applies (live Proxmox vs. last agent report) with a DNS reverse-lookup against the DNS module's own record cache, so matching hostnames show up next to each IP. New PATCH /api/servers/:id manages the Proxmox link. - agent/linux/report-tasks.sh now also collects and reports IPs, CPU/memory/disk info on every check-in (load-average-based CPU number, not instantaneous, to keep the agent a cheap oneshot). - Extracted the per-server task table into a shared ServerTaskTable component so the all-servers view and the new detail page render tasks identically. Verified server-side end-to-end against the real dev server (agent report -> detail endpoint -> DNS match) and the Proxmox adapter against a mock HTTPS server covering LXC/QEMU config parsing and the guest-agent-unavailable fallback. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1f0e6a9d4c
commit
b9409d3095
15 files changed
+2206
-140
No files matched your search
@@ -24,7 +24,11 @@ All modules from the original plan are built:
|
||||
vars) and their credentials are encrypted at rest
|
||||
- **Servers & Tasks** — cron/systemd tracking across Debian/Raspbian servers
|
||||
via a lightweight push agent (`agent/linux/`), plus manual entries for
|
||||
things an agent can't see (Docker jobs, backups)
|
||||
things an agent can't see (Docker jobs, backups). A clickable server
|
||||
overview opens a detail page with CPU/RAM/disk status, IP addresses, and
|
||||
matching DNS names (looked up from the DNS module's cache) — live from
|
||||
Proxmox for VM/LXC-backed servers, or from the agent's own hardware
|
||||
report for everything else.
|
||||
- **Integrations → Tailscale** — device list with online/authorized status,
|
||||
and authorize/deauthorize/remove actions; a live device-count widget.
|
||||
- **Integrations → Gitea** — repo list with each repo's last CI run status,
|
||||
|
||||
Reference in new issue
Block a user