feat: implement docker infrastructure (US-001)
- Add docker-compose.yml with postgres, redis, api, and web services - Add multi-stage Dockerfile for API (Python 3.11) - Add multi-stage Dockerfile for web (Node.js 20 + nginx) - Add Makefile with common development commands - Add .env.example with all required environment variables - Add placeholder pyproject.toml and package.json for builds - Configure health checks for all services - Setup persistent volumes for postgres, redis, and repos - Run services as non-root users
This commit is contained in:
@@ -1,51 +0,0 @@
|
||||
import { createBrowserRouter } from 'react-router-dom'
|
||||
import App from './App'
|
||||
import RouteGuard from './components/RouteGuard'
|
||||
import DashboardLayout from './components/DashboardLayout'
|
||||
import LoginPage from './pages/LoginPage'
|
||||
import CallbackPage from './pages/CallbackPage'
|
||||
import DashboardPage from './pages/DashboardPage'
|
||||
import ProjectListPage from './pages/ProjectListPage'
|
||||
import ProjectDetailPage from './pages/ProjectDetailPage'
|
||||
import ProjectFormPage from './pages/ProjectFormPage'
|
||||
import ToolsPage from './pages/ToolsPage'
|
||||
import ToolSpawnPage from './pages/ToolSpawnPage'
|
||||
import ToolInstanceDetailPage from './pages/ToolInstanceDetailPage'
|
||||
import SettingsPage from './pages/SettingsPage'
|
||||
import RepositoryListPage from './pages/RepositoryListPage'
|
||||
import RepositoryDetailPage from './pages/RepositoryDetailPage'
|
||||
import ConfigListPage from './pages/ConfigListPage'
|
||||
import SecretListPage from './pages/SecretListPage'
|
||||
|
||||
export const router = createBrowserRouter([
|
||||
{
|
||||
path: '/',
|
||||
element: <App />,
|
||||
children: [
|
||||
{
|
||||
element: (
|
||||
<RouteGuard>
|
||||
<DashboardLayout />
|
||||
</RouteGuard>
|
||||
),
|
||||
children: [
|
||||
{ path: '/', element: <DashboardPage /> },
|
||||
{ path: '/projects', element: <ProjectListPage /> },
|
||||
{ path: '/projects/new', element: <ProjectFormPage /> },
|
||||
{ path: '/projects/:id', element: <ProjectDetailPage /> },
|
||||
{ path: '/projects/:id/edit', element: <ProjectFormPage /> },
|
||||
{ path: '/tools', element: <ToolsPage /> },
|
||||
{ path: '/tools/spawn', element: <ToolSpawnPage /> },
|
||||
{ path: '/projects/:projectId/instances/:instanceId', element: <ToolInstanceDetailPage /> },
|
||||
{ path: '/settings', element: <SettingsPage /> },
|
||||
{ path: '/repositories', element: <RepositoryListPage /> },
|
||||
{ path: '/projects/:projectId/repositories/:repoId', element: <RepositoryDetailPage /> },
|
||||
{ path: '/projects/:id/configs', element: <ConfigListPage /> },
|
||||
{ path: '/projects/:id/secrets', element: <SecretListPage /> },
|
||||
],
|
||||
},
|
||||
{ path: '/login', element: <LoginPage /> },
|
||||
{ path: '/callback', element: <CallbackPage /> },
|
||||
],
|
||||
},
|
||||
])
|
||||
Reference in New Issue
Block a user