Chapter 10. Running standalone Decision Central

You can use the Decision Central standalone JAR file to run Decision Central without needing to deploy it to an application server such as Red Hat JBoss EAP.

Note

Red Hat supports this installation type only when it is installed on Red Hat Enterprise Linux.

Procedure

  1. Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:

    • Product: Decision Manager
    • Version: 7.2
  2. Download Red Hat Decision Manager 7.2 Decision Central Standalone (rhdm-7.2.0-decision-central-standalone.jar).
  3. Create a directory and move the rhdm-7.2.0-decision-central-standalone.jar file to this directory.
  4. In a terminal window, navigate to the directory that contains the standalone JAR file.
  5. Create the application-users.properties file. Include an administrative user and if this Decision Central instance will be a Decision Manager controller for Decision Server, include a Decision Manager controller user, for example:

    rhdmAdmin=password1
    controllerUser=controllerUser1234
  6. Create the application-roles.properties file to assign roles to the users that you included in the application-users.properties file, for example:

    rhdmAdmin=admin
    controllerUser=kie-server
  7. Create the application-config.yaml configuration file with the following contents, where <APPLICATION_USERS> is the path to the application-users.properties file and <APPLICATION_ROLES> is the path to the application-roles.properties file:

    swarm:
      management:
        security-realms:
          ApplicationRealm:
            local-authentication:
              default-user: local
              allowed-users: local
              skip-group-loading: true
            properties-authentication:
              path: <APPLICATION_USERS>
              plain-text: true
            properties-authorization:
              path: <APPLICATION_ROLES>
    datasource:
      management:
        wildfly:
          admin: admin
  8. Enter the following command:

    java -jar rhdm-7.2.0-decision-central-standalone.jar -s application-config.yaml

    In addition, you can set any properties supported by Decision Central by including the -D<property>=<value> parameter in this command, for example:

    java -jar rhdm-7.2.0-decision-central-standalone.jar -s application-config.yaml -D<property>=<value> -D<property>=<value>

    See Section 10.1, “Supported properties” for more information.

10.1. Supported properties

The Decision Central system properties listed in this section are passed to standalone*.xml files or when you install standalone Decision Central, you can use the properties listed in this section in the following command:

java -jar rhdm-7.2.0-decision-central-standalone.jar -s application-config.yaml -D<property>=<value> -D<property>=<value>

In this command, <property> is a property from the following list and <value> is a value that you assign to that property:

  • org.uberfire.nio.git.dir: Location of the Decision Server Git directory.
  • org.uberfire.nio.git.dirname: Name of the Decision Server Git directory. Default value: .niogit.
  • org.uberfire.nio.git.proxy.ssh.over.http: Specifies whether SSH should use an HTTP proxy. Default: false
  • http.proxyHost: Defines the host name of the HTTP proxy. Default: null
  • http.proxyPort: Defines the host port (integer value) of the HTTP proxy. Default: null
  • org.uberfire.nio.git.proxy.ssh.over.https: Specifies whether SSH should use an HTTPS proxy. Default: false
  • https.proxyHost: Defines the host name of the HTTPS proxy. Default: null
  • https.proxyPort: Defines the host port (integer value) of the HTTPS proxy. Default: null
  • org.uberfire.nio.git.daemon.enabled: Enables or disables the Git daemon. Default value: true.
  • org.uberfire.nio.git.daemon.host: If the Git daemon is enabled, it uses this property as the local host identifier. Default value: localhost.
  • org.uberfire.nio.git.daemon.port: If the Git daemon is enabled, it uses this property as the port number. Default value: 9418.
  • org.uberfire.nio.git.http.sslVerify: Enables or disables SSL certificate checking for Git repositories. Default: true

    Note

    If the default or assigned port is already in use, a new port is automatically selected. Ensure that the ports are available and check the log for more information.

  • org.uberfire.nio.git.ssh.enabled: Enables or disables the SSH daemon. Default value: true.
  • org.uberfire.nio.git.ssh.host: If the SSH daemon enabled, it uses this property as the local host identifier. Default value: localhost.
  • org.uberfire.nio.git.ssh.port: If the SSH daemon is enabled, it uses this property as the port number. Default value: 8001.

    Note

    If the default or assigned port is already in use, a new port is automatically selected. Ensure that the ports are available and check the log for more information.

  • org.uberfire.nio.git.ssh.cert.dir: Location of the .security directory where local certificates are stored. Default: the working directory.
  • org.uberfire.nio.git.ssh.passphrase: Pass phrase used to access the public key store of your operating system when cloning git repositories with SCP style URLs. Example: git@github.com:user/repository.git.
  • org.uberfire.nio.git.ssh.algorithm: Algorithm used by SSH. Default value: RSA.

    Note

    If you plan to use RSA or any algorithm other than DSA, make sure you set up your application server to use the Bouncy Castle JCE library.

  • org.uberfire.metadata.index.dir: Place where the Lucene .index directory is stored. Default: the working directory
  • org.uberfire.ldap.regex.role_mapper: Regex pattern used to map LDAP principal names to the application role name. Note that the variable role must be part of the pattern because it is substituted by the application role name when matching a principal value to a role name. Default: Not used.
  • org.uberfire.sys.repo.monitor.disabled: Disables the configuration monitor. Do not disable unless you are sure. Default value: false
  • org.uberfire.secure.key: Password used by password encryption. Default value: org.uberfire.admin
  • org.uberfire.secure.alg: Crypto algorithm used by password encryption. Default value: PBEWithMD5AndDES
  • org.uberfire.domain: Security-domain name used by uberfire. Default value: ApplicationRealm
  • org.guvnor.m2repo.dir: Place where the Maven repository folder is stored. Default value: <working-directory>/repositories/kie
  • org.guvnor.project.gav.check.disabled: Disables group ID, artifact ID, and version (GAV) checks. Default value: false
  • org.kie.build.disable-project-explorer: Disables automatic build of a selected project in Project Explorer. Default value: false
  • org.kie.verification.disable-dtable-realtime-verification: Disables the real-time validation and verification of decision tables. Default value: false
  • org.kie.server.controller: URL for connecting with a Decision Manager controller, for example: ws://localhost:8080/decision-central/websocket/controller
  • org.kie.server.user: User name used to connect with the Decision Server nodes from the Decision Manager controller. This property is only required when using this Decision Central installation as a Decision Manager controller.
  • org.kie.server.pwd: Password used to connect with the Decision Server nodes from the Decision Manager controller. This property is only required when using this Decision Central installation as a Decision Manager controller.
  • kie.maven.offline.force: Forces Maven to behave as offline. If true, disable online dependency resolution. Default: false.

    Note

    Use this property for Decision Central only. If you share a runtime environment with any other component, isolate the configuration and apply it only to Decision Central.

  • org.uberfire.gzip.enable: Enables or disables Gzip compression on GzipFilter. Default: true