MATIH Platform is in active MVP development. Documentation reflects current implementation status.
17. Kubernetes & Helm
Control Plane Charts
Tenant Service

Tenant Service Chart

The Tenant Service manages the complete tenant lifecycle including creation, provisioning, configuration, and decommissioning.


Chart Configuration

# From matih-control-plane/values.yaml
tenant-service:
  enabled: true
  replicaCount: 2
 
  image:
    repository: tenant-service
    tag: ""
 
  service:
    type: ClusterIP
    port: 8080
 
  ingress:
    enabled: true
    className: kong
    hosts:
      - host: api.matih.ai
        paths:
          - path: /api/v1/tenants
            pathType: Prefix
 
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1000m
      memory: 1Gi
 
  autoscaling:
    enabled: true
    minReplicas: 2
    maxReplicas: 8
 
  config:
    provisioning:
      defaultTier: STANDARD
      provisioningTimeoutMinutes: 30
      asyncEnabled: true
    deployment:
      githubWorkflowEnabled: true
      webhookEnabled: true

Provisioning Phases

The Tenant Service orchestrates a multi-phase provisioning process:

  1. INIT - Create namespace, RBAC, resource quotas
  2. DATABASE - Create tenant databases
  3. SECRETS - Sync secrets from cloud key vault
  4. DEPLOY_SERVICES - Deploy data plane services via Helm
  5. DEPLOY_INGRESS - Set up dedicated NGINX ingress controller
  6. DNS_ZONE - Create Azure DNS child zone
  7. TENANT_INGRESS - Create TLS certificate and K8s Ingress
  8. MONITORING - Set up ServiceMonitors and alerts
  9. READY - Mark tenant as active

Each phase is tracked as a state transition and can be retried on failure.