MATIH Platform is in active MVP development. Documentation reflects current implementation status.
5. Quickstart Tutorials
Tutorial: Platform Administration

Tutorial: Platform Administration

In this tutorial, you will use the MATIH Control Plane UI to perform core administration tasks: managing tenants, creating users, assigning roles, monitoring platform health, and configuring system settings.


What You Will Learn

  • How to navigate the Control Plane UI and understand its sections
  • How to create and manage tenant organizations
  • How to create users and assign roles with appropriate permissions
  • How to monitor platform health and resource usage
  • How to configure system-wide settings and feature flags
  • How to review audit logs for security and compliance

Prerequisites

RequirementHow to Verify
MATIH platform running./scripts/tools/platform-status.sh returns healthy
Control Plane services operationalIAM, tenant, and config services healthy
Platform administrator accountSuper admin credentials available

Step 1: Open the Control Plane UI

Navigate to the Control Plane UI:

  • Local development: http://localhost:3004
  • Cloud deployment: https://admin.matih.ai

Log in with your platform administrator credentials. The Control Plane dashboard shows a high-level overview of the platform.


Step 2: Explore the Dashboard

The admin dashboard provides a platform-wide overview:

Platform Health

IndicatorDescription
Service StatusGreen/yellow/red status for each service
Active TenantsNumber of provisioned and active tenants
Total UsersPlatform-wide user count
API Request VolumeRequests per minute across all services
Error RatePercentage of failed requests

Quick Stats

MetricExample Value
Active tenants3
Total users47
Active sessions12
Services healthy24/24
Uptime (30 days)99.97%

Step 3: Manage Tenants

Viewing Tenants

  1. Click Tenants in the sidebar navigation.
  2. The tenant list shows all provisioned tenants:
TenantSlugPlanStatusUsersCreated
ACME Corporationacme-corpEnterpriseActive25Jan 15, 2026
Globex IncglobexProfessionalActive15Jan 22, 2026
InitechinitechStarterSuspended7Feb 1, 2026

Creating a New Tenant

  1. Click Create Tenant.
  2. Fill in the tenant details:
FieldValueDescription
NameWayne EnterprisesDisplay name of the organization
Slugwayne-entURL-safe identifier (auto-generated, editable)
PlanEnterpriseDetermines feature limits and quotas
Admin Emailadmin@wayne.comFirst admin user for this tenant
Admin First NameBruce
Admin Last NameWayne
  1. Configure tenant features:
FeatureEnabledDescription
AI ServiceYesNatural language queries, agent orchestration
BI ServiceYesDashboard creation and sharing
ML ServiceYesModel training and registry
Data QualityYesData profiling and quality monitoring
Data CatalogYesSchema metadata and data dictionary
PipelinesNoData pipeline orchestration
  1. Set resource quotas:
ResourceLimit
Max users50
Max data sources10
Storage (GB)100
API rate limit (req/min)1000
Concurrent queries20
  1. Click Create Tenant.

The provisioning process runs asynchronously. Monitor progress in the tenant detail view:

PhaseStatusDuration
Create namespaceCompleted2s
Deploy secretsCompleted5s
Deploy servicesIn Progress~60s
Configure ingressPending--
DNS setupPending--
Health verificationPending--

Tenant Actions

ActionDescriptionWhen to Use
SuspendDisable tenant access without deleting dataNon-payment, policy violation
ResumeRe-enable a suspended tenantIssue resolved
ScaleAdjust resource quotasGrowing usage
DeletePermanently remove tenant and all dataOffboarding (irreversible)

Step 4: Manage Users

Viewing Users

  1. Click Users in the sidebar.
  2. Use filters to narrow the list:
FilterOptions
TenantAll tenants, or select specific tenant
Rolesuper_admin, tenant_admin, operator, analyst, viewer
StatusActive, Suspended, Pending Verification
MFA StatusEnabled, Disabled

Creating a User

  1. Click Create User.
  2. Fill in user details:
FieldValue
Emailanalyst@acme.com
First NameJane
Last NameSmith
TenantACME Corporation
Roleanalyst
Send welcome emailYes
  1. Click Create User.

The user receives a welcome email with instructions to set their password and (optionally) configure MFA.

Assigning Roles

  1. Click on a user to open their detail view.
  2. In the Roles section, click Edit Roles.
  3. Select the roles to assign:
RolePermissions Included
viewerdata:read, reports:read
analystdata:read, queries:*, reports:*
operatordata:*, pipelines:*, reports:read
tenant_adminusers:*, settings:*, reports:*, audit:read
super_admin* (all permissions)
  1. Click Save.

Role changes take effect immediately. The user's permission cache is invalidated, and their next API request uses the updated roles.

User Actions

ActionDescription
Reset passwordSend a password reset email
Lock accountTemporarily disable login
Unlock accountRe-enable a locked account
Revoke sessionsForce logout from all devices
Enable MFARequire MFA for this user (admin-enforced)
Delete userRemove the user account

Step 5: Monitor Platform Health

Service Health Dashboard

  1. Click Monitoring in the sidebar.
  2. The service health view shows all running services:
ServiceNamespacePodsCPUMemoryStatus
iam-servicematih-system2/2245m512MiHealthy
tenant-servicematih-system2/2180m384MiHealthy
api-gatewaymatih-system2/2320m640MiHealthy
ai-servicetenant-acme-corp2/2890m1.2GiHealthy
query-enginetenant-acme-corp2/2450m768MiHealthy
postgresqlmatih-shared1/1350m2.0GiHealthy
redismatih-shared1/1100m256MiHealthy
kafkamatih-shared3/3600m1.5GiHealthy

Resource Usage

View cluster-wide resource consumption:

ResourceUsedAvailableUtilization
CPU12.4 cores24 cores52%
Memory28.6 Gi64 Gi45%
Storage145 Gi500 Gi29%
Pods6720034%

Per-Tenant Resource Usage

TenantCPUMemoryStorageAPI Calls (24h)
acme-corp4.2 cores8.5 Gi52 Gi12,450
globex2.8 cores5.2 Gi31 Gi8,320
wayne-ent1.1 cores2.3 Gi8 Gi1,240

Step 6: Review Audit Logs

Accessing Audit Logs

  1. Click Audit in the sidebar.
  2. The audit log shows security-relevant events across the platform.

Filtering Audit Events

FilterOptions
Time rangeLast hour, Last 24h, Last 7 days, Custom range
TenantAll tenants or specific tenant
Event typeAuthentication, Authorization, Data Access, Configuration
UserSpecific user or all users
OutcomeSuccess, Failure

Sample Audit Events

TimestampEventUserTenantOutcomeDetails
14:32:15AUTH_LOGINadmin@acme.comacme-corpSuccessMFA verified (TOTP)
14:31:02AUTH_LOGINuser@acme.comacme-corpFailureInvalid password (attempt 2/5)
14:28:45ROLE_CHANGEadmin@matih.aisystemSuccessAdded 'operator' role to user-456
14:25:10DATA_ACCESSanalyst@acme.comacme-corpSuccessQuery executed on orders table
14:20:33CONFIG_CHANGEadmin@acme.comacme-corpSuccessUpdated LLM provider settings
14:15:00API_KEY_CREATEadmin@acme.comacme-corpSuccessCreated API key "CI Pipeline"

Audit Log Export

Export audit logs for compliance:

FormatDescription
CSVFlat file for spreadsheet analysis
JSONStructured data for SIEM integration
PDFFormatted report for compliance officers

Step 7: Configure System Settings

Platform Settings

  1. Click Settings in the sidebar.
  2. Configure global platform settings:
SettingCurrent ValueDescription
Platform nameMATIH EnterpriseDisplayed in the UI and emails
Default tenant planStarterPlan assigned to new tenants
MFA policyOptionalWhether MFA is required, optional, or disabled
Session timeout30 minutesIdle session timeout
Password policyStrongMinimum requirements for passwords
API rate limit (global)10,000 req/minPlatform-wide rate limit

Password Policy Settings

PolicyValueDescription
Minimum length12 characters
Require uppercaseYesAt least one uppercase letter
Require lowercaseYesAt least one lowercase letter
Require digitsYesAt least one digit
Require special charactersYesAt least one special character
Password history5Cannot reuse last 5 passwords
Max failed attempts5Lock account after 5 failed logins
Lockout duration30 minutesAuto-unlock after 30 minutes

Feature Flags

Control platform-wide feature availability:

Feature FlagStatusDescription
ai.streamingEnabledWebSocket streaming for AI responses
ml.gpu_trainingDisabledGPU-accelerated model training
bi.embed_sharingEnabledEmbed dashboards in external pages
data.auto_profilingEnabledAutomatic profiling on data source connect
auth.social_loginDisabledGoogle/GitHub social login

Step 8: Manage API Keys (Platform Level)

Platform-level API keys provide programmatic access for automation and integration:

  1. Click API Keys in the sidebar.
  2. View existing keys:
NameScopesCreatedExpiresStatus
CI/CD Pipelinedeploy:*, status:readJan 15Apr 15Active
Monitoring Integrationmetrics:read, health:readJan 20Jul 20Active
  1. Create a new key:
    • Name: External Integration
    • Scopes: data:read, queries:execute
    • Expiration: 90 days
    • IP whitelist: 10.0.0.0/8

Step 9: Manage Notifications

Configure how platform notifications are delivered:

Notification Channels

ChannelConfigurationUse Case
EmailSMTP server settingsUser invitations, password resets, alerts
WebhookHTTP endpoint URLIntegration with Slack, Teams, PagerDuty
In-appBuilt-in notification centerReal-time notifications in the UI

Alert Rules

AlertConditionChannelRecipients
Service DownHealth check fails 3xWebhook (PagerDuty)Platform team
High Error RateError rate > 5% for 5 minEmailPlatform team
Tenant SuspendedTenant status changesEmailBilling team
New User RegistrationUser createdIn-appTenant admins
Security EventFailed login > 5 in 10 minEmail + WebhookSecurity team

Step 10: Billing and Usage (Enterprise)

For enterprise deployments, the billing section shows:

Tenant Usage Summary

TenantPlanAPI CallsStorageCompute HoursMonthly Cost
acme-corpEnterprise375,00052 Gi720h$2,400
globexProfessional249,00031 Gi480h$1,200
wayne-entStarter37,0008 Gi120h$300

Usage Trends

The billing dashboard shows month-over-month usage trends for:

  • API call volume
  • Storage consumption
  • Compute hours
  • Active user counts

Administration Best Practices

PracticeRecommendation
Least privilegeStart users with viewer role, escalate as needed
MFA enforcementRequire MFA for all tenant_admin and above
Audit reviewReview audit logs weekly for anomalies
Key rotationRotate API keys every 90 days
Quota monitoringSet alerts at 80% of resource quotas
Regular backupsVerify backup schedules for all databases
Security updatesApply platform updates within 7 days of release

Troubleshooting

IssueCauseResolution
Cannot create tenantInsufficient cluster resourcesScale the cluster or adjust quotas
User cannot log inAccount locked or wrong credentialsCheck audit logs, unlock if needed
Role changes not taking effectPermission cache staleWait 60 seconds or clear the cache manually
Notifications not deliveredSMTP or webhook misconfiguredTest the notification channel in settings
Audit logs not appearingAudit service unhealthyCheck audit-service pod status

Next Steps

Congratulations -- you have completed all five quickstart tutorials. You now have hands-on experience with:

  • Natural language querying via the Agentic Workbench
  • Dashboard creation via the BI Workbench
  • Model training via the ML Workbench
  • Data quality monitoring via the Data Workbench
  • Platform administration via the Control Plane UI

For deeper dives into specific topics, continue to the following chapters: