How to convert Camunda's Java/Spring specific properties to kubernates specific environment variable?

We are using venilla camunda 7.x in our kubernates\rancher environment and we want to customize camunda using properties. Since we use venilla camunda, we want to place properties in kubernates level(or helm) so, is there any reference document or page where we can refer this?

Engine related properties link:

Read the docs about how spring populates its properties. There are about 20 sources that are tried in a certain order. Environment variables (which you can define in kubernetes) are one of them. This is more a spring related question than a Camunda related one IMO.

Hi @fml2, Can you please share some references?
I tried by replacing small to caps letter and dot with _, as well as, placing the properties in 'Spring {..}' No luck.

  1. Which camunda distribution are you using ? Is this a camunda based on springboot?
  2. Can you share some properties you want to override ?

I see no reason Springboot relaxed binding should not work.

Did you try “${…}”

No. Venilla edition(direct docker image)
Properties like disabled/enable history etc

You have to be specific. There is nothing called vanilla edition .
There is either camunda tomcat or Camunda run. Please share the command you have used to pull the image. Which of these you are using ?

docker pull camunda/camunda-bpm-platform:latest


docker pull camunda/camunda-bpm-platform:run-latest

Docker-compose file content:
image: camunda/camunda-bpm-platform:7.19.0
<<: *networks
platform: linux/amd64
- DB_DRIVER=com.mysql.cj.jdbc.Driver
- DB_URL=jdbc:mysql://mysql:3306/process-engine?sendFractionalSeconds=false
- DB_USERNAME=camunda
- DB_PASSWORD=camunda
- WAIT_FOR=mysql:3306
- mysql
- “8080:8080”
restart: unless-stopped

This is a Tomcat based image so spring configs will not work. All cmaunda configuration have to be done via XML based configs.

Hi @ad_sahota,
thank you for response…
Can you please eloberate more on XML based configs?

It’s very difficult to share all the configurations but you can refer this documentation as starter.

  1. bpm-platform.xml |

Sample for LDAP config
2. Identity Service |

  1. REST authentication filter config : Configure Authentication |

There is a learning curve involved in xml based configs. You have to build understanding of Camunda, Tomcat and Camunda Docker image (Tomcat) structure to achieve it.

Also note : Not all configs can be done via bpm-platform.xml , some configs require changes in processes.xml as well.
Tomcat related configs will require changes in Tomcat’s config files.

Are you lookin for any specific config to change?
Based on my experience and Camunda recommendations, Camunda run is better suited for Kubernetes environments where you can pass configurations using springboot relaxed bindings.
You can also create you own springboot based Camunda Image (this is what most organisations do).

Hi @ad_sahota
Yes we use rancher server(kubernates) and there also we need to pass environment/configuration variable which is similar to docker-compose right so im asking this question in this thread. I havent heard of springboot relaxed bindings. Need to explore on this.

And yes, im looking for disabling history as well as enabling prometheus metrics related variables.