Files
floci-ui/packages/frontend/src/App.tsx
T
Zakaria 953ba951db
CI / checks (pull_request) Failing after 13m18s
feat: add a runtime diagnostics page
Adds GET /api/clouds/:cloud/diagnostics and a Diagnostics page in the
General nav. The report combines, in one call:

- runtime reachability, latency, version and edition from /_floci/health
- every service the runtime emulates, with the console pages backed by it
- per-console-service probes (the existing status check)
- EC2 instance containers from /_floci/diagnose
- console uptime, sign-in mode and active session count

Each source is optional, so a down runtime still yields a partial report.
2026-10-23 11:29:48 -04:00

41 lines
2.8 KiB
TypeScript

import {BrowserRouter, Navigate, Route, Routes} from 'react-router-dom'
import {Layout} from '@/components/Layout'
import {SecretsManagerPage} from '@/features/secretsmanager/SecretsManagerPage'
import {CloudExplorerPage} from '@/pages/CloudExplorerPage'
import {CloudConsoleHomePage} from '@/pages/CloudConsoleHomePage'
import {DatabaseDataPage} from '@/pages/DatabaseDataPage'
import {DiagnosticsPage} from '@/pages/DiagnosticsPage'
import {DynamoDbItemEditorPage} from '@/pages/DynamoDbItemEditorPage'
import {WorkflowStudioPage} from '@/pages/WorkflowStudioPage'
export default function App() {
return (
<BrowserRouter>
<Routes>
<Route element={<Layout/>}>
<Route index element={<Navigate to="/console/aws" replace/>}/>
<Route path="/dashboard" element={<Navigate to="/console/aws" replace/>}/>
<Route path="/console" element={<Navigate to="/console/aws" replace/>}/>
<Route path="/console/azure" element={<Navigate to="/console/aws" replace/>}/>
<Route path="/console/gcp" element={<Navigate to="/console/aws" replace/>}/>
<Route path="/console/:cloud" element={<CloudConsoleHomePage/>}/>
<Route path="/diagnostics" element={<Navigate to="/diagnostics/aws" replace/>}/>
<Route path="/diagnostics/azure" element={<Navigate to="/diagnostics/aws" replace/>}/>
<Route path="/diagnostics/gcp" element={<Navigate to="/diagnostics/aws" replace/>}/>
<Route path="/diagnostics/:cloud" element={<DiagnosticsPage/>}/>
<Route path="/cloud-explorer" element={<Navigate to="/cloud-explorer/aws/storage" replace/>}/>
<Route path="/cloud-explorer/azure/*" element={<Navigate to="/cloud-explorer/aws/storage" replace/>}/>
<Route path="/cloud-explorer/gcp/*" element={<Navigate to="/cloud-explorer/aws/storage" replace/>}/>
<Route path="/cloud-explorer/:cloud/:service" element={<CloudExplorerPage/>}/>
<Route path="/cloud-explorer/:cloud/:service/:resourceId/data" element={<DatabaseDataPage/>}/>
<Route path="/cloud-explorer/:cloud/nosql/:resourceId/data/items/new" element={<DynamoDbItemEditorPage/>}/>
<Route path="/cloud-explorer/:cloud/nosql/:resourceId/data/items/:itemId/edit" element={<DynamoDbItemEditorPage/>}/>
<Route path="/cloud-explorer/aws/workflows/:resourceId/studio" element={<WorkflowStudioPage/>}/>
<Route path="/secretsmanager" element={<SecretsManagerPage/>}/>
<Route path="*" element={<Navigate to="/console/aws" replace/>}/>
</Route>
</Routes>
</BrowserRouter>
)
}