Custom bpm-platform.xml in CamundaBPMRun

Hi,
our customer is running CamundaBPMRun 7.17.0 and is trying to setup history cleanup batches. When we query the REST api to retrieve the history cleanup configuration we see that it is enabled, however the batchWindow is not defined.

We then went about providing a custom bpm-platform.xml and mounting it to the pod running the docker-image. That works and when connecting to the pod, we can see the file and all is well.
Next we setup an environment variable BPM_PLATFORM_XML carrying the full path to the configuration file.
We then tested cat $BPM_PLATFORM_XML and also checked the rights on that file, which are 777 so all good; right?
However the batchwindow is still not defined.

content of the custom bpm-platform.xml:
`<?xml version="1.0" encoding="UTF-8"?>

<job-executor>
    <job-acquisition name="default" />
</job-executor>

<process-engine name="default">
    <job-acquisition>default</job-acquisition>
    <configuration>org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration</configuration>
    <datasource>java:jdbc/ProcessEngine</datasource>

    <properties>
        <property name="history">full</property>
        <property name="databaseSchemaUpdate">true</property>
        <property name="authorizationEnabled">true</property>
        <property name="jobExecutorDeploymentAware">true</property>
        <property name="historyCleanupBatchWindowStartTime">17:15</property>
        <property name="historyCleanupBatchWindowEndTime">03:59</property>
        <property name="historyTimeToLive">90</property>
        <property name="batchOperationHistoryTimeToLive">180</property>
    </properties>

    <plugins>
        <!-- plugin enabling Process Application event listener support -->
        <plugin>
            <class>org.camunda.bpm.application.impl.event.ProcessApplicationEventListenerPlugin</class>
        </plugin>

        <!-- plugin enabling integration of camunda Spin -->
        <plugin>
            <class>org.camunda.spin.plugin.impl.SpinProcessEnginePlugin</class>
        </plugin>

        <!-- plugin enabling connect support -->
        <plugin>
            <class>org.camunda.connect.plugin.impl.ConnectProcessEnginePlugin</class>
        </plugin>

    </plugins>

</process-engine>

`

Mount path of the file and incidentially the value of environment variable BPM_PLATFORM_XML:
/config/bpm-platform.xml

We would love to hear your guesses on this one.
It really is a pickle.

Hi @philipp_dna,

Camunda Run is configured like a Spring Boot application with the application.yaml or application.properties: Camunda Platform Run | docs.camunda.org

Hope this helps, Ingo

Hi @Ingo_Richtsmeier ,
thank you for your swift response.
tbh, I still could not make it work:
please see below default.yml excerpt.

...
camunda.bpm:
    admin-user:
        id: demo
        password: demo
    run:
        # https://docs.camunda.org/manual/latest/user-guide/camunda-bpm-run/#cross-origin-resource-sharing
        cors:
            enabled: true
            allowed-origins: "*"
        # https://docs.camunda.org/manual/latest/user-guide/camunda-bpm-run/#example-application
        example:
            enabled: true
        history-cleanup:
            enabled: true
            batch-window-start-time: "01:00:00"
            batch-window-end-time: "05:00:00"
            history-time-to-live: "90"
...

I am quite sure it is being loaded by the egine. The overall default.yml that is. I am replacing the original default.yml with a custom one via config map. The profile “default” is loaded. I made sure of it.

Hi @philipp_dna,

I think that you have to use the generic properties to configure these settings: Process Engine Configuration | docs.camunda.org

The generic settings apply for all properties that not listed here: Camunda Platform Run | docs.camunda.org or here: Process Engine Configuration | docs.camunda.org

Hope this helps, Ingo

2 Likes

+1 to what @Ingo_Richtsmeier shared.
Here are few examples of generic properties

camunda.bpm:
  generic-properties:
    properties:
      generalResourceWhitelistPattern: ".+"
      jobExecutorDeploymentAware: false
      historyCleanupBatchWindowStartTime: 00:01
      history: full
      webappsAuthenticationLoggingEnabled: true
1 Like

Well, sadly no efforts have yet yielded any results.

I will probably resort to scripting a solution for this.