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

Provisioning Wizard

The Provisioning Wizard guides administrators through the multi-step process of creating a new tenant on the MATIH platform. It orchestrates namespace creation, secret provisioning, service deployment, DNS configuration, and initial data setup through a progressive wizard interface.


Wizard Steps

StepTitleDescription
1Tenant DetailsName, slug, billing tier, contact information
2InfrastructureCloud provider, region, resource tier selection
3Data SourcesConfigure initial database connections
4Service SelectionEnable/disable platform modules
5SecurityAuthentication method, MFA policy, network restrictions
6ReviewSummary of all configuration before provisioning
7ProvisioningReal-time progress of provisioning phases

Provisioning Phases

The wizard triggers the backend Tenant Service provisioning pipeline which executes these phases:

PhaseActionDuration
1. NamespaceCreate Kubernetes namespace with labelsSeconds
2. SecretsDeploy required secrets (DB, Redis, API keys)Seconds
3. Data InfrastructureDeploy PostgreSQL, Redis, Kafka per tenant2-5 minutes
4. Control PlaneDeploy tenant configuration services1-2 minutes
5. Data PlaneDeploy AI, ML, Query Engine services3-5 minutes
5.5. IngressDeploy NGINX, DNS zone, TLS certificate1-3 minutes
6. ObservabilityDeploy monitoring and logging stack1-2 minutes
7. ValidationRun health checks across all services30 seconds

Progress Tracking

The wizard displays real-time provisioning progress:

interface ProvisioningStatus {
  tenant_id: string;
  current_phase: number;
  total_phases: number;
  phase_name: string;
  status: 'pending' | 'in_progress' | 'completed' | 'failed';
  progress_percentage: number;
  logs: string[];
  started_at: string;
  estimated_completion: string;
}

Tenant Configuration Form

Step 1: Tenant Details

FieldTypeRequiredValidation
Tenant nameTextYes3-100 characters
SlugTextYesLowercase alphanumeric, unique
DescriptionTextNoMax 500 characters
Billing tierDropdownYesStarter, Professional, Enterprise
Admin emailEmailYesValid email format

Step 2: Infrastructure

FieldOptionsDefault
Cloud providerAzure, AWS, GCPAzure
RegionProvider-specific regionsNearest
Resource tierSmall, Medium, LargeMedium
Dedicated computeYes/NoNo
GPU enabledYes/NoNo

Step 4: Service Selection

ModuleDefaultDescription
Core (AI + Agents)EnabledConversational analytics engine
BI PlatformEnabledDashboards, visualization, reporting
ML PlatformDisabledModel training and serving
Data PlatformDisabledPipeline and catalog management
Context GraphEnabledKnowledge graph integration

Error Handling

If provisioning fails at any phase, the wizard provides:

InformationDescription
Failed phaseWhich phase encountered the error
Error messageHuman-readable error description
Recovery optionsRetry current phase, rollback, or contact support
LogsDetailed provisioning logs for debugging

Rollback

Failed provisioning can be rolled back, cleaning up partially created resources:

const handleRollback = async (tenantId: string) => {
  await apiClient.post(`/api/v1/tenants/${tenantId}/rollback`);
};

Access Control

Only Platform Admins can initiate new tenant provisioning. Tenant Admins can request provisioning changes (resource tier, module enablement) through a change request workflow.