Helm
Deploy AI Platform Engineering on any Kubernetes cluster using the official Helm chart published to GitHub Container Registry.
Prerequisites
- Helm 3
- kubectl configured against your cluster
- A running cluster (Minikube, Kind, EKS, GKE, AKS, etc.)
Chart registry
The chart is published as an OCI artifact:
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering
Browse available versions (stable releases only, no RCs): 👉 ghcr.io/cnoe-io/charts/ai-platform-engineering
Chart structure
ai-platform-engineering/ # Parent chart
├── README.md # Full parameter reference
└── charts/
├── dynamic-agents/ # Dynamic-agent chat runtime
│ └── README.md
├── mcp-server/ # Generic MCP server subchart (aliased per integration)
│ └── README.md
├── caipe-ui/ # CAIPE web UI (optional)
└── rag-stack/ # RAG pipeline (optional)
Full parameter tables for each chart (auto-generated — regenerate with make docs-helm-charts):
- ai-platform-engineering — parent chart (global values, agent selection)
- mcp-server — per-integration MCP server subchart
- caipe-ui — UI subchart values
- caipe-ui-mongodb — MongoDB for UI persistence
- dynamic-agents — dynamic agent builder service
- slack-bot — Slack bot integration
- rag-stack — RAG knowledge base (parent chart)
- rag-server — RAG server
- rag-redis — Redis for RAG vector store
- rag-ingestors — data ingestors
- agent-ontology — Graph RAG ontology agent
Step 1 — Get example values files
Pull the chart locally to access the bundled example values files:
helm pull oci://ghcr.io/cnoe-io/charts/ai-platform-engineering --version <VERSION> --untar
Replace <VERSION> with the latest stable version from the registry page.
Step 2 — Configure secrets
Choose one of three approaches to provide API keys and agent credentials.
Option A — Direct values file (development)
cp ai-platform-engineering/values-secrets.yaml.example values-secrets.yaml
# Edit values-secrets.yaml with your LLM keys and agent credentials
Never commit
values-secrets.yaml.
Option B — Existing Kubernetes Secrets
If your secrets are already in the cluster:
# values.yaml
mcp-argocd:
agentSecrets:
secretName: "my-existing-secret"
Option C — External Secrets Operator (recommended for production)
cp ai-platform-engineering/values-external-secrets.yaml.example values-external-secrets.yaml
# Edit to point at your Vault / AWS Secrets Manager / GCP Secret Manager store
Step 3 — Choose agents
MCP integrations are enabled via Helm tags. Common profiles:
| Tag | MCP integrations included |
|---|---|
basic | argocd, backstage, github |
complete | broad MCP set |
| Individual | mcp-argocd, mcp-github, mcp-jira, mcp-slack, ... |
Step 4 — Install
# Minimal chart install
helm install ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version <VERSION> \
--values values-secrets.yaml
# With basic MCP integrations
helm install ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version <VERSION> \
--values values-secrets.yaml \
--set tags.basic=true
# With External Secrets Operator
helm install ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version <VERSION> \
--values values-external-secrets.yaml
Step 5 — Verify
kubectl get pods
kubectl get services
Wait for pods to reach Running / 1/1 Ready.
Step 6 — Access
Port-forward (quickest)
kubectl port-forward service/ai-platform-engineering-dynamic-agents 8001:8001
Then access the runtime health endpoint:
curl http://localhost:8001/health
Ingress (domain access)
# Enable ingress on Minikube
minikube addons enable ingress
# Deploy with ingress
helm upgrade ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version <VERSION> \
--values values-secrets.yaml \
--values ai-platform-engineering/values-ingress.yaml.example
# Add Minikube IP to /etc/hosts
echo "$(minikube ip) dynamic-agents.local" | sudo tee -a /etc/hosts
Upgrade and uninstall
# Upgrade to a new version
helm upgrade ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version <NEW_VERSION> \
--values values-secrets.yaml
# Uninstall
helm uninstall ai-platform-engineering
Prompt configuration
| Value | Description |
|---|---|
promptConfigType: default | Balanced orchestrator, general use (default) |
promptConfigType: deep_agent | Strict zero-hallucination mode for production |
promptConfig: | | Provide a fully custom prompt config inline |
helm install ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version <VERSION> \
--values values-secrets.yaml \
--set promptConfigType=deep_agent
Persistence
See the Persistence page for MongoDB-backed chat and dynamic-agent runtime state.
Quick start
# values-persistence.yaml
tags:
caipe-ui: true
dynamic-agents: true
caipe-ui:
mongodb:
enabled: true
dynamic-agents:
config:
MONGODB_DATABASE: caipe
helm install ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version <VERSION> \
--values values-secrets.yaml \
--values values-persistence.yaml
Or as --set flags:
helm install ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version <VERSION> \
--values values-secrets.yaml \
--set tags.caipe-ui=true \
--set tags.dynamic-agents=true \
--set caipe-ui.mongodb.enabled=true \
--set dynamic-agents.config.MONGODB_DATABASE=caipe
Optional components
| Component | Helm flag | Notes |
|---|---|---|
| RAG stack | --set tags.rag-stack=true | Milvus, Langfuse, embedding server |
| CAIPE UI | --set tags.caipe-ui=true | Web chat UI |
| MongoDB persistence | --set caipe-ui.mongodb.enabled=true | See Persistence |
| Slack bot | --set tags.slack-bot=true | Slack client (not an agent) |
Security notes
- Use Kubernetes Secrets or the External Secrets Operator for credentials — never inline plaintext in committed files.
- Rotate LLM API keys regularly.
- Use HTTPS in production (configure TLS in
ingress.tls).