Skip to main content
Version: Next

Kubernetes Deployment

Easy BPM includes a Helm chart at deploy/helm/easybpm for Kubernetes deployments.

Install with Helm​

For the tested Windows/Minikube lab, use Helm setup. It pins the chart and images to v0.1.3-beta.2, provides dependency manifests, and documents the required backend service alias.

:::warning v0.1.3-beta.2 This release is not validated end to end on Kubernetes. Frontend images expect backend:8080, while the default release creates easybpm-easybpm-backend. The published proxy also omits Agents/AI routes, and Task Portal's compiled bundle targets localhost:8080. A successful Helm install does not resolve these issues. Review the known failures before deployment. :::

The command below assumes you are in the matching platform source checkout, have a configured cluster context, and have prepared values.customer.yaml with reachable PostgreSQL/RabbitMQ services, valid secrets, and published image names/tags. On a fresh database, initially set worker.replicaCount: 0, wait for backend readiness and migrations, then upgrade with worker.replicaCount: 1.

helm upgrade --install easybpm deploy/helm/easybpm \
--namespace easybpm \
--create-namespace \
-f values.customer.yaml \
--wait --timeout 10m

Use managed services where available:

DependencyRecommendation
PostgreSQLManaged database with backups and point-in-time recovery.
RabbitMQManaged broker or a production-grade RabbitMQ operator.
SecretsCloud secret manager or sealed/encrypted Kubernetes secrets.
IngressHTTPS ingress with host-based routing for API and web apps.
MetricsPrometheus scrape for backend actuator endpoints.

Images​

Deploy one image per runtime:

RuntimeImage
Backendeasybpm-backend
Workereasybpm-worker
Modelereasybpm-modeler
Admineasybpm-admin
Task Portaleasybpm-task-portal

Use the same immutable tag across all Easy BPM images in one release.

For v0.1.3-beta.2, use registry ghcr.io/easy-bpm and match the chart checkout to that tag. Verify application login and data loading after readiness checks; pod readiness alone does not validate frontend API routing.

Agentic orchestration values​

Enable the Agent Process resource and Agent Process BPM node in the Modeler with Helm values:

web:
modeler:
apiBaseUrl: "https://api.easybpm.example.com"
agenticOrchestration:
enabled: true

The chart renders those values into easybpm-config.js and mounts it into the Modeler container, so the feature flag can be changed per deployment without rebuilding the frontend image.

To run provider-backed Agent Processes, provide the backend provider token as a Kubernetes secret value:

secrets:
ai:
encryptionKey: "replace-with-strong-ai-credential-key"
openaiApiKey: "sk-..."
geminiApiKey: "AIza..."

Use only the keys you need. Agent Process definitions that use "credentialRef": "$OPENAI_API_KEY" or "credentialRef": "$GEMINI_API_KEY" resolve those values from the backend pod environment. For production, prefer a sealed secret, external secret operator, or existingSecretName.