From 509ea8928022e346d612a09edec86826beb56bb7 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 31 Mar 2026 08:55:40 +0000 Subject: [PATCH] feat(admin): track VM-hosted web surfaces in ops --- dashboards/admin-web/src/lib/ops-stack.ts | 143 ++++++++++++++++++++++ 1 file changed, 143 insertions(+) diff --git a/dashboards/admin-web/src/lib/ops-stack.ts b/dashboards/admin-web/src/lib/ops-stack.ts index 54f2eebd..a4a8ce82 100644 --- a/dashboards/admin-web/src/lib/ops-stack.ts +++ b/dashboards/admin-web/src/lib/ops-stack.ts @@ -90,6 +90,138 @@ export const STACK_SERVICES: ServiceDefinition[] = [ default: 'http://tracker-web:3003', path: '/api/health', }, + { + id: 'lysnrai-dashboard', + name: 'LysnrAI Dashboard', + group: 'Product Web Apps', + description: 'Voice AI dashboard hosted on the VM for internal product review.', + management: 'docker', + exposure: 'internal', + port: 3002, + kind: 'http-status', + default: 'http://lysnrai-dashboard:3002', + path: '/', + }, + { + id: 'chronomind-web', + name: 'ChronoMind Web', + group: 'Product Web Apps', + description: 'ChronoMind web client hosted on the VM.', + management: 'docker', + exposure: 'internal', + port: 3030, + kind: 'http-status', + default: 'http://chronomind-web:3030', + path: '/', + }, + { + id: 'jarvisjr-web', + name: 'JarvisJr Web', + group: 'Product Web Apps', + description: 'JarvisJr web client hosted on the VM.', + management: 'docker', + exposure: 'internal', + port: 3035, + kind: 'http-status', + default: 'http://jarvisjr-web:3035', + path: '/', + }, + { + id: 'flowmonk-web', + name: 'FlowMonk Web', + group: 'Product Web Apps', + description: 'FlowMonk web client hosted on the VM.', + management: 'docker', + exposure: 'internal', + port: 3040, + kind: 'http-status', + default: 'http://flowmonk-web:3040', + path: '/', + }, + { + id: 'notelett-web', + name: 'NoteLett Web', + group: 'Product Web Apps', + description: 'NoteLett web client hosted on the VM.', + management: 'docker', + exposure: 'internal', + port: 3045, + kind: 'http-status', + default: 'http://notelett-web:3045', + path: '/', + }, + { + id: 'mindlyst-web', + name: 'MindLyst Web', + group: 'Product Web Apps', + description: 'MindLyst web client hosted on the VM.', + management: 'docker', + exposure: 'internal', + port: 3050, + kind: 'http-status', + default: 'http://mindlyst-web:3050', + path: '/', + }, + { + id: 'nomgap-web', + name: 'NomGap Web', + group: 'Product Web Apps', + description: 'NomGap web client hosted on the VM.', + management: 'docker', + exposure: 'internal', + port: 3055, + kind: 'http-status', + default: 'http://nomgap-web:3055', + path: '/', + }, + { + id: 'actiontrail-web', + name: 'ActionTrail Web', + group: 'Product Web Apps', + description: 'ActionTrail web client hosted on the VM.', + management: 'docker', + exposure: 'internal', + port: 3060, + kind: 'http-status', + default: 'http://actiontrail-web:3060', + path: '/', + }, + { + id: 'localmemgpt-web', + name: 'LocalMemGPT Web', + group: 'Product Web Apps', + description: 'LocalMemGPT web client hosted on the VM.', + management: 'docker', + exposure: 'internal', + port: 3070, + kind: 'http-status', + default: 'http://localmemgpt-web:3070', + path: '/', + }, + { + id: 'llmlab-dashboard', + name: 'LLM Lab Dashboard', + group: 'Product Web Apps', + description: 'Local LLM dashboard hosted on the VM.', + management: 'docker', + exposure: 'internal', + port: 3075, + kind: 'http-status', + default: 'http://llmlab-dashboard:3075', + path: '/', + }, + { + id: 'efforise-web', + name: 'Efforise Web', + group: 'Product Web Apps', + description: 'Efforise web client hosted on the VM.', + management: 'docker', + exposure: 'internal', + port: 3080, + kind: 'http-status', + default: 'http://efforise-web:3080', + path: '/', + }, { id: 'platform', name: 'Platform Service', @@ -350,6 +482,17 @@ export const HOST_TOOLS: HostTool[] = [ export const RESTARTABLE_SERVICE_CONTAINERS: Record = { 'admin-web': 'learning_ai_common_plat-admin-web-1', 'tracker-web': 'learning_ai_common_plat-tracker-web-1', + 'lysnrai-dashboard': 'learning_ai_common_plat-lysnrai-dashboard-1', + 'chronomind-web': 'learning_ai_common_plat-chronomind-web-1', + 'jarvisjr-web': 'learning_ai_common_plat-jarvisjr-web-1', + 'flowmonk-web': 'learning_ai_common_plat-flowmonk-web-1', + 'notelett-web': 'learning_ai_common_plat-notelett-web-1', + 'mindlyst-web': 'learning_ai_common_plat-mindlyst-web-1', + 'nomgap-web': 'learning_ai_common_plat-nomgap-web-1', + 'actiontrail-web': 'learning_ai_common_plat-actiontrail-web-1', + 'localmemgpt-web': 'learning_ai_common_plat-localmemgpt-web-1', + 'llmlab-dashboard': 'learning_ai_common_plat-llmlab-dashboard-1', + 'efforise-web': 'learning_ai_common_plat-efforise-web-1', platform: 'learning_ai_common_plat-platform-service-1', extraction: 'learning_ai_common_plat-extraction-service-1', mcp: 'learning_ai_common_plat-mcp-server-1',