Skip to main content

Helm

Deploy AI Platform Engineering on any Kubernetes cluster using the official Helm chart published to GitHub Container Registry.

Prerequisites

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):

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"
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:

TagMCP integrations included
basicargocd, backstage, github
completebroad MCP set
Individualmcp-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

ValueDescription
promptConfigType: defaultBalanced orchestrator, general use (default)
promptConfigType: deep_agentStrict 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

ComponentHelm flagNotes
RAG stack--set tags.rag-stack=trueMilvus, Langfuse, embedding server
CAIPE UI--set tags.caipe-ui=trueWeb chat UI
MongoDB persistence--set caipe-ui.mongodb.enabled=trueSee Persistence
Slack bot--set tags.slack-bot=trueSlack 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).