The Cherry Runtime is dedicated to executing Camunda 8 Connectors and Workers.
It provides
-
Administrative pages
- to monitor the activity of connectors/workers: speed, number of execution
- To stop/restart the execution
-
A connector can be uploaded
- From the UI,
- From a shared folder
- Download it from the marketplace or a GitHub repository (soon)
-
Element template can be downloaded
-
A farm of runtime, all are managed from one single page
-
For developpers, a library is avaiable to generate element-templates for Connectors and Workers
The Cherry runtime accepts any OUTBOUND connector.
This documentation gives information:
- for administrators to start and administrate connector
- for BPM Designer, to access documentation and download Element-Template in your modeler
- For developers, which information can be added during the development, to propose more information for administrators and BPM Designer
Any connectors OUTBOUND can be executable by the runtime. INBOUND connectors are not supported for the moment.
A connector can be available:
- as a JAR file, downloaded from a GitHub repository
- from the Camunda Marketplace. Then, it's possible to access the JAR file or to download the connector directly from the Cherry administration page (SOON)
What do you need to do to start the runtime?
Check the Installation guide for more information.
Check the Administration guide.md for an explanation of the available functions.
In a short overview, to enable a Cherry runtime in your cluster:
Download the Docker Image, or use the docker-compose given in the docker-Cherry The image is available here.
ghcr.io/camunda-community-hub/zeebe-cherry-runtime:latest
Cherry needs:
- to connect to Zeebe to get jobs
- to save connectors and statistics
Check the application.yaml file to see all parameters.
The connection use this approach https://github.com/camunda-community-hub/spring-zeebe?tab=readme-ov-file#configuring-camunda-8-connection
Use
camunda:
client:
mode: saas
auth:
client-id: <your client id>
client-secret: <your client secret>
cluster-id: <your cluster id>
region: <your cluster region>camunda:
client:
mode: simple
auth:
username: demo
password: demo
zeebe:
enabled: true
gateway-url: http://localhost:26500
base-url: http://localhost:8080
prefer-rest-over-grpc: falsecamunda:
client:
mode: oidc
auth:
client-id: <your client id>
client-secret: <your client secret>
zeebe:
enabled: true
gateway-url: http://localhost:26500
base-url: http://localhost:8080
prefer-rest-over-grpc: falseIt is possible to pass parameters as a variable, for example.
`` Environment:
- CAMUNDA_CLIENT_MODE=saas `` To connect a local engine in the same cluster.
An H2 database is configured by default to save information. Use a SQL database for a robust database. Looks docker-compose-cherry-postgres.yaml to see an example.
Using an SQL database allows you to configure one Cherry pod and a farm of pods. Each pod accesses the same database, and statistics are shared between all pots through connectors.
Start the application, and check the main page. The port number is 9081 by default in the application.yaml file
On this page, connectors/workers are visible with statistics. The administrator can stop a connector/worker and change the number of threads dedicated to the execution pool.
Connect to the Administration page and navigate to the Content page. Upload a JAR file via the page.
Connectors can be accessible via the Cherry Definition page.
Multiple functions are available if the connectors come from the marketplace or additional Cherry methods are implemented.
Click on a connector. Different tabs are visible. If the connector defines the additional Cherry method, Inputs, Outputs, and Errors are visible in the tab.
The element template can be downloaded if the connector defines the additional Cherry methods or comes from the MarketPlace.
Open the ZIP file, and upload content on the Desktop modeler, path `resources\element-templates.

It's possible to upload the file on the Web Modeler.
The Cherry runtime can run any connector or worker. This execution host is called a runner.
A runner extends the base connector/worker with extra capabilities aimed at Business Developers: built-in documentation access and, critically, element-template generation. Once Inputs and Outputs are declared on a connector, the runner can generate the corresponding element template automatically, hiding that complexity entirely.
Read the Developer guide
The library contains Java and React script. To deploy it, the machine must have two environments
.github/workflows/mvn-build.yml
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'adopt'
- name: Set up NPM
uses: actions/setup-node@v3
- name: Build with Maven
run: CI=false mvn --batch-mode --update-snapshots packageCI=false; otherwise, any warning will stop the construction.
The docker image is then available in the package
https://github.com/camunda-community-hub/zeebe-cherry-runtime/pkgs/container/zeebe-cherry-runtime
The project is configured to publish the JAR file automatically to Maven Central and docker package a Docker image.
If you want to build a local maven image, use
mvn spring-boot:build-imageSee .github/workflows/mvn-release.yml
Visit https://github.com/camunda-community-hub/community-action-maven-release/tree/main
Rebuilt the image via
mvn clean install
mvn springboot:build-image
The docker image is built using the Dockerfile present on the root level.
Push the image to
ghcr.io/camunda-community-hub/zeebe-cherry-runtime:
Run command
mvn clean install
Now, create a docker image.
docker build -t pierre-yves-monnet/zeebe-cherry-runtime:3.3.0 .
Push the image to the Camunda hub (you must be login first to the docker registry)
docker tag pierre-yves-monnet/zeebe-cherry-runtime:3.3.0 ghcr.io/camunda-community-hub/zeebe-cherry-runtime:3.3.0
docker push ghcr.io/camunda-community-hub/zeebe-cherry-runtime:3.3.0
Tag as the latest:
docker tag pierre-yves-monnet/zeebe-cherry-runtime:3.3.0 ghcr.io/camunda-community-hub/zeebe-cherry-runtime:latest
docker push ghcr.io/camunda-community-hub/zeebe-cherry-runtime:latest




