MATIH Platform is in active MVP development. Documentation reflects current implementation status.
16. User Experience
Control Plane UI

Control Plane UI

The Control Plane UI is the platform administration interface running on port 3004. It provides tenant management, user administration, billing and usage tracking, infrastructure monitoring, service provisioning, topology visualization, and an administrative AI assistant. This interface is used by platform administrators and tenant managers to configure and monitor the MATIH platform.


Application Structure

frontend/control-plane-ui/src/
  components/
    AdminAssistant/       # AI assistant for admin tasks
    audit/                # Audit log browsing
    Billing/              # Billing and usage management
    ErrorBoundary.tsx     # Error boundary
    executive/            # Executive dashboard components
    infrastructure/       # Infrastructure monitoring
    Layout/               # Layout components
    provisioning/         # Tenant provisioning wizard
    SupportChatWidget.tsx # Support chat integration
    Topology/             # Service topology visualization
    users/                # User management
    Wizard/               # Configuration wizards
  hooks/
    useAuditLog.ts        # Audit log data access
    useUsers.ts           # User management operations
  pages/                  # Route-level page components
  App.tsx                 # Root application component
  main.tsx                # Vite entry point

Key Numbers

MetricValue
Port3004
Component directories12
Custom hooks2
Backend integrationsIAM Service, Tenant Service, Billing Service, Audit Service, Infrastructure Service

Tenant Management

The tenant management section provides a complete lifecycle view of all tenants on the platform.

Tenant List

ColumnDescription
Tenant nameDisplay name of the tenant organization
SlugURL-safe identifier used in routing and namespacing
StatusActive, Provisioning, Suspended, Decommissioning
PlanSubscription tier (Starter, Professional, Enterprise)
UsersNumber of active users
Data volumeCurrent data storage utilization
CreatedTenant creation date
HealthOverall health indicator based on service status

Tenant Detail View

The tenant detail view provides deep information organized in tabs:

TabContent
OverviewTenant metadata, status, plan, resource quotas, health summary
ServicesPer-service status for all data plane services in the tenant namespace
UsersUser list with roles, last login, and activity summary
ConfigurationTenant-specific configuration overrides
UsageResource usage metrics: compute, storage, queries, API calls
BillingCurrent charges, invoice history, payment status
AuditAudit trail of all administrative actions on this tenant
NetworkingDNS zones, ingress configuration, TLS certificates

Provisioning Wizard

The provisioning/ directory contains a multi-step wizard for provisioning new tenants:

StepTitleConfiguration
1Organization DetailsTenant name, slug, contact information
2Plan SelectionSubscription tier and resource quotas
3Namespace ConfigurationKubernetes namespace, resource limits
4Service SelectionWhich data plane services to deploy
5Database ProvisioningPer-tenant database creation
6NetworkingDNS zone, ingress controller, TLS
7Initial UsersCreate initial admin and user accounts
8Review and ConfirmSummary of all settings before provisioning

The wizard submits the provisioning request to the Tenant Service, which orchestrates the multi-phase deployment described in Chapter 7.


User Administration

The users/ component directory provides user management capabilities:

User List

ColumnDescription
NameFull name of the user
EmailEmail address (login identifier)
RoleAssigned role (Platform Admin, Tenant Admin, Analyst, Engineer, Viewer)
StatusActive, Invited, Suspended, Locked
Last loginTimestamp of most recent authentication
MFA enabledMulti-factor authentication status
Tenant accessList of tenants the user can access

User Management Actions

ActionDescriptionPermission Required
Invite userSend invitation email with role assignmentTenant Admin
Edit roleChange user's role and permissionsTenant Admin
Suspend userTemporarily disable account accessTenant Admin
Reset passwordTrigger password reset flowPlatform Admin
Enable/disable MFAManage multi-factor authenticationPlatform Admin
View audit trailSee all actions performed by this userAudit Viewer
Manage tenant accessGrant or revoke access to specific tenantsPlatform Admin

User Hook

// frontend/control-plane-ui/src/hooks/useUsers.ts
export function useUsers() {
  // User CRUD operations backed by IAM Service
  const listUsers = useCallback(async (params?: UserListParams) => { /* ... */ }, []);
  const getUser = useCallback(async (userId: string) => { /* ... */ }, []);
  const inviteUser = useCallback(async (invitation: UserInvitation) => { /* ... */ }, []);
  const updateUserRole = useCallback(async (userId: string, role: string) => { /* ... */ }, []);
  const suspendUser = useCallback(async (userId: string, reason: string) => { /* ... */ }, []);
  const resetPassword = useCallback(async (userId: string) => { /* ... */ }, []);
 
  return { listUsers, getUser, inviteUser, updateUserRole, suspendUser, resetPassword };
}

Billing Management

The Billing/ component directory provides billing and usage tracking:

Billing Dashboard

WidgetContent
Current month chargesRunning total for the current billing period
Usage breakdownCost breakdown by service (compute, storage, queries, AI tokens)
Usage trendMonth-over-month usage trend chart
Plan utilizationPercentage of plan quotas consumed
Invoice historyList of past invoices with payment status
Cost forecastingProjected charges for the remainder of the billing period

Plan Comparison

FeatureStarterProfessionalEnterprise
Users525Unlimited
Storage100 GB1 TBCustom
Queries/day1,00050,000Unlimited
AI tokens/month100K1MCustom
Dashboards10100Unlimited
SLA--99.5%99.99%
SupportEmailPriorityDedicated

Infrastructure Monitoring

The infrastructure/ component directory provides visibility into the platform's infrastructure layer:

Infrastructure Dashboard

PanelContent
Cluster overviewKubernetes cluster health, node count, resource utilization
Service statusHealth status of all Control Plane and Data Plane services
Resource utilizationCPU, memory, disk, and network utilization across namespaces
Pod statusRunning, pending, failed, and restarting pod counts
StoragePersistent volume claims, usage, and capacity
NetworkIngress traffic, inter-service communication, DNS resolution

Service Health Grid

+-----------------------------------------------------------+
|  Service Health                                            |
+-----------------------------------------------------------+
|  Control Plane:                                            |
|  [OK] IAM      [OK] Tenant   [OK] Config   [OK] Billing  |
|  [OK] Audit    [OK] Notify   [OK] Registry [OK] Infra    |
|  [OK] Gateway  [OK] Observability                         |
+-----------------------------------------------------------+
|  Data Plane (tenant: acme-corp):                           |
|  [OK] Query Engine  [OK] AI Service   [OK] BI Service     |
|  [!] Pipeline Svc   [OK] Catalog Svc  [OK] ML Service     |
|  [OK] Governance    [OK] Render Svc   [OK] Semantic Layer  |
+-----------------------------------------------------------+
|  Infrastructure:                                           |
|  [OK] PostgreSQL    [OK] Redis         [OK] Kafka         |
|  [OK] Trino         [OK] Elasticsearch [OK] MinIO         |
+-----------------------------------------------------------+

Topology Visualization

The Topology/ component renders a visual map of service dependencies and communication patterns:

Topology View

+-----------------------------------------------------------+
|  Platform Topology                [Zoom] [Filter] [Layout] |
+-----------------------------------------------------------+
|                                                            |
|    [Kong Gateway]                                          |
|        |    |                                              |
|    [Control Plane]          [Data Plane]                   |
|    +---+---+---+            +---+---+---+                  |
|    |IAM|Ten|Cfg|            |QE |AI |BI |                  |
|    +---+---+---+            +---+---+---+                  |
|        |                        |   |                      |
|    [PostgreSQL]             [Trino] [Redis]                 |
|                                 |                          |
|                            [Kafka]                         |
|                                                            |
+-----------------------------------------------------------+
|  Legend: [OK] Healthy  [!] Degraded  [X] Down              |
+-----------------------------------------------------------+

The topology view supports:

FeatureDescription
Interactive zoomZoom in/out and pan the topology graph
Node selectionClick a service to see its details, metrics, and dependencies
Edge highlightingHover over connections to see traffic volume and latency
FilteringFilter by namespace, service type, or health status
Layout modesHierarchical, force-directed, or grid layout

Audit Log Browsing

The audit/ component provides a searchable audit trail:

Audit Log Columns

ColumnDescription
TimestampWhen the action occurred
ActorUser or service that performed the action
ActionWhat was done (create, update, delete, login, etc.)
ResourceWhat was affected (tenant, user, dashboard, etc.)
DetailsSpecific changes (before/after values)
IP addressSource IP of the request
TenantTenant context of the action
StatusSuccess or failure

Audit Hook

// frontend/control-plane-ui/src/hooks/useAuditLog.ts
export function useAuditLog() {
  const fetchAuditLogs = useCallback(async (params: AuditLogParams) => {
    // Query audit service with filters
    // Supports: date range, actor, action, resource type, tenant
  }, []);
 
  const exportAuditLogs = useCallback(async (params: AuditLogParams, format: 'csv' | 'json') => {
    // Export filtered audit logs
  }, []);
 
  return { fetchAuditLogs, exportAuditLogs };
}

Admin Assistant

The AdminAssistant/ component provides an AI-powered assistant for administrative tasks:

CapabilityExample
Natural language queries"How many active users does the acme-corp tenant have?"
Guided troubleshooting"The pipeline service is showing errors for tenant xyz"
Configuration help"What configuration changes would improve query performance?"
Compliance checks"Is the acme-corp tenant compliant with our data retention policy?"
Usage analysis"Which tenants have exceeded 80% of their storage quota?"

Executive Dashboard

The executive/ component directory provides high-level platform overview dashboards for executives:

WidgetContent
Platform healthOverall platform health score with trend
Active tenantsTotal active tenants with growth rate
Monthly revenueCurrent month revenue with forecast
User engagementDaily/weekly/monthly active users across all tenants
Query volumePlatform-wide query execution volume
AI usageTotal AI tokens consumed with cost breakdown
SLA complianceSLA achievement rate across all tenants

Key Source Files

ComponentLocation
Application entryfrontend/control-plane-ui/src/App.tsx
Admin assistantfrontend/control-plane-ui/src/components/AdminAssistant/
Audit logfrontend/control-plane-ui/src/components/audit/
Billingfrontend/control-plane-ui/src/components/Billing/
Executive dashboardfrontend/control-plane-ui/src/components/executive/
Infrastructurefrontend/control-plane-ui/src/components/infrastructure/
Layoutfrontend/control-plane-ui/src/components/Layout/
Provisioning wizardfrontend/control-plane-ui/src/components/provisioning/
Topologyfrontend/control-plane-ui/src/components/Topology/
User managementfrontend/control-plane-ui/src/components/users/
Configuration wizardfrontend/control-plane-ui/src/components/Wizard/
Audit log hookfrontend/control-plane-ui/src/hooks/useAuditLog.ts
Users hookfrontend/control-plane-ui/src/hooks/useUsers.ts