Installing in an air-gapped environment
The Camunda Helm chart may assist in an air-gapped environment. By default, the Docker images are fetched via Docker Hub (except for Web Modeler). With the dependencies in third-party Docker images and Helm charts, additional steps are required to make all charts available as outlined in this resource.
To find out the necessary Docker images for your Helm release, note that the required images depend on the values you specify for your deployment. You can get an overview of all required images by running the following command:
helm repo add camunda https://helm.camunda.io
helm repo update
helm template camunda/camunda-platform -f values.yaml | grep 'image:'
Required Docker images
The following images must be available in your air-gapped environment:
- camunda/zeebe
- camunda/operate
- camunda/tasklist
- camunda/optimize
- camunda/connectors-bundle
- camunda/identity
- bitnami/postgres
- bitnami/keycloak
- bitnami/os-shell
- bitnami/elasticsearch
- bitnami/kibana
- Web Modeler images (only available from Camunda's private registry):
web-modeler-ee/modeler-restapi
web-modeler-ee/modeler-webapp
web-modeler-ee/modeler-websockets
- Console images (only available from Camunda's private registry):
console/console-sm
We currently have a script in the camunda-helm-respository that will assist in pulling and saving Docker images.
Please note that all the required Docker images, available on DockerHub's Camunda organization, are also provided publicly via Camunda's Docker registry: registry.camunda.cloud/camunda/<image>
For example, the Docker image of Zeebe can be pulled via DockerHub or via the Camunda's Docker Registry:
docker pull camunda/zeebe:latest
docker pull registry.camunda.cloud/camunda/zeebe:latest
Required Helm charts
The following charts must be available in your air-gapped environment:
- Camunda Helm chart
- Elasticsearch Helm chart
- Keycloak Helm chart
- Postgres Helm chart
- Bitnami Common Helm chart
Install the Helm charts by either making it available on a private registry that can be accessed by the air-gapped environment or downloading the artifacts locally. For supported versions, refer to our supported environments page.
Dependencies explained
Identity utilizes Keycloak and allows you to manage users, roles, and permissions for Camunda 8 components. This third-party dependency is reflected in the Helm chart as follows:
camunda-platform
|_ elasticsearch
|_ identity
|_ keycloak
|_ postgresql
|_ zeebe
|_ optimize
|_ operate
|_ tasklist
|_ connectors
|_ postgresql
- Keycloak is a dependency for Camunda Identity and PostgreSQL is a dependency for Keycloak.
- PostgreSQL is a dependency for Web Modeler.
- This dependency is optional as you can either install PostgreSQL with Helm or use an existing external database.
- Elasticsearch is a dependency for Zeebe, Operate, Tasklist, and Optimize.
- Connectors can be stand-alone; however if there's an intention to use inbound capabilities, Operate becomes a dependency.
The values for the dependencies Keycloak and PostgreSQL can be set in the same hierarchy:
identity:
[identity values]
keycloak:
[keycloak values]
postgresql:
[postgresql values]
postgresql:
[postgresql values]
Push Docker images to your repository
All the required Docker images need to be pushed to your repository using the following steps:
- Tag your image using the following command (replace
<IMAGE ID>
,<DOCKER REPOSITORY>
, and<DOCKER TAG>
with the corresponding values.)
docker tag <IMAGE_ID> example.jfrog.io/camunda/<DOCKER_IMAGE>:<DOCKER_TAG>
- Push your image using the following command:
docker push example.jfrog.io/camunda/<DOCKER_IMAGE>:<DOCKER_TAG>
Deploy Helm charts to your repository
You must deploy the required Helm charts to your repository. For details about hosting options, visit the chart repository guide.
Add your Helm repositories
You must add your Helm chart repositories to use the charts:
helm repo add camunda https://example.jfrog.io/artifactory/api/helm/camunda-platform
helm repo add elastic https://example.jfrog.io/artifactory/api/helm/elastic
helm repo add bitnami https://example.jfrog.io/artifactory/api/helm/bitnami
helm repo update
Helm chart values
In a custom values file, it is possible to override the image repository and the image tag.
zeebe:
image:
repository: example.jfrog.io/camunda/zeebe
# e.g. work with the latest versions in development
tag: latest
zeebe-gateway:
image:
repository: example.jfrog.io/camunda/zeebe
tag: latest
elasticsearch:
image: example.jfrog.io/elastic/elasticsearch
imageTag: 7.16.3
identity:
image:
repository: example.jfrog.io/camunda/identity
...
keycloak:
image:
repository: example.jfrog.io/bitnami/keycloak
...
postgresql:
image:
repository: example.jfrog.io/bitnami/postgres
...
operate:
image:
repository: example.jfrog.io/camunda/operate
...
tasklist:
image:
repository: example.jfrog.io/camunda/tasklist
...
optimize:
image:
repository: example.jfrog.io/camunda/optimize
...
connectors:
image:
repository: example.jfrog.io/camunda/connectors-bundle
...
webModeler:
image:
# registry and tag will be used for all three Web Modeler images
registry: example.jfrog.io
tag: latest
restapi:
image:
repository: camunda/modeler-restapi
webapp:
image:
repository: camunda/modeler-webapp
websockets:
image:
repository: camunda/modeler-websockets
...
# only necessary if the PostgreSQL chart dependency is used for Web Modeler
postgresql:
image:
repository: example.jfrog.io/bitnami/postgres
Afterwards, you can deploy Camunda using Helm and the custom values file.
helm install my-camunda-platform camunda/camunda-platform -f values.yaml