Transaction server Docker container startup with Vault parameter retrieval

There are a number of variables and parameters you can use when starting the Transaction server Docker container in CONFIGURE_MODE=Vault .

Mandatory environment variables

These are the mandatory environment variables that you must specify to configure the Transaction server Docker container to retrieve additional parameters from Vault.

Note: The /SETUP/bin/vaultConfigure.sh script retrieves the values from Vault.
Environment variable name Description Comments
TENANT The name of the group that contains your set of environments. For example, MyCompany. Container environment variable. This can be specified in the values.yaml configuration file under common.tenant.
ENVIRONMENT The name of the environment. For example, Non-production. Container environment variable. This can be specified in the values.yaml configuration file under common.environmentName.
ENVTYPE The environment type. Accepted values are auth and live. Container environment variable. This can be specified in the values.yaml configuration file under common.environmentType.
VAULT_TOKEN The Vault token to use to connect to Vault and request certification from Vault PKI. Container environment variable. This can be specified in the values.yaml configuration file under common.vaultToken.
VAULT_URL The Vault URL to use to connect to Vault and request certification from Vault PKI. Container environment variable. This can be specified in the values.yaml configuration file under common.vaultUrl.
CONFIGURE_MODE Vault Container environment variable. This can be specified in the values.yaml configuration file under common.configureMode.

Optional environment variables

These following environment variables are optional ones that you can specify to configure the Transaction server Docker container.

All parameters that you specify as container environment variables take precedence over the values that are stored in Vault.

Environment variable name Description Comments
EXPOSE_METRICS Specify if you want to enable metrics for the environment. Container environment variable. This can be specified in the values.yaml configuration file under metrics.enabled.

Mandatory Vault configuration variables

These are the mandatory Vault key values that you must specify within Vault to configure the Transaction server Docker container to use the Vault configuration mode.

Vault path Description Reference Environment Variable
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/spiUserPwd The encrypted password for the spiUserPwd. For more information, see Configuring the spiuser password for Commerce+ Kubernetes Deployment SPIUSER_PWD
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbHost The database hostname. DBHOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbName The name of the database. DBNAME
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbUser The database username. DBUSER
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbPassword The database user password. DBPASS
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbPort The database port. DBPORT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbaUser The database administrator. DBAUSER
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbaPassEncrypt The database administrator password that is encrypted with wcs_encrypt.sh. DBAPASSENCRYPT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbPassEncrypt The database password that is encrypted with wcs_encrypt.sh. DBPASSENCRYPT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbType The database type.
Accepted values are:
  • db2 for IBM IBM Db2 Database.
  • oracle for Oracle Database.
  • postgres for PostgreSQL Database.
DBTYPE
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/elasticSearchEnabled Whether the Elasticsearch-based search solution is in use or not.
Accepted values are:
  • true for Elasticsearch-based search solution .
ELASTICSEARCH_ENABLED
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/merchantKeyEncrypted

The encrypted merchant key value, encrypted with the key encryption key. The merchant key was created when you or an administrator loaded the HCL Commerce database schema.

Important: You must specify your own merchant key and key encryption key values for the security of your HCL Commerce installation. Do not use the default values contained within the provided sample configuration files and documentation examples.
MERCHANTKEY_ENCRYPT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/sessionKeyEncrypt The encrypted session key. SESSION_KEY_ENCRYPT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/elasticSearchHost The Elasticsearch service hostname. ELASTICSEARCH_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/authJWKS

The Commerce tooling SPA uses JSON Web Token (JWT) for API authentication.

Update this value to set the JSON Web Key Set (JWKS) and keyID in order to sign and validate the JWT. The JWKS can be generated by the generateJWKS utility.

JWKS
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/ingestPort The Ingest service port number. INGEST_PORT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/ingestScheme The Ingest service scheme. INGEST_SCHEME
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/elasticSearchPort The Elasticsearch service port number. ELASTICSEARCH_PORT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/elasticSearchScheme The Elasticsearch service scheme. ELASTICSEARCH_SCHEME
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/searchQueryBaseUrl The search query base url. SEARCH_QUERY_BASE_URL
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/searchDataQueryBaseUrl The search data query base url. SEARCH_DATA_QUERY_BASE_URL
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/allowedHost Specify allowed host. ALLOWED_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/allowedDomain Specify allowed domain. ALLOWED_DOMAIN
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/storeDomainMapping Set value for store domain mapping. STORE_DOMAIN_MAPPING
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/autoOrderCommentEventListenerEnabled Flag to enable or disable order auto comment event listener. AUTO_ORDER_COMMENT_EVENT_LISTENER_ENABLED
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}inventoryShowActualQuantity Specify to show actual quantity in inventory. INVENTORY_SHOW_ACTUAL_QUANTITY
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/xmlParserFeatureList Specify XML parser white list domain. XML_PARSER_FEATURE_LIST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/xmlParserWhiteListDomains Specify XML parser white list domain. XML_PARSER_WHITE_LIST_DOMAINS
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/xmlParserWhiteListSchemes Specify XML parser white list schemes. XML_PARSER_WHITE_LIST_SCHEMES
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/xmlParserLocalEntityEnabled Specify if XML parser local entity is enabled. XML_PARSER_LOCAL_ENTITY_ENABLED
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/xmlParserSanitizationEnabled Specify if XML parser sanitization is enabled. XML_PARSER_SANITIZATION_ENABLED
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/keycloakHost Specify keycloak host. KEYCLOAK_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/keycloakPort Specify keycloak port. KEYCLOAK_PORT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/keycloakScheme Specify keycloak scheme. KEYCLOAK_SCHEME
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/keycloakServiceClientSecret Specify keycloak service client secret. KEYCLOAK_SERVICE_CLIENT_SECRET
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/keycloakServiceClientAccessTokenLifeSpan Specify keycloak service client access token lifespan. KEYCLOAK_SERVICE_CLIENT_ACCESS_TOKEN_LIFESPAN
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/gaServiceAccount Google Analytics service account. GA_SERVICE_ACCOUNT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/elasticSearchHost The Elasticsearch service hostname.
Note: This parameter is only required with the Elasticsearch-based search solution.
ELASTICSEARCH_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/queryScheme The Search server scheme. SEARCH_SCHEME
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/pluginPort The Plugin port. PLUGIN_PORT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/inventoryPort The Inventory port. INVENTORY_PORT

Optional Vault configuration variables

These are the optional Vault key values that you can specify within Vault to configure the Transaction server Docker container when used with the Vault configuration mode.

Vault path Description Reference Environment Variable
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/spiUserName Your SPIUSER name. The default value is spiuser. SPIUSER_NAME
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbXA Specify if the XA function is enabled for the database.
Accepted values are:
  • true for enabled.
  • false for disabled.
The default value is false.
Note: You can also specify datasource credentials through the start up command if you do not want to retrieve the datasource values from Vault.
DB_XA
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbSSLEnable Determines whether to enable SSL protocol for connections to the database.
Accepted values are:
  • true for an SSL connection.
  • false for an unencrypted connection.
The default value is false.
Note: You can also specify datasource credentials through the start up command if you do not want to retrieve the datasource values from Vault.
DB_SSLENABLE
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/storeWebHost

A unique hostname for use with Commerce Lab Store preview. If you are using DC/OS, this is the internal DNS in DC/OS. For example, store-wytryqaauth.cn.ibm.com.

Note:

If you have multiple stores running on multiple domains, you can configure your domains to redirect to STOREWEB_HOST to ensure that preview works for all stores.

STOREWEB_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/queryHost

The Search server host name. This parameter value depends on which search service you are using, and the environment type.

If no value is specified, then the default, ${TENANT}${ENVIRONMEN}${ENVTYPE}query-app.${DOMAIN_NAME}, is used.

SEARCH_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/domainName The internal service domain name. The default value is : default.svc.cluster.local. If the deployed environment is on a special namespace on Kubernetes, the domain name should be XXX.svc.cluster.local, where XXX will be the namespace name. DOMAIN_NAME
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/externalDomainName The external domain name specifies the store-web external domain name, which can be recognized by your browser. For example, in the hostname store.demo4qaauth.hcl.com, hcl.com would be the external domain name. EXTERNAL_DOMAIN_NAME
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/keyEncryptionKey The plain text key that is used to encrypt the merchant key. The key encryption key is required to be 32 characters. KEY_ENCRYPTION_KEY
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/healthCenterEnable/ts-app Determines whether Health Center is enabled. The default value is false. HEALTH_CENTER_ENABLED
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/adminPassword The password for user configadmin, which is used to access the WebSphere Application Server Administrative Console.
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/traceSpecification/ts-app

Set trace specifications. For more information about trace, see Trace components.

${VAULT_URL}/${TENANT}/${ENVIRONMENT}/ingestHost

The Ingest service hostname.

If no value is specified, then the default, ${TENANT}${ENVIRONMENT}ingest-app.${DOMAIN_NAME}, is used.

INGEST_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/xcHost

The Customization server host name.

If no value is specified, then the default, ${TENANT}${ENVIRONMENT}${ENVTYPE}xc-app.${DOMAIN_NAME}, is used.

XC_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/xcPort

The Customization server port number.

The default value is 9443.

XC_PORT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/pluginHost

The Plugin host.

The default value is ${TENANT}${ENVIRONMENT}${ENVTYPE}plugin-app.${DOMAIN_NAME}.

PLUGIN_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/inventoryHost

The Inventory host.

The default value is ${TENANT}${ENVIRONMENT}${ENVTYPE}inventory-app.${DOMAIN_NAME}.

INVENTORY_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/storeHost The Store server host name. STORE_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/storePort The Store server port number. STORE_PORT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/storeWebHost The Store Web server host. STOREWEB_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/storeWebPort The Store Web server port number. STOREWEB_PORT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStoreHost

The React-based store host name.

Note: This parameter is only required with the Elasticsearch-based search solution.

The default value is www.${TENANT}${ENVIRONMENT}${ENVTYPE}${EXTERNAL_DOMAIN_NAME}.

REACT_STORE_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStorePort

The React-based store port number.

Note: This parameter is only required with the Elasticsearch-based search solution.

The default value is 443.

REACT_STORE_PORT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStorePreviewHost

The React-based store preview host.

The default value is store-preview.${TENANT}${ENVIRONMENT}${ENVTYPE}${EXTERNAL_DOMAIN_NAME}.

REACT_STORE_PREVIEW_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStorePreviewPort

The React-based store preview port.

The default value is 443.

REACT_STORE_PREVIEW_PORT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStoreServiceHost

The React-based service host name.

Note: This parameter is only required with the Elasticsearch-based search solution.

The default value is ${TENANT}${ENVIRONMENT}${ENVTYPE}store-web.${DOMAIN_NAME}.

REACT_STORE_SERVICE_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStoreServicePort

The React-based store service port number.

Note: This parameter is only required with the Elasticsearch-based search solution.

The default value is 6443.

REACT_STORE_SERVICE_PORT
JWK

The Commerce tooling SPA uses JWT for API authentication.

Update this value to set the JWKS and keyID in order to sign and validate the JWT. To generate a JWKS, see the generateJWKS utility.

JWK
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/toolingRoot The Tooling root value which is used by Commerce Lab to load tooling SPA from the tooling web server. TOOLING_ROOT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/toolingOrigin

The Tooling Origin value.

Note: Only used when TOOLING_ORIGIN is null. Example of format: https://tooling.demoqa.mycompany.com
TOOLING_ORIGIN
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/redisPasswordEncrypt The Redis server password. REDIS_PASSWORD_ENCRYPT
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/allowedHost Specify white-listed host names for an associated module name. Host names are delineated by a comma, modules are delineated by a semi-colon.

Example of format: Stores:host1.domain.com,host2.domain.com;LoBTools:host3.domain2.com,host4.domain2.com

ALLOWED_HOST
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/allowedDomain Specify white-listed domain names for an associated module name. Domain names are delineated by a comma, modules are delineated by a semi-colon.

Example of format: Stores:domain1.com,domain2.com;LoBTools:domain3.com,domain4.com

ALLOWED_DOMAIN
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/storeDomainMapping This value specifies the store name to domain name mapping. Using this value can map one store to multiple domain names.

The format that is used is sitename=domainname;sitename=domainname; ....

For example, AuroraESite=www.mycompany.com;AuroraESite=www.mycompany1.com;AuroraB2BESite=www.mycompany.b2b.com;

STORE_DOMAIN_MAPPING
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/autoOrderCommentEventListenerEnabled Flag to enable or disable order auto comment event listener. By default this value is set to false. AUTO_ORDER_COMMENT_EVENT_LISTENER_ENABLED
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/inventoryShowActualQuantity In a non-ATP inventory system with the noCheck parameter set for a catentry inventory (a value of 2 in the database), the API returns 1.0 as the quantity. To show the actual quantity, set this value to true. By default this value is set to false INVENTORY_SHOW_ACTUAL_QUANTITY
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCPublishDataSource/maxIdleTime Amount of time a connection can be unused or idle.

A value of -1 disables this timeout.

Default value 30m.
DB_WC_PUBLISH_DATASOURCE_CONNECTIONMANAGER_MAXIDLETIME
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCPublishDataSource/maxPoolSize Maximum number of physical connections for a pool.

A value of 0 means unlimited.

Default value 50.
DB_WC_PUBLISH_DATASOURCE_CONNECTIONMANAGER_MAXPOOLSIZE
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCPublishDataSource/minPoolSize Minimum number of physical connections to maintain in the pool. DB_WC_PUBLISH_DATASOURCE_CONNECTIONMANAGER_MINPOOLSIZE
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCDataSource/maxIdleTime Amount of time a connection can be unused or idle.

A value of -1 disables this timeout.

Default value 30m.
DB_WC_DATASOURCE_CONNECTIONMANAGER_MAXIDLETIME
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCDataSource/maxPoolSize Maximum number of physical connections for a pool.

A value of 0 means unlimited.

Default value 50.
DB_WC_DATASOURCE_CONNECTIONMANAGER_MAXPOOLSIZE
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCDataSource/minPoolSize Minimum number of physical connections to maintain in the pool. DB_WC_DATASOURCE_CONNECTIONMANAGER_MINPOOLSIZE
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/verifyHostName

This value specifies hostname verification on SSL configuration.

Accepted values are:
  • true for enabled.
  • false for disabled.
The default value is true.
VERIFY_HOST_NAME