feat(health-monitoring): complete instance health monitoring implementation
Backend: - Container startup verification with docker inspect polling - Readiness probe integration with ToolType configuration - Enhanced health endpoint checking container + tunnel status - Smart tunnel recovery distinguishing connection errors vs HTTP errors - New status states: starting, probing, unhealthy Frontend: - Updated status badges for new states (starting, probing, unhealthy) - Show tunnel error only when tunnel_status is unreachable - Show app error badge with status code for error_response - Add collapsible probe output section for diagnostics - Only show Recreate Tunnel button for unreachable tunnels Quality Gates: - Frontend type checking: PASSED - Frontend build: PASSED - Backend unit tests: 56 passed Addresses instance-health-monitoring OpenSpec change
This commit is contained in:
@@ -106,13 +106,13 @@ export async function getUserSessions(): Promise<Session[]> {
|
||||
export interface InstanceHealth {
|
||||
healthy: boolean;
|
||||
container_status: string;
|
||||
container_health?: string;
|
||||
container_exit_code?: number | null;
|
||||
container_health: string | null;
|
||||
container_exit_code: number | null;
|
||||
tunnel_status: string;
|
||||
tunnel_status_code: number | null;
|
||||
probe_status: string;
|
||||
last_probe_output?: string;
|
||||
error?: string;
|
||||
last_probe_output: string | null;
|
||||
error: string | null;
|
||||
}
|
||||
|
||||
export async function checkInstanceHealth(
|
||||
|
||||
@@ -119,9 +119,11 @@ export const SessionsPage = () => {
|
||||
[session.id]: {
|
||||
healthy: false,
|
||||
container_status: "unknown",
|
||||
container_health: null,
|
||||
tunnel_status: "unreachable",
|
||||
tunnel_status_code: null,
|
||||
probe_status: "unknown",
|
||||
last_probe_output: null,
|
||||
error: "check failed",
|
||||
},
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user