Node Resource Monitoring Page
Overview
The dashboard currently provides visibility into Jobs, Queues, Pods, and PodGroups, but there is no dedicated node-level resource monitoring view.
Kubernetes operators need a way to monitor node health and resource availability, including:
- CPU capacity and allocatable resources
- Memory capacity and allocatable resources
- Node conditions and health status
- Resource utilization across nodes
The Kubernetes client (k8s.ts) already has CoreV1Api configured, so retrieving node information should require only a listNode() API call.
Motivation
A node-level monitoring page would provide operators with a more complete view of cluster health and resource availability.
This would also complement the existing workload-level views and make it easier to identify resource bottlenecks or unhealthy nodes.
Proposed Scope
1. Navigation
Add a new Nodes navigation item in:
constants/index.ts
2. Backend
Create a new tRPC router under:
packages/trpc/server/router/nodes/
The router should expose the necessary node information from the Kubernetes API, including:
- Node name
- CPU capacity
- CPU allocatable
- Memory capacity
- Memory allocatable
- Node conditions
- Other useful node metadata where appropriate
The existing CoreV1Api configuration in k8s.ts should be reused.
3. Frontend
Create a new dashboard page at:
apps/web/src/app/[locale]/(dashboard)/nodes/
The page should include:
- Node list/table
- CPU resource information
- Memory resource information
- Resource utilization visualizations/bar charts
- Node health/condition status
The UI should follow the existing dashboard's design patterns and components wherever possible.
4. Internationalization
Add the required translation messages for:
All newly introduced user-facing text should use the existing i18n system.
Acceptance Criteria
Node Resource Monitoring Page
Overview
The dashboard currently provides visibility into Jobs, Queues, Pods, and PodGroups, but there is no dedicated node-level resource monitoring view.
Kubernetes operators need a way to monitor node health and resource availability, including:
The Kubernetes client (
k8s.ts) already hasCoreV1Apiconfigured, so retrieving node information should require only alistNode()API call.Motivation
A node-level monitoring page would provide operators with a more complete view of cluster health and resource availability.
This would also complement the existing workload-level views and make it easier to identify resource bottlenecks or unhealthy nodes.
Proposed Scope
1. Navigation
Add a new Nodes navigation item in:
constants/index.ts2. Backend
Create a new tRPC router under:
packages/trpc/server/router/nodes/The router should expose the necessary node information from the Kubernetes API, including:
The existing
CoreV1Apiconfiguration ink8s.tsshould be reused.3. Frontend
Create a new dashboard page at:
apps/web/src/app/[locale]/(dashboard)/nodes/The page should include:
The UI should follow the existing dashboard's design patterns and components wherever possible.
4. Internationalization
Add the required translation messages for:
enzh-CNAll newly introduced user-facing text should use the existing i18n system.
Acceptance Criteria
CoreV1Apisetup.en) translations are added.zh-CN) translations are added.