Rebalance Proxmox hosts table column widths

Disk shared half the weight of CPU and memory while rendering the same
kind of usage bar, so the disk meter was squeezed and the over-allocated
version/uptime/temp/cluster columns wasted space the node column needed
for longer cluster-style names. Equalize CPU/memory/disk to the workloads
table convention (140px each), give node headroom, and trim the
short-content columns to what their labels and values actually need
across desktop, tablet, and mobile layout modes.
This commit is contained in:
rcourtman
2026-05-19 23:36:47 +01:00
parent fb97f83574
commit bd18c0f5eb
2 changed files with 22 additions and 18 deletions
@@ -189,6 +189,15 @@ function KubernetesOverview(props: KubernetesOverviewProps) {
emptyDescription="Kubernetes nodes appear here as soon as the agent enumerates them."
showToolbar={false}
/>
<Show when={props.model().deployments.length > 0}>
<KubernetesDeploymentsTable
resources={filteredDeployments()}
emptyIcon={k8sIcon()}
emptyTitle="No deployments reported"
emptyDescription="Deployments appear here once the cluster reports them."
showToolbar={false}
/>
</Show>
<WorkloadsSurface
state={workloadsState}
vms={[]}
@@ -201,15 +210,6 @@ function KubernetesOverview(props: KubernetesOverviewProps) {
forcedViewMode={KUBERNETES_WORKLOAD_FORCED_VIEW_MODE}
compactGroupHeaders
/>
<Show when={props.model().deployments.length > 0}>
<KubernetesDeploymentsTable
resources={filteredDeployments()}
emptyIcon={k8sIcon()}
emptyTitle="No deployments reported"
emptyDescription="Deployments appear here once the cluster reports them."
showToolbar={false}
/>
</Show>
</div>
);
}
@@ -1,15 +1,19 @@
import { resolveResourcePlatformType } from '@/utils/sourcePlatforms';
import type { Resource, ResourceType } from '@/types/resource';
// The Overview tab mirrors Proxmox / Docker: cluster + nodes table on top,
// embedded WorkloadsSurface (pods) underneath, deployments table beneath
// that when the cluster reports any. The standalone Nodes / Pods /
// Deployments tabs that used to live here were pure duplicates of the
// Overview stack, so they're intentionally absent — the Workloads filter
// inside Overview owns search/grouping for pods. Services are not surfaced
// by the canonical unified resource model today (no ResourceTypeK8sService
// projection on the backend), so a Services tab is similarly absent until
// that gap is closed in the canonical adapter.
// The Overview tab stacks the K8s object graph from logical aggregate down
// to runtime detail: clusters → nodes → deployments → pods. Deployments
// (desired state) sit above pods (the actual runtime result) so a reader
// scanning for "did my rollout converge?" hits Ready/Available before
// scrolling into the per-pod list. The deployments table is gated on the
// cluster reporting any; when it's empty the pods section follows nodes
// directly. The standalone Nodes / Pods / Deployments tabs that used to
// live here were pure duplicates of the Overview stack, so they're
// intentionally absent — the Workloads filter inside Overview owns
// search/grouping for pods. Services are not surfaced by the canonical
// unified resource model today (no ResourceTypeK8sService projection on
// the backend), so a Services tab is similarly absent until that gap is
// closed in the canonical adapter.
export type KubernetesPageTabId = 'overview';
export type KubernetesTabSpec = {