Prerequisites
- Kubernetes cluster 1.25 or later
kubectlconfigured to access your cluster- Helm 3 installed
- Cluster has a default StorageClass or you can specify one
- Minimum cluster resources: 2 CPU cores, 4GB RAM, 20GB storage
Quick Start
Install the Helm chart
- Uses images from
ghcr.io/mimir-aip - Creates a 10Gi PVC for the orchestrator
- Configures RBAC and NetworkPolicies
- Deploys both orchestrator and frontend
Verify the deployment
Check that all pods are running:Expected output:Check the orchestrator health:
Access the services
Configuration
Image Settings
The chart defaults to public images from GitHub Container Registry. No authentication required.Pin a specific version
Use a custom registry
Storage Configuration
The orchestrator requires persistent storage for the SQLite database.Use a specific StorageClass
Increase storage size
Custom Values File
Create amy-values.yaml file to override multiple defaults:
my-values.yaml
Worker Configuration
Mimir AIP spawns Kubernetes Jobs as workers to execute pipelines, ML training, inference, and digital twin synchronization.Worker Pool Settings
Configure worker concurrency via values:| Setting | Description |
|---|---|
minWorkers | Minimum concurrent worker jobs |
maxWorkers | Maximum concurrent worker jobs |
queueThreshold | Queue depth before spawning additional workers |
workerNamespace | Kubernetes namespace for worker jobs (defaults to release namespace) |
workerServiceAccount | ServiceAccount assigned to worker pods |
Multi-Cluster Worker Dispatch
Deploy workers across multiple Kubernetes clusters for scalability:Worker Authentication
Enable authentication for worker callbacks to the orchestrator:Authorization: Bearer <token> when calling /api/worktasks/* endpoints.
Exposing Services
Using LoadBalancer
The default frontend service type isLoadBalancer. On cloud providers, this provisions an external IP:
Using Ingress
For more control, useClusterIP with an Ingress controller:
my-values.yaml
ingress.yaml
Managing the Deployment
Upgrade to a new version
View release status
View release values
Rollback to a previous version
Uninstall
The PersistentVolumeClaim is retained by default. Delete it manually if needed:
Building Custom Images
If you modify the source code, build and push custom images:Build all images
$REGISTRY/orchestrator:latest$REGISTRY/worker:latest$REGISTRY/frontend:latest
RBAC and Security
The Helm chart creates the following resources whenrbac.create: true:
- ServiceAccount:
mimir-orchestrator(for the orchestrator deployment) - ServiceAccount:
mimir-worker(for worker jobs) - ClusterRole: Grants permissions to list/create/delete jobs and pods
- ClusterRoleBinding: Binds the ServiceAccounts to the ClusterRole
NetworkPolicy
WhennetworkPolicy.enabled: true, the chart restricts traffic:
- Frontend can only communicate with the orchestrator
- Orchestrator can only receive traffic from frontend and workers
- Workers can only communicate with the orchestrator
Monitoring and Observability
View logs
Health and readiness checks
The orchestrator deployment includes health probes:Resource monitoring
Troubleshooting
Pods not starting
Check events:- ImagePullBackOff: Registry authentication failed or image doesn’t exist
- Pending: Insufficient cluster resources or StorageClass issue
- CrashLoopBackOff: Application error, check logs
Workers not spawning
Verify RBAC permissions:PVC not binding
Check StorageClass availability:MCP endpoint not accessible
Verify the orchestrator service:Next Steps
- Review the Configuration Reference for all available settings
- Configure MCP integration to expose tools to AI agents
- Set up LLM provider API keys for enhanced ontology extraction
- Explore multi-cluster deployment for scalability