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:
Fusion
2026-05-22 21:28:45 +02:00
parent d5f9df33b7
commit d13e16f5e1
3 changed files with 15 additions and 13 deletions
+4 -4
View File
@@ -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(
+2
View File
@@ -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",
},
}));