Deploy AKKO — One Command¶
Prerequisites¶
kubectl(v1.28+)helm(v3.12+)- A running Kubernetes cluster (k3d, k3s, kind, EKS, AKS, GKE, OpenShift, bare-metal)
Quick Start¶
git clone https://github.com/AKKO-p/AKKO.git
cd AKKO
AKKO_DOMAIN=my.example.com bash helm/scripts/deploy.sh
That's it. The script:
1. Detects your cluster type (k3d, k3s, kind, EKS, AKS, GKE, OpenShift)
2. Generates domain-specific values + Keycloak realm
3. Creates secrets (if first run)
4. Creates TLS certificate (self-signed)
5. Runs helm upgrade --install with all values files
6. Waits for all services to be ready
Environment Variables¶
| Variable | Default | Description |
|---|---|---|
AKKO_DOMAIN |
akko.local |
Target domain for all ingress URLs |
AKKO_NAMESPACE |
akko |
Kubernetes namespace |
AKKO_RELEASE |
akko |
Helm release name |
AKKO_CLUSTER_TYPE |
auto-detected | Force cluster type |
AKKO_SKIP_BUILD |
false |
Skip image build (use registry images) |
AKKO_SKIP_CLUSTER |
false |
Skip cluster creation (k3d only) |
AKKO_HELM_TIMEOUT |
20m |
Helm upgrade timeout |
AKKO_PROTOCOL |
https |
Protocol for URLs |
Per-Cluster Notes¶
k3d (local development)¶
k3s (single-node production)¶
AKKO_DOMAIN=159.195.77.208.nip.io \
AKKO_SKIP_BUILD=true \
AKKO_SKIP_CLUSTER=true \
bash helm/scripts/deploy.sh
EKS / AKS / GKE¶
AKKO_DOMAIN=akko.company.com \
AKKO_SKIP_BUILD=true \
AKKO_SKIP_CLUSTER=true \
bash helm/scripts/deploy.sh
Custom images must be pushed to a registry accessible from the cluster. Set global.image.registry in your values override:
helm upgrade akko helm/akko/ -n akko \
--set global.image.registry=ghcr.io/akko-p \
-f helm/examples/values-domain.yaml \
...
OpenShift¶
Same as EKS/AKS/GKE. Ensure PodSecurityStandards restricted profile is compatible (all AKKO pods run as non-root).
Custom Images¶
AKKO uses 12 custom images. On k3d/k3s they are built locally. On cloud clusters, push them to your registry:
| Image | Purpose |
|---|---|
akko-postgres:2026.03 |
PostgreSQL + PostGIS + pgvector + pgaudit |
akko-spark:2026.03 |
Spark with Iceberg JARs |
akko-notebook:2026.03 |
JupyterHub user notebook (Python, R, Julia, Scala/Almond, Quarto, Mermaid) |
akko-cockpit:2026.03 |
Portal + health proxy (8 pages) |
akko-trino:2026.03 |
Trino + AI Functions plugin |
akko-mlflow:2026.03 |
MLflow tracking server |
akko-ai-service:2026.03 |
AI Service (FastAPI) |
akko-airflow:2026.03 |
Airflow + Python deps |
akko-dbt:2026.03 |
dbt Core + dbt-trino (semantic layer) |
akko-mcp-trino:2026.03 |
MCP Server for Trino (AI agent) |
akko-mcp-openmetadata:2026.03 |
MCP Server for OpenMetadata (catalog discovery, lineage) |
Verify¶
kubectl get pods -n akko # All Running
helm list -n akko # STATUS: deployed
bash tests/smoke-trino-ai.sh # 18 PASS