×

You can set global configuration options for the OpenShift Serverless Logic Operator.

Prerequisites

  • You have installed the OpenShift Serverless Logic Operator in the target cluster.

Customization of global configurations

After installing the OpenShift Serverless Logic Operator, you can access the logic-operator-rhel8-controllers-config config map file in the openshift-serverless-logic namespace. This configuration file defines how the Operator behaves when it creates new resources in the cluster. However, changes to this configuration does not affect resources that already exist.

You can modify any of the options within the controllers_cfg.yaml key in the config map.

The following table outlines all the available global configuration options:

Configuration key Default value Description

defaultPvcKanikoSize

1Gi

The default size of Kaniko persistent volume claim (PVC) when using the internal OpenShift Serverless Logic Operator builder manager.

healthFailureThresholdDevMode

50

How much time (in seconds) to wait for a developer mode workflow to start. This information is used for the controller manager to create new developer mode containers and setup the health check probes.

kanikoDefaultWarmerImageTag

gcr.io/kaniko-project/warmer:v1.9.0

Default image used internally by the Operator managed Kaniko builder to create the warmup pods.

kanikoExecutorImageTag

gcr.io/kaniko-project/executor:v1.9.0

Default image used internally by the Operator managed Kaniko builder to create the executor pods.

jobsServicePostgreSQLImageTag

registry.redhat.io/openshift-serverless-1/logic-jobs-service-postgresql-rhel8:1.35.0

The Jobs service image for PostgreSQL to use. If empty, the OpenShift Serverless Logic Operator uses the default Apache community image based on the current OpenShift Serverless Logic Operator version.

jobsServiceEphemeralImageTag

registry.redhat.io/openshift-serverless-1/logic-jobs-service-ephemeral-rhel8:1.35.0

The Jobs service image without persistence to use. If empty, the OpenShift Serverless Logic Operator uses the default Apache community image based on the current OpenShift Serverless Logic Operator version.

dataIndexPostgreSQLImageTag

registry.redhat.io/openshift-serverless-1/logic-data-index-postgresql-rhel8:1.35.0

The Data Index service image for PostgreSQL to use. If empty, the OpenShift Serverless Logic Operator uses the default Apache community image based on the current OpenShift Serverless Logic Operator version.

dataIndexEphemeralImageTag

registry.redhat.io/openshift-serverless-1/logic-data-index-ephemeral-rhel8:1.35.0

The Data Index service image without persistence to use. If empty, the OpenShift Serverless Logic Operator uses the default Apache community image based on the current OpenShift Serverless Logic Operator version.

sonataFlowBaseBuilderImageTag

registry.redhat.io/openshift-serverless-1/logic-swf-builder-rhel8:1.35.0

OpenShift Serverless Logic base builder image used in the internal Dockerfile to build workflow applications in preview profile. If empty, the OpenShift Serverless Logic Operator uses the default Apache community image based on the current OpenShift Serverless Logic Operator version.

sonataFlowDevModeImageTag

registry.redhat.io/openshift-serverless-1/logic-swf-devmode-rhel8:1.35.0

The image to use to deploy OpenShift Serverless Logic workflow images in devmode profile. If empty, the OpenShift Serverless Logic Operator uses the default Apache community image based on the current OpenShift Serverless Logic Operator version.

builderConfigMapName

logic-operator-rhel8-builder-config

The default name of the builder config map in the OpenShift Serverless Logic Operator namespace.

postgreSQLPersistenceExtensions

next column

Quarkus extensions required for workflows persistence. These extensions are used by the OpenShift Serverless Logic Operator builder in cases where the workflow being built has configured PostgreSQL persistence.

kogitoEventsGrouping

true

When set to true, configures every workflow deployment with the gitops or preview profiles to send accumulated workflow status change events to the Data Index service, reducing the number of produced events. You can set the value to false to send individual events.

kogitoEventsGroupingBinary

true

When set to true, the accumulated workflow status change events are sent in binary mode, reducing the size of the produced events. You can set the value to false to send plain JSON events.

kogitoEventsGroupingCompress

false

When set to true, the accumulated workflow status change events, if sent in binary mode, are zipped at the cost of some performance.

You can edit this by updating the logic-operator-controllers-config config map by using the oc command-line tool.

Impact of global configuration changes

When you update the global configurations, the changes immediately affect only newly created resources. For example, if you change the sonataFlowDevModeImageTag property and already have a workflow deployed in dev mode, the OpenShift Serverless Logic Operator does not roll out a new deployment with the updated image configuration. Only new deployments reflect the changes.

Customizing the base builder image

You can directly change the base builder image in the Dockerfile used by the OpenShift Serverless Logic Operator.

Additionally, you can specify the base builder image in the SonataFlowPlatform configuration within the current namespace. This ensures that the specified base image is used exclusively in the given namespace.

Example of SonataFlowPlatform with a custom base builder image
apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform
spec:
  build:
    config:
        baseImage: dev.local/my-workflow-builder:1.0.0

Alternatively, you can also modify the base builder image in the global configuration config map as shown in the following example:

Example of ConfigMap with a custom base builder image
apiVersion: v1
data:
  controllers_cfg.yaml: |
    sonataFlowBaseBuilderImageTag: dev.local/my-workflow-builder:1.0.0
kind: ConfigMap
metadata:
  name: logic-operator-rhel8-controllers-config
  namespace: openshift-serverless-logic

When customizing the base builder image, the following order of precedence is applicable:

  1. The SonataFlowPlatform configuration in the current context.

  2. The global configuration entry in the ConfigMap resource.

  3. The FROM clause in the Dockerfile within the OpenShift Serverless Logic Operator namespace, defined in the logic-operator-rhel8-builder-config config map.

The entry in the SonataFlowPlatform configuration always overrides any other value.