feat: add resource monitoring and live scaling
- Backend: getResourceUsage() method in KubernetesService fetches real-time CPU/Memory metrics from K8s metrics-server API per pod - Backend: updateResources() method patches live K8s deployments with new CPU/Memory requests+limits and replica count - Backend: GET /applications/:id/resources endpoint for monitoring - Backend: PATCH /applications/:id/resources endpoint for scaling - Backend: ScaleResourcesDto with validation for resource fields - Frontend: Resource monitoring card with per-pod CPU/Memory progress bars (color-coded: green < 50%, yellow < 80%, red > 80%) - Frontend: Pod status table showing phase, readiness, restarts - Frontend: Scaling controls for CPU request/limit, memory request/limit, and replicas with +/- buttons - Frontend: Auto-refresh metrics every 5 seconds when monitoring is open - Frontend: parseCpuToMillicores/parseMemoryToMi helpers for metric parsing
This commit is contained in:
@@ -92,3 +92,31 @@ export interface CreateApplicationDto {
|
||||
replicas?: number;
|
||||
port?: number;
|
||||
}
|
||||
|
||||
export interface PodInfo {
|
||||
name: string;
|
||||
status: string;
|
||||
ready: boolean;
|
||||
restarts: number;
|
||||
startedAt?: string;
|
||||
}
|
||||
|
||||
export interface PodMetric {
|
||||
name: string;
|
||||
cpu: string;
|
||||
memory: string;
|
||||
}
|
||||
|
||||
export interface ResourceUsage {
|
||||
configured: {
|
||||
cpuRequest: string;
|
||||
cpuLimit: string;
|
||||
memoryRequest: string;
|
||||
memoryLimit: string;
|
||||
replicas: number;
|
||||
readyReplicas: number;
|
||||
availableReplicas: number;
|
||||
};
|
||||
pods: PodInfo[];
|
||||
metrics: PodMetric[];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user