MATIH Platform is in active MVP development. Documentation reflects current implementation status.
15. Workbench Architecture
Control Plane UI
Infrastructure Topology

Infrastructure Topology

The Infrastructure page provides a visual representation of the Kubernetes cluster topology, resource utilization, service dependencies, and deployment status. It enables platform operators to monitor infrastructure health and identify resource bottlenecks across the MATIH deployment.


Topology View

The main view renders an interactive cluster topology diagram showing:

LayerComponentsDisplay
Namespacesmatih-system, matih-data-plane, matih-monitoring, tenant namespacesColor-coded containers
DeploymentsAll service deployments with replica countsNode badges with pod count
ServicesClusterIP, LoadBalancer, and Ingress servicesConnection lines
Data storesPostgreSQL, Redis, Kafka, Qdrant, DgraphDatabase icons

Resource Monitoring

Real-time resource utilization displayed per namespace and service:

MetricSourceDisplay
CPU usagePrometheus metricsGauge chart with request/limit overlay
Memory usagePrometheus metricsGauge chart with request/limit overlay
Pod countKubernetes APICurrent / desired replicas
Restart countKubernetes APICounter with trend indicator
Storage usagePrometheus metricsBar chart per PVC

Node Health

Node MetricDescriptionAlert Threshold
CPU utilizationAggregate CPU across all podsAbove 80%
Memory utilizationAggregate memory usageAbove 85%
Disk pressureNode disk usageAbove 90%
Pod capacityPods running vs. allocatableAbove 90%
Network I/OBytes transmitted/receivedAnomaly detection

Service Dependency Map

An interactive graph showing communication paths between services:

API Gateway --> AI Service --> Query Engine
                    |              |
                    v              v
                  Redis        PostgreSQL
                    |
                    v
                 Qdrant --> Dgraph

Deployment Status

ColumnDescription
ServiceService name and namespace
ReplicasCurrent / desired / available
ImageContainer image tag
AgeTime since last deployment
StatusRunning, Degraded, Failed
HPAAutoscaler min/max/current

Pod Detail View

Clicking a pod displays:

FieldSource
Pod name and IPKubernetes API
Container statusKubernetes API
Resource usagePrometheus
Recent logsKubernetes API (last 100 lines)
EventsKubernetes events for the pod

Namespace Usage Summary

NamespaceCPU RequestCPU LimitMemory RequestMemory Limit
matih-systemAggregatedAggregatedAggregatedAggregated
matih-data-planeAggregatedAggregatedAggregatedAggregated
matih-monitoringAggregatedAggregatedAggregatedAggregated

Data Fetching

Infrastructure data is fetched from the Observability API:

const useClusterTopology = () => {
  return useQuery({
    queryKey: ['cluster-topology'],
    queryFn: () => apiClient.get('/api/v1/infrastructure/topology'),
    refetchInterval: 15000,
  });
};

Access Control

RoleView TopologyView LogsScale ServicesRestart Pods
Platform AdminYesYesYesYes
OperatorYesYesYesYes
Tenant AdminOwn namespaceNoNoNo
DeveloperOwn namespaceOwn servicesNoNo