{item.title}
-{item.description}
-diff --git a/frontends/nextjs/src/app/api/status/route.ts b/frontends/nextjs/src/app/api/status/route.ts new file mode 100644 index 000000000..ffa1ad66c --- /dev/null +++ b/frontends/nextjs/src/app/api/status/route.ts @@ -0,0 +1,6 @@ +import { NextResponse } from 'next/server' +import { getStatusResponse } from '@dbal-ui/status' + +export function GET() { + return NextResponse.json(getStatusResponse()) +} diff --git a/frontends/nextjs/src/app/dbal-daemon/page.tsx b/frontends/nextjs/src/app/dbal-daemon/page.tsx index 653d108fa..a21fc1db7 100644 --- a/frontends/nextjs/src/app/dbal-daemon/page.tsx +++ b/frontends/nextjs/src/app/dbal-daemon/page.tsx @@ -1,111 +1,2 @@ -import type { Metadata } from 'next' -import Link from 'next/link' -import { ServerStatusPanel } from '@/components/status/ServerStatusPanel' - -export const metadata: Metadata = { - title: 'DBAL Daemon', - description: 'C++ DBAL daemon overview, architecture, and observability.', -} - -const architectureHighlights = [ - { - title: 'Sandboxed gRPC Gateway', - description: - 'TLS-enabled WebSocket/JSON-RPC front door with auth, rate limiting, and ACL enforcement before any query reaches the database.', - }, - { - title: 'Query Executor', - description: - 'Builds safe, parameterized SQL statements, validates ACL rules, and routes requests through the configured adapters.', - }, - { - title: 'Adapter Layer', - description: - 'Pluggable backends (Postgres/MySQL/SQLite) with typed capability metadata so the core client stays agnostic to the engine.', - }, -] - -const securityFeatures = [ - 'Process isolation, capability enforcement, and a least-privilege sandbox per deployment.', - 'Credential vault referenced by the daemon only — secrets never leak to the TypeScript client.', - 'Audit logging for every RPC call, including user, operation, entity, and success/failure.', - 'Row-level security + per-operation ACL checks keep queries scoped to the requester.', -] - -export default function DBALDaemonPage() { - return ( -
DBAL
-- A hardened, sandboxed C++ daemon isolates your production databases. - It validates every request, enforces ACLs, and executes SQL through safe adapters so the TypeScript client never touches credentials. -
-{item.description}
-- Future build artifacts expose TCP/Unix socket endpoints that your monitoring stack can scrape, while audit logs land in a write-only bucket. -
-- C++17, CMake 3.20+, libpq/mysqlclient, SQLite, OpenSSL, and Boost.Beast power the daemon stack used in Kubernetes/Spark deployments. -
-- `server`, `database`, `security`, and `performance` keys live in `dbal/cpp/config/production.yaml`. Credentials reference environment secrets, while audit paths are write-only. -
-