Run Engine commands for Search server

Use the following Run Engine commands to configure the Search server Docker container. The following table contains the default Run Engine commands for the server to start. To view the scripts, start with /SETUP/bin/entrypoint.sh. To implement custom logic or override existing configurations, ensure that the necessary parameters can be resolved by the commands during startup.

Description Command
Set connection to Transaction server host run set-transaction-server <hostName> <securedPort>

    hostName Transaction server host name.
    Port Transaction server port.

Set connection to Store server host run set-store-server <hostName> <port>

    hostName Store host name.
    port Store port.

Set connection to Customization server host run set-xc-server <hostName> <port>

    hostName Customization server host name.
    port Customization server port.

Update database user and password credentials used to connect to the database. run update-datasource-cred <jndi> <db2User> <db2Pass>

    jndi The name of the JNDI. For example, the default value for the Search server is jdbc/wcdb.
    db2User Database user name.
    db2Pass Database password.

Update database name, database server host name, database server port credentials used to connect to the database. run update-datasource-db <jndi> <database> <db2Host> <db2Port> <sslConnection>

    jndi The name of the JNDI. For example, the default value for the Search server is jdbc/wcdb.
    database Database name.
    db2Host Database host name.
    db2Port Database port number.
    sslConnection (Optional) Enable or disable the SSL protocol. If set to True, SSL is used. If not set, or set to False, SSL is disabled.

Set JVM property: spi.username, spi.password

run set-spi-user <userName> <ASCII_encrypted_password>

    userName SPI username. The default user name is spiuser.
    password The ASCII encrypted password. We can encrypt the password by using utilities_root/wcs_encrypt.sh utility.

Dreate JNDI entry for this Cloudant account. run add-cloudant-account <cloudantAccount> <userName> <password> <accountAlias>

    cloudantAccount The Cloudant account name. For example, if the account URI is https://account.cloudant.com, the parameter value must be account.
    userName The name of the user.
    password The plain text password.
    accountAlias The alias for the account.

Update Cloudant account information. run update-cloudant-account <cloudantAccount> <userName> <password> <accountAlias>

    cloudantAccount The Cloudant account name. For example, if the account URI is https://account.cloudant.com, the parameter value must be account.
    userName The name of the user.
    password The plain text password.
    accountAlias The alias for the account.

Add database connection datasource. run add-datasource <jndi> database <dbtype> dbHost dbPort dbUserdbPass xa <sslConnect>

    jndi The name of the JNDI. For example, the default value for the Search server is jdbc/wcdb.
    database The name of the database.
    dbType The database type. For example, db2.
    dbHost The host name of the database server.
    dbPort The database server port.
    dbUser The database user name.
    dbPass The database password.
    xa (Boolean) Determines whether it is an XA data source. Set this value to false if we are using the default datasource.
    sslConnect (Boolean) Enable SSL connection.

Add JNDI entry. run add-jndi-entry <name> <value>

    name JNDI name.
    value JNDI value.

Add configurations to support IBM ID. run add-oidc-configuration <serverHost> <blueIdHost> <clientId> <clientSecret>

    serverHost The server host name http/https protocol. The port number is optional.
    blueIdHost The blue ID environment host name. Either 'prepiam.toronto.ca.ibm.com' for preproduction or 'idaas.iam.ibm.com' for production.
    clientId The client ID of the server is registered with an IBM ID endpoint.
    clientSecret The client secret for the Server to authenticate with an IBM ID endpoint.

Create a new user registry. run add-spi-registry <registryId> <username> <password>

    registryId The basic registry unique name.
    username The username for the SPI integration user.
    password The password for the SPI integration user.

Update jvm.options to add new JVM properties. run add-system-property <name> <value>

    name JVM System property name.
    value JVM System property value.

Update WebSphere Liberty home and server name for Run Engine configuration properties. run generate-config-properties <LibertyHome> <ServerName>

    LibertyServerHome Location of WebSphere Liberty is installed.
    ServerName Name of the WebSphere Liberty server.

Retrieve the start state of an application in the Liberty server. If the application is not started within 3 minutes, error code 1 is returned. run get-status <application_name>

    application_name The name of the application EAR.

Remove SPI registry form userregistry.xml. run remove-spi-registry-user <registryId> <username> [<group>]

    registryId The basic registry unique name.
    username The user name.
    group (Optional) The group from which to remove the user. If not specified, user is removed from the default 'spiIntegration' group.

Copy trace setting file (logging.xml) to WebSphere Liberty server home. Default location is /SETUP/server/root/logging.xml run reset-trace-specification
Update initHeapSize and maxHeapSize in jvm.option file. run set-heap-size <initHeapSize> <maxHeapSize>

    initHeapSize Minimum Heap size.
    maxHeapSize Maximum Heap size.

Update jndi.xml to create or update a JNDI entry. run set-jndi-entry <name> <value>

    name JNDI name.
    value JNDI value.

Configure Kafka. run set-kafka-server <kafkaTopicPrefix> <listOfZookeeper>

    kafkaTopicPrefix Kafka topic prefix.
    listOfZookeeper List of ZooKeeper (zookeeperId1, zookeeperId2,.., zookeeperIdn) must be separated by comma. Zookeeper IDs must follow the pattern: hostname:port.

Set JNDI entry.

com.ibm.commerce.foundation.server.services.commerce.integration.sessionkey

run set-session-key <sessionKey>

    sessionKey An encrypted session key.

Add JVM property. run set-system-property <name> <value>

    name JVM System property name value.

Change trace log directory. run set-trace-log-directory <directory>

    directory The location to write the logs.

Change trace level. run set-trace-specification <spec>

    spec The new logging trace specification.

Update JNDI entry. run update-jndi-entry <name> <value>

    name JNDI name.
    value JNDI value.

Update blueID host. run update-oidc-blueIdHost <blueIdHost>

    blueIdHost The blue ID environment host name. Either 'prepiam.toronto.ca.ibm.com' for preproduction or 'idaas.iam.ibm.com' for production.

Update isClientSideRedirectSupported attribute. run update-oidc-client-side-redirect-supported <clientSideRedirectSupported>

    clientSideRedirectSupported The value to support client-side redirect or not, true or false.

Update client id and client secret for OIDC configuration. run update-oidc-clientIdSecret <clientId> <clientSecret>

    clientId The client ID of the server is registered with an IBM ID endpoint.
    clientSecret The client secret for the Server to authenticate with an IBM ID endpoint.

Update context path for OIDC configuration. run add-oidc-context-root <contextRoot>

    contextRoot The context root of the Liberty application.

Update OIDC redirect server host name. run update-oidc-redirect-server-host <serverHost>

    serverHost The server host name with HTTP/HTTPS protocol. The port number is optional.

Enable the eXtreme Scale feature run enable-xs-feature <xsServerName> <xsServerPort>

    xsServerName The host name of the WebSphere eXtreme Scale catalog server.
    xsServerPort The listener port of the WebSphere eXtreme Scale catalog server.

Connect a specific cache instance to the WebSphere eXtreme Scale cache provider. run connect-searchcache-wxs <jndiName> <cacheSize> <optional:gridName> <optional:mapName>

    jndiName The Java Naming and Directory Interface (JNDI) name of the cache we want to update.
    cacheSize The new size of the cache.
    gridName (Optional) The name of the grid on the WebSphere eXtreme Scale server.
    mapName (Optional) The name of the map on the WebSphere eXtreme Scale server.

1


The SPI username and password is used for inter-component server API invocation only. The spiuser is configured in the Store server, Search server and Customization server, and used in the API invocation from those servers to the Transaction server. The images need to be configured with the spiuser password, otherwise the component servers cannot connect to the Transaction server.