From 4053a5df452dda55b81ef5f0ced779fe11360a8d Mon Sep 17 00:00:00 2001 From: JohnDoe6345789 Date: Fri, 26 Dec 2025 05:21:36 +0000 Subject: [PATCH] config: nextjs,frontends,tsx (3 files) --- frontends/nextjs/src/app/api/status/route.ts | 6 + frontends/nextjs/src/app/dbal-daemon/page.tsx | 113 +----------------- frontends/nextjs/tsconfig.json | 2 +- 3 files changed, 9 insertions(+), 112 deletions(-) create mode 100644 frontends/nextjs/src/app/api/status/route.ts 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

-

- C++ Daemon -

-

- 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. -

-
- - Visit daemon docs - - - Check status - -
-
- -
- {architectureHighlights.map(item => ( -
-

{item.title}

-

{item.description}

-
- ))} -
- -
-
-

Security First

-
    - {securityFeatures.map(feature => ( -
  • {feature}
  • - ))} -
-

- Future build artifacts expose TCP/Unix socket endpoints that your monitoring stack can scrape, while audit logs land in a write-only bucket. -

-
-
- -
-

Deployment Readiness

-
-
-

Dependencies

-

- C++17, CMake 3.20+, libpq/mysqlclient, SQLite, OpenSSL, and Boost.Beast power the daemon stack used in Kubernetes/Spark deployments. -

-
-
-

Configuration

-

- `server`, `database`, `security`, and `performance` keys live in `dbal/cpp/config/production.yaml`. Credentials reference environment secrets, while audit paths are write-only. -

-
-
-
- -
- -
-
-
- ) -} +export { metadata } from '@dbal-ui/DaemonPage' +export { DBALDaemonPage as default } from '@dbal-ui/DaemonPage' diff --git a/frontends/nextjs/tsconfig.json b/frontends/nextjs/tsconfig.json index f4b67b556..aa2b2f909 100644 --- a/frontends/nextjs/tsconfig.json +++ b/frontends/nextjs/tsconfig.json @@ -29,7 +29,7 @@ "@/*": [ "./src/*" ], - "@/dbal/*": [ + "@/dbal/*": [ "../dbal/ts/src/*" ], "@dbal-ui/*": [