Customizing existing Decision Server components

You can customize the behavior of existing Decision Server components through configmaps that reference context-param, init-param or MultipartConfig parameters.

About this task

The behavior of the Decision Server components can be customized by providing configuration maps (configmaps) that reference the property files. For the Decision Server Runtime, the property file can define the context and init parameters of the response-headers filter. For the Decision Server Console, the property file can define the context and init parameters of the response-headers filter, and the parameters of the FrontendUploadServletservlet.

The customization can be applied, for example, to enable asynchronous ruleset parsing in the runtime. For more information, see Ruleset parsing and the ruleset cache.

Procedure

To update the web.xml configuration in an existing installation of Operational Decision Manager:

  1. Edit the configmap by running the following command:
     kubectl edit configmap my-odm-web-configmap

    The config map is the one created for your specific web-configuration.properties file.

    Step 1b of Customizing new Decision Server components shows the syntax of the web-configuration.properties of the configmap.

    If you did not set the decisionServerRuntime.webConfigRef parameter when you ran the helm install command, a default configmap is generated with the name release_name-odm-ds-runtime-web-configmap. If decisionServerConsole.webConfigRef is not set, the name of the generated configmap is release_name-odm-ds-console-web-configmap. Edit the generated configmap to customize the web.xml runtime configuration.

    You can also update the web-configuration.properties file and replace it in the configmap by running the following command for Decision Server Runtime:
    kubectl create configmap release_name-odm-ds-runtime-web-configmap --from-file web-configuration.properties -o yaml --dry-run=client | kubectl replace -f -
    For Decision Server Console:
    kubectl create configmap release_name-odm-ds-console-web-configmap --from-file web-configuration.properties -o yaml --dry-run=client | kubectl replace -f -
  2. Delete the decisionserverruntime or decisionserverconsole pod by running the following command:
    # Delete Decision Server Runtime pod
    kubectl delete pod release_name-odm-decisionserverruntime-XXXX
    
    # Delete Decision Server Console pod
    kubectl delete pod release_name-odm-decisionserverconsole-XXXX

    A new pod is automatically created with the new web.xml configuration properties.