2026-03-23 22:17:33 +01:00
|
|
|
import { Outlet, useNavigate, useLocation } from 'react-router';
|
|
|
|
|
import { Tabs } from '@cameleer/design-system';
|
|
|
|
|
|
|
|
|
|
const ADMIN_TABS = [
|
|
|
|
|
{ label: 'User Management', value: '/admin/rbac' },
|
|
|
|
|
{ label: 'Audit Log', value: '/admin/audit' },
|
|
|
|
|
{ label: 'OIDC', value: '/admin/oidc' },
|
2026-03-26 12:51:07 +01:00
|
|
|
{ label: 'App Config', value: '/admin/appconfig' },
|
2026-03-23 22:17:33 +01:00
|
|
|
{ label: 'Database', value: '/admin/database' },
|
feat: remove OpenSearch, add ClickHouse admin page
Remove all OpenSearch code, dependencies, configuration, deployment
manifests, and CI/CD references. Replace the OpenSearch admin page
with a ClickHouse admin page showing cluster status, table sizes,
performance metrics, and indexer pipeline stats.
- Delete 11 OpenSearch Java files (config, search impl, admin controller, DTOs, tests)
- Delete 3 OpenSearch frontend files (admin page, CSS, query hooks)
- Delete deploy/opensearch.yaml K8s manifest
- Remove opensearch Maven dependencies from pom.xml
- Remove opensearch config from application.yml, Dockerfile, docker-compose
- Remove opensearch from CI workflow (secrets, deploy, cleanup steps)
- Simplify ThresholdConfig (remove OpenSearch thresholds, database-only)
- Change default search backend from opensearch to clickhouse
- Add ClickHouseAdminController with /status, /tables, /performance, /pipeline
- Add ClickHouseAdminPage with StatCards, pipeline ProgressBar, tables DataTable
- Update CLAUDE.md, HOWTO.md, and source comments
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 18:56:06 +02:00
|
|
|
{ label: 'ClickHouse', value: '/admin/clickhouse' },
|
2026-03-23 22:17:33 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
export default function AdminLayout() {
|
|
|
|
|
const navigate = useNavigate();
|
|
|
|
|
const location = useLocation();
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<div>
|
|
|
|
|
<Tabs
|
|
|
|
|
tabs={ADMIN_TABS}
|
|
|
|
|
active={location.pathname}
|
|
|
|
|
onChange={(path) => navigate(path)}
|
|
|
|
|
/>
|
2026-04-02 17:22:06 +02:00
|
|
|
<div style={{ padding: '20px 24px 40px' }}>
|
feat: replace UI with design system example pages wired to real API
Migrate all page components from the @cameleer/design-system v0.0.3
example UI, replacing mock data with real backend API hooks. This brings
richer visuals (KpiStrip, GroupCard, RouteFlow, ProcessorTimeline,
DateRangePicker, expandable rows) while preserving all existing API
integration, auth, and routing infrastructure.
Pages migrated: Dashboard, RoutesMetrics, RouteDetail, ExchangeDetail,
AgentHealth, AgentInstance, OidcConfig, AuditLog, RBAC (Users/Groups/Roles).
Also enhanced LayoutShell CommandPalette with real search data from catalog.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:42:16 +01:00
|
|
|
<Outlet />
|
|
|
|
|
</div>
|
2026-03-23 22:17:33 +01:00
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|