From d26aa8c9cb3b4068d148883a56be52b83af5f1a3 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Mon, 13 Oct 2025 20:19:13 +0200 Subject: [PATCH] server node, vm & lxc details pages at unique routes --- src/lib/components/LXC.svelte | 96 ++++++ src/lib/components/Server.svelte | 4 +- src/lib/components/VM.svelte | 95 ++++++ src/lib/components/prox-describe/VM.svelte | 282 ++++++++++++++++++ src/lib/icons/cpu.svelte | 4 +- src/lib/icons/cube-side.svelte | 6 +- src/lib/icons/desktop.svelte | 4 + src/lib/icons/extract-up.svelte | 5 + src/lib/icons/floppy-disk.svelte | 6 +- src/lib/icons/hard-disk.svelte | 6 +- src/lib/icons/insert-down.svelte | 5 + src/lib/icons/insert-up.svelte | 5 + src/lib/icons/power.svelte | 4 +- .../{tuning-fork.svg => tuning-fork.svelte} | 1 - src/lib/icons/widescreen.svelte | 4 + src/lib/interfaces/proxmox.ts | 39 +++ src/lib/server/proxmox.ts | 57 +++- src/routes/servers/+page.svelte | 69 ++++- .../servers/[kind]/[id]/+page.server.ts | 82 +++++ src/routes/servers/[kind]/[id]/+page.svelte | 53 ++++ 20 files changed, 793 insertions(+), 34 deletions(-) create mode 100644 src/lib/components/LXC.svelte create mode 100644 src/lib/components/VM.svelte create mode 100644 src/lib/components/prox-describe/VM.svelte create mode 100644 src/lib/icons/desktop.svelte create mode 100644 src/lib/icons/extract-up.svelte create mode 100644 src/lib/icons/insert-down.svelte create mode 100644 src/lib/icons/insert-up.svelte rename src/lib/icons/{tuning-fork.svg => tuning-fork.svelte} (99%) create mode 100644 src/lib/icons/widescreen.svelte create mode 100644 src/routes/servers/[kind]/[id]/+page.server.ts create mode 100644 src/routes/servers/[kind]/[id]/+page.svelte diff --git a/src/lib/components/LXC.svelte b/src/lib/components/LXC.svelte new file mode 100644 index 0000000..8eb6067 --- /dev/null +++ b/src/lib/components/LXC.svelte @@ -0,0 +1,96 @@ + + +
+
+
+ {lxc.name} {lxc.vmid} + + +
+ +
+
+ + Status +
+ {lxc.status} + +
+ + CPUs +
+ {lxc.cpus} + +
+ + CPU +
+ {Math.floor(lxc.cpu * 100) / 100} + +
+ + Max Disk +
+ {formatBytes(lxc.maxdisk)} + +
+ + Memory +
+ {formatBytes(lxc.mem)} + +
+ + Net In +
+ {formatBytes(lxc.netin)} + +
+ + Net Out +
+ {formatBytes(lxc.netout / 8)} + +
+ + Uptime +
+ {formatDuration(lxc.uptime)} + +
+ + lxc ID +
+ {lxc.vmid} +
+ + +
+ + diff --git a/src/lib/components/Server.svelte b/src/lib/components/Server.svelte index f0bc702..a5d3ee8 100644 --- a/src/lib/components/Server.svelte +++ b/src/lib/components/Server.svelte @@ -24,7 +24,7 @@ link: `https://${node.ip}:8006/#v1:0:=node%2F${node.name}:4:=jsconsole::::::` }, { name: 'Graphs', link: `https://${node.ip}:8006/#v1:0:=node%2F${node.name}:4:5::::::` }, - { name: 'Web', link: `https://${node.ip}:8006/` } + { name: 'Details', link: `/servers/node/${node.name}` } ]; let { cpuinfo, memory, uptime, loadavg } = node.info; @@ -116,7 +116,7 @@