From 19272c05bf59674e4d7834bf8e964a983305d0d8 Mon Sep 17 00:00:00 2001 From: theRealBassist Date: Mon, 19 Aug 2024 17:45:15 -0400 Subject: [PATCH] Adds a version listing in the hub for each agent. --- beszel/internal/agent/agent.go | 2 ++ beszel/internal/entities/system/system.go | 1 + .../site/src/components/systems-table/systems-table.tsx | 9 +++++++++ beszel/site/src/types.d.ts | 1 + 4 files changed, 13 insertions(+) diff --git a/beszel/internal/agent/agent.go b/beszel/internal/agent/agent.go index af830b3..dad4845 100644 --- a/beszel/internal/agent/agent.go +++ b/beszel/internal/agent/agent.go @@ -1,6 +1,7 @@ package agent import ( + "beszel" "beszel/internal/entities/container" "beszel/internal/entities/system" "bytes" @@ -143,6 +144,7 @@ func (a *Agent) getSystemStats() (*system.Info, *system.Stats) { Cpu: systemStats.Cpu, MemPct: systemStats.MemPct, DiskPct: systemStats.DiskPct, + Vers: beszel.Version, } // add host info diff --git a/beszel/internal/entities/system/system.go b/beszel/internal/entities/system/system.go index 6c9550c..8fe23cc 100644 --- a/beszel/internal/entities/system/system.go +++ b/beszel/internal/entities/system/system.go @@ -45,6 +45,7 @@ type Info struct { Cpu float64 `json:"cpu"` MemPct float64 `json:"mp"` DiskPct float64 `json:"dp"` + Vers string `json:"v"` } // Final data structure to return to the hub diff --git a/beszel/site/src/components/systems-table/systems-table.tsx b/beszel/site/src/components/systems-table/systems-table.tsx index 03a4634..6cadc01 100644 --- a/beszel/site/src/components/systems-table/systems-table.tsx +++ b/beszel/site/src/components/systems-table/systems-table.tsx @@ -55,6 +55,7 @@ import { PauseCircleIcon, PlayCircleIcon, Trash2Icon, + Wifi, } from 'lucide-react' import { useMemo, useState } from 'react' import { $systems, pb } from '@/lib/stores' @@ -135,6 +136,14 @@ export default function SystemsTable() { }, header: ({ column }) => sortableHeader(column, 'System', Server), }, + { + accessorKey: 'info.v', + cell: (info) => { + return( +
{info.getValue() as string}
) + }, + header: ({ column }) => sortableHeader(column, 'Version', Wifi), + }, { accessorKey: 'info.cpu', cell: CellFormatter, diff --git a/beszel/site/src/types.d.ts b/beszel/site/src/types.d.ts index 3d34a51..c2392f2 100644 --- a/beszel/site/src/types.d.ts +++ b/beszel/site/src/types.d.ts @@ -6,6 +6,7 @@ export interface SystemRecord extends RecordModel { status: 'up' | 'down' | 'paused' | 'pending' port: string info: SystemInfo + agentVersion: string } export interface SystemInfo {