Configuring your Commerce+ environment using Vault
You can use Vault for secure and dynamic configuration management of your Commerce+ deployment.
HCL Commerce+ requires a robust and secure mechanism for managing configuration data, such as database credentials, API keys, and other sensitive information. Vault is an ideal tool to achieve these goals. Using Vault to manage Commerce+ enhances security, flexibility, and operational efficiency.
- Vault
- Vault is a secure tool for storing and managing sensitive key-value pairs, such as database credentials, API keys, and other configuration details. It provides a secure and dynamic way to supply configuration data to Docker containers during startup, enhancing security and flexibility by avoiding hardcoded values.
- Purpose
-
The purpose of using Vault for environment data is to:
- Secure Sensitive Data: Prevent unauthorized access to sensitive configuration information.
- Enable Dynamic Configuration: Fetch environment-specific data during container startup.
- Improve Scalability and Consistency: Provide a centralized method for managing configuration data across multiple environments.
Without Vault, sensitive data must be embedded in the Docker container or provided through less secure mechanisms, increasing the risk of data security. Using Vault ensures:- Centralized Management: Secrets are stored in one place, making them easier to update and manage.
- Role-Based Access Control: Access can be limited to specific users or services.
- Flexibility Across Environments: Different data can be fetched for production and non-production environments.
Configuring Vault for the Commerce+
- Set Configuration Mode: To enable Vault-based configuration, set the CONFIGURE_MODE parameter to Vault. This instructs the startup scripts to fetch environment-related data from Vault during Docker container initialization.
- Organize Data in Vault.Structure the data in using the following hierarchy:
- Tenant: Represents your company, (For example, MyCompany).
- Environment Name: Represents the deployment stage, (For example, Non-production).
- Environment Type: Represents the specific service or role, (For example, auth).
- Storing key-value pairs in Vault.
To store key-value pairs, follow these steps:
- Create a Mount Point: Mount points act as logical namespaces
for
secrets.
For example,curl -X POST -H "X-Vault-Token:vaultToken" \ -H "Content-Type:application/json" \ -d '{"type":"generic","description":"description","config":{"max_lease_ttl":"876000"}}' \ http://VaultIP:VaultPort/v1/sys/mounts/tenantcurl -X POST -H "X-Vault-Token:7f47efbb" \ -H "Content-Type:application/json" \ -d '{"type":"generic","description":"Tenant mount point","config":{"max_lease_ttl":"876000"}}' \ http://127.0.0.1:8200/v1/sys/mounts/MyCompany - Store Key-Value Data.
Use the following command to store secrets:
For example,curl -X POST -H "X-Vault-Token:vaultToken" \ -d '{"value":"value"}' \ http://Vaultip:VaultPort/v1/tenant/environmentName/environmentType/targetKeycurl -X POST -H "X-Vault-Token:7f47efbb" \ -d '{"value":"mall"}' \ http://myhostname.com:8200/v1/MyCompany/Non-production/auth/dbName
- Create a Mount Point: Mount points act as logical namespaces
for
secrets.
- Retrieve Key-Value Pairs from Vault.
Retrieve stored secrets with the following command:
For example,curl -X GET -H "X-Vault-Token:vaultToken" \ http://VaultIP:VaultPort/v1/tenant/environmentName/environmentType/targetKey | jq -r .data.valuecurl -X GET -H "X-Vault-Token:7f47efbb" \ http://127.0.0.1:8200/v1/MyCompany/Non-production/auth/dbName | jq -r .data.value
Key-value data structure in Vault
- Base deployment configurations:
- Name, port, security scheme, and certificate configurations
- Database configurations
- Solr Search Configurations
- ES Search configurations
- Tooling configurations
- Store, order, and inventory configurations
- Ruby storefront configuration
- CRS (Aurora Storefront) configurations
- Logging and health configurations
- Environment Types (EnvType):
- auth: Default for authentication services.
- live: For production environments.
- data: Exclusive to the search-query-app application.
- This document provides a general overview of using Vault with the Commerce+.
- Specific implementation details and configurations may vary depending on your environment and requirements.
- Always refer to the official Vault documentation for the latest information and best practices.
- Default Key-Value Paths
Name, port, security scheme, and certificate configurations
| Vault path | Requirement | Description |
|---|---|---|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/domainName |
Optional |
Specify the internal service domain name. If the deployed environment is on a special namespace on Kubernetes, then the domain name should be .svc.cluster.local. If no value is specified, then the default,
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/externalDomainName |
Optional |
This value 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 is the external domain name. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/storeDomainMapping |
Mandatory |
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
For example,
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/zookeeperHost |
Mandatory |
Specify a value if you want to set a zookeeperHost value, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/zookeeperPort |
Optional |
Specify a value if you want to set a zookeeperPort value, instead of using the default value. The default value is |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/zookeeperScheme |
Optional |
Specify a value if you want to set a zookeeperScheme value, instead of using the default value. The default value is |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/redisHost |
Mandatory | Specify the Redis hostname that NiFi will connect to for event messages. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/redisPort |
Optional | Specify the Redis port number that NiFi will connect to for
event messages. The default value is |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/redisPasswordEncrypt |
Optional | The encrypted Redis server password. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/txHost |
Optional | Specify a value if you want to set txHost, instead of
using the default value
${TENANT}${ENVIRONMENT}${ENVTYPE}ts-app.${DOMAIN_NAME}.Note: This value is used for all containers other than the
Transaction server Docker container. To set the value for the Transaction server Docker container, use the txnHost
value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/txPort |
Optional | Specify a value if you want to set txPort, instead of
using the default value 5443.Note: This value
is used for all containers other than the Transaction server Docker container. To
set the value for the Transaction server Docker container, use the
txnPort value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/xcHost |
Optional | Specify a value if you want to set a host name for the Customization server, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/xcPort |
Optional | Specify a value if you want to set a port number for the Customization server, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStoreHost |
Optional | Specify a value if you want to set
reactStoreHost, instead of using the default value. The default value: www.${TENANT}${ENVIRONMENT}${ENVTYPE}${EXTERNAL_DOMAIN_NAME} |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStorePort |
Optional | Specify a value if you want to set
reactStorePort, instead of using the default value. The
default value is |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStoreServiceHost |
Optional | Specify a value if you want to set reactStoreServiceHost, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStoreServicePort |
Optional | Specify a value if you want to set
reactStoreServicePort, instead of using the default
value. The default value is |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStorePreviewHost |
Optional | Specify a value if you want to set
reactStorePreviewHost, instead of using the default
value. The default value is store-preview.${TENANT}${ENVIRONMENT}${ENVTYPE}${EXTERNAL_DOMAIN_NAME} |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/reactStorePreviewPort |
Optional | Specify a value if you want to set
reactStorePreviewPort, instead of using the default
value. The default value is |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/queryHost |
Optional | The Search server host name for the Elastic-based search solution. Specify a value if you want to set queryHost, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/queryPort |
Optional | The Search server port number for the
Elastic-based search solution. Specify a value if you want
to set queryPort, instead of using the default value. The
default value is |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/queryScheme |
Mandatory | The Search server scheme for the
Elastic-based search solution. Specify a value if you want
to set queryScheme, instead of using the default value. The
default value is |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nifiHost |
Optional | Specify a value if you want to set a nifiHost value, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nifiPort |
Optional | Specify a value if you want to set a nifiPort value, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nifiScheme |
Optional | Specify a value if you want to set a nifiScheme value, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nifiWebHttpPort |
Optional | Specify a value if you want to set a nifiWebHttpPort value, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/registryHost |
Optional | Specify a value if you want to set a registryHost value, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/registryPort |
Optional | Specify a value if you want to set a registryPort value, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/registryScheme |
Optional | Specify a value if you want to set a registryScheme value, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/queryHost |
Optional | Specify a value if you want to set a queryHost value, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/queryPort |
Optional | Specify a value if you want to set a
queryPort value, instead of using the default value
443. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/queryScheme |
Optional | Specify a value to set a queryScheme
value, the default value https. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/ingestHost |
Optional | Specify a value if you want to set an ingestHost value, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/ingestPort |
Mandatory | Specify a value if you want to set an ingestPort value, instead of using the default value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/ingestScheme |
Mandatory | Specify a value if you want to set an ingestScheme value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/elasticSearchHost |
Mandatory | Specify an elasticSearchHost value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/elasticSearchPort |
Mandatory | The elasticSearchPort value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/elasticSearchScheme |
Mandatory | The elasticSearchScheme value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/toolingBaseUrl |
Mandatory | This value is used by Commerce Lab to load
tooling single page application (SPA) from the tooling web
server.
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/certs/CertName |
Optional | Specify third-party certificate records.
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/certsBundle |
Optional | Specify third-party certificate records.
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/allowedHost |
Mandatory | Specify white-listed host names for an associated module name.
Host names are delineated by a comma, modules are delineated by a
semi-colon.
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/allowedDomain |
Mandatory | Specify white-listed domain names for an associated module
name. Domain names are delineated by a comma, modules are delineated by a
semi-colon.
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/authJWKS |
Mandatory | Specify a value to set the JSON Web Key Set (JWKS) and key ID on
the Transaction server. This is used to sign and validate the JSON Web
Token (JWT). To generate a JWKS, see the Generate JWKS utility. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/spiUserName |
Optional | The spiuser user name. If the value is not defined, then spiuser is used. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/spiUserPwd |
Mandatory | The ASCII encrypted spiuser user password. To set the password in your custom Docker containers, see Configuring the spiuser password for Commerce+ Kubernetes Deployment. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/adminSpiUserPwd |
Mandatory | The plain text spiuser user password. The ADMIN_SPIUSER_PWD must be the same value as SPIUSER_PWD but kept as plain text. To set the password in your custom Docker containers, see Configuring the spiuser password for Commerce+ Kubernetes Deployment. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/merchantKeyEncrypted |
Mandatory | The encrypted merchant key, encrypted with the key
encryption key. The merchant key was created when you or an administrator loaded the
Commerce+ database schema. For more information, see: Important: You must specify your own merchant key and key
encryption key values for the security of your Commerce+ installation. Do not
use the default values contained within the provided sample configuration files and
documentation examples. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/keyEncryptionKey |
Optional | The plain text key that is used to encrypt the merchant key. The key encryption key is required to be 32 characters. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/sessionKeyEncrypt |
Mandatory |
The encrypted session key value is generated using
Note: Do not specify an encryption key when running
wcs_encrypt.sh.The Session key is used to encrypt cookies and sensitive customer facing data. For example, the krypto URL parameter. Important: You must specify your own session key
for the security of your Commerce+ installation. Do not use the
default values contained within the provided sample configuration files and
documentation examples.
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/xmlParserFeatureList |
Mandatory | Specify XML parser feature list. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/xmlParserWhiteListDomains |
Mandatory | Specify XML parser white list domain. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/xmlParserWhiteListSchemes
|
Mandatory | Specify XML parser white list schemes. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/xmlPraserLocalEntityEnabled |
Mandatory | Specify if XML parser local entity is enabled. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/xmlParserSanitizationEnabled |
Mandatory | Specify if XML parser sanitization is enabled. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/gaServiceAccount |
Mandatory | Google Analytics service account. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/adminPassword |
Mandatory | The password for user configadmin, which is used to access the Open Liberty Server Administrative Console. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/verifyHostName |
Optional | This value specifies hostname verification on SSL configuration. The default value is true. |
Database configurations
| Vault path | Requirement | Description |
|---|---|---|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/jdbcUrl |
Optional | Specify the database connection URL. The URL is constructed based on the database type and whether or not SSL is enabled. ![]()
![]()
![]()
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/jdbcDriver |
Optional | Specify a value if you want to change the default database
driver location for NiFi. The default values are:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/jdbcDriverClass |
Optional | Specify a value if you want to change the default
database driver class for NiFi. The default values are:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbSSLEnable |
Mandatory | Specify whether the database connection uses SSL. Accepted
values are:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbHost |
Mandatory | The database host name for the environment. Note: The dbHost name corresponds to the
database host for the respective service. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbName |
Mandatory | The database name. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbPort |
Mandatory | The database port number. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbUser |
Mandatory | The Commerce+ database user name. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbPassword |
Mandatory | The Commerce+ database user password. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbPassEncrypt |
Mandatory | The encrypted Commerce+ database user password. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbaUser |
Mandatory | The database administrator user name. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbaPassEncrypt |
Mandatory | The encrypted database administrator user password. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbType |
Mandatory | The database type. Accepted values are:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbSchema |
Optional | The database schema. By default, the database schema is set to DBUSER. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/dbXA |
Optional | Specify if the XA function is enabled for the database. Accepted
values are:
Note: You can also specify datasource credentials through the start up command if you
do not want to retrieve the datasource values from Vault. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCPublishDataSource/maxIdleTime |
Optional | Amount of time a connection can be unused or idle. A value of -1 disables this timeout. Default value 30m. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCPublishDataSource/maxPoolSize |
Optional | Maximum number of physical connections for a pool. A value of 0 means unlimited. Default value 50. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCPublishDataSource/minPoolSize |
Optional | Minimum number of physical connections to maintain in the pool. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCDataSource/maxIdleTime |
Optional | Amount of time a connection can be unused or idle. A value of -1 disables this timeout. Default value 30m. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCDataSource/maxPoolSize |
Optional | Maximum number of physical connections for a pool. A value of 0 means unlimited. Default value 50 |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/WCDataSource/minPoolSize |
Optional | Minimum number of physical connections to maintain in the pool. |
Solr Search Configurations
| Vault path | Requirement | Description |
|---|---|---|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/searchOrchestrationBaseUrl |
Mandatory | Specify the base URL for the Solr search orchestration service. The Transaction Server uses this URL to communicate with the Solr orchestration application for search index management operations. Format:https://orchestration-hostname:portExamples:
Note: Configure this property only for Solr
environments. Do not configure it for Elasticsearch environments. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/searchQueryBaseUrl |
Optional | Specify the base URL for the Solr search gateway. Specify the Solr search gateway domain instead of the Elasticsearch query service. Format:
Example:
Note: This property is required only for Solr
authoring (auth) environments. Live environments use
search-app-slave or search-app-repeater
directly. |
ES Search configuration
| Vault path | Requirement | Description |
|---|---|---|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/elasticSearchEnabled |
Mandatory | Specify whether the environment uses the Commerce Search-based
search. Accepted values are:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/searchQueryBaseUrl |
Mandatory | The search query base URL. The format of the Search Query base URL is https://query-domain:port. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/searchDataQueryBaseUrl |
Mandatory | Specify the Search Data Query server to be used by Tooling. The format of the Search Data Query base URL is https://data-query-domain:port. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/queryScanPackages |
Optional | Specify an additional comma separated list of Java package names that the Query service should scan for processing. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/enableFeatureNlp |
Optional | Specify a value if you want to set the natural language processing
feature. Note: This feature requires the elastic based
search solution. Accepted values are:
Note: NLP is now specified using
nlpEnableLanguageCode. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nlpEnableLanguageCode |
Mandatory | The language code for the Natural Language Processing (NLP) feature. Specify
a comma separated list of language codes for natural language processing. For
example, en,es. In this example, NLP is enabled for both
English and Spanish.
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nlpLemmatizationFeature |
Mandatory | Specify whether or not to enable the lemmatization feature for natural language processing. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nifiClusterIsNode |
Optional | Specify whether the NiFi installation is a standalone
installation. Accepted values are:
false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nifiClusterNodeProtocalPort |
Optional | Specify a value for the NiFi cluster node port. The default value is
8082. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nifiElectionMaxWait |
Optional | Specify a value if you want to if you want to set the maximum wait time for the NiFi election node service. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nifiJvmHeapInit |
Optional | Specify a value if you want to set a nifiJvmHeapInit value,
instead of using the default value 4096m. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nifiJvmHeapMax |
Optional | Specify a value for the maximum JVM heap size for NiFi. The default value is
4096m. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/elasticSearchShardCount |
Optional | Specify the number of shards to store the indexes for that environment, within the service. The default value is 1. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/elasticSearchReplicaCount |
Optional | Specify the number of replicas for indexes for that environment, within the service. The default value is 0. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/autoUpdatePipeVersion |
Optional | Specify whether to automatically update the Ingest server pipe version.
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/search-registry-app/schedulerWaitSeconds |
Optional |
The registry service scheduler job run interval, in seconds. The default value is 300 seconds (5 minutes). The NiFi Registry container is now run as a non-root user. However, the cron job that is used to run the scheduler is required to run as the root user. Therefore, this mechanism is introduced to run scheduled_job.sh. You can check the log at the following path, /SETUP/scheduler/job.log. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/indexingModel |
Optional | The indexing model for the NiFi server is optional. By default, it is set to
empty. The following options are available:
|
Tooling configuration
| Vault path | Requirement | Description |
|---|---|---|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/toolingRoot |
Optional | The Tooling root value which is used by Commerce Lab to load tooling
SPA from the tooling web server. If toolingRoot is not specified, will use toolingOrigin. For example,
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/toolingOrigin |
Mandatory | The Tooling Origin value. This is only used when
TOOLING_ROOT is null. For example, tooling.demoqa.mycompany.com. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/txToolingPort |
Mandatory | The transaction tooling port for jwt authentication check. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/allowTelemetry |
Mandatory |
This information assists HCL in the development of new features and the enhancement of existing business user tools. Accepted values are:
The default value is yes. If enabled, the deploymentType parameter is required to be specified. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/deploymentType |
Mandatory | The deployment type. This value is required when allowTelemetry value is yes, but is ignored if the allowTelemetry value is set to no. Accepted values are:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/auth/reactStoreBaseUrl |
Optional | The auth React store base URL. If left blank, it will fall back to the following value:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/auth/transactionBaseUrl |
Optional | The auth transaction base URL. The default: https://${AUTH_TRANSACTION_HOST} |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/auth/transactionHost |
Optional | The auth transaction host. If left blank, it will fall back to the following value: cmc.${TENANT}${ENVIRONMENT}auth.${EXTERNAL_DOMAIN_NAME} |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/live/transactionHost |
Optional | The live transaction host. If left blank, it will fall back to the following value: cmc.${TENANT}${ENVIRONMENT}live.${EXTERNAL_DOMAIN_NAME} |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}${ENVTYPE}/transactionPort
|
Optional | Specify the transaction port. The default value is
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}${ENVTYPE}/transactionWebHost
|
Optional |
Specify the transaction web host. If left blank or not specified, it will fall back to the following value: ${TENANT}${ENVIRONMENT}${ENVTYPE}ts−web.{DOMAIN_NAME} |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}${ENVTYPE}/transactionWebPort
|
Optional |
Specify the transaction web port. The default value is |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/toolingCommonDomainNameNote: This Vault key is a mandatory Vault configuration if the
tooling web is being deployed on the cloud using the tooling bootstrap Docker
image. |
Optional | This key specifies the URL of the cloud-based Tooling Common deployment. For example: tooling-common.prd.hclcommercecloud.com |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/toolingCommonPort |
Optional | The tooling common port. The default value is
|
${TENANT}/${ENVIRONMENT}/tooling-web/extraContentSecurityPolicySource |
Optional | The extra content security policy source. |
Store, order, and inventory configuration
| Vault path | Requirement | Description |
|---|---|---|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/store-web/extraContentSecurityPolicySource |
Optional |
Specify additional host names for the Content Security Policy (CSP) for the
Failure to correctly specify CSP values will trigger Cross-Site Scripting (XSS) protection in browsers. This means that third-party analytics, images, style sheets, or other scripts hosted on a secondary or third-party domain will fail to load, causing some features of your site to malfunction or fail gracefully. The default values provided by Commerce+ include your domain
(
For example: |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/ts-web/extraContentSecurityPolicySource |
Optional |
Specify additional host names for the Content Security Policy (CSP) for the
Failure to correctly specify CSP values will trigger Cross-Site Scripting (XSS) protection in browsers. This means that third-party analytics, images, style sheets, or other scripts hosted on a secondary or third-party domain will fail to load, causing some features of your site to malfunction or fail gracefully. The default values provided by Commerce+ include your domain
(
For example: |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/autoOrderCommentEventListenerEnabled |
Mandatory | Enable or disable the auto order comment event listener. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/useSemiColonForMarketplaceCSVDelimiter |
Optional | Enable or disable the use of a
semi-colon ';' as the Marketplace CSV file delimiter. By default this value is set to false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/inventoryShowActualQuantity |
Mandatory |
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. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/adminUser |
Mandatory | The Administrator user. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/adminPassowrd |
Mandatory | The Administrator password. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/
toolingOrigin |
Mandatory | The tooling origin url. For example, https://tooling.demoqa.mycompany.com |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/auth/reactStoreOrigin |
Optional | The authoring react store origin. If The default: https://${AUTH_REACT_STORE_HOST}:${AUTH_REACT_STORE_PORT} |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/auth/reactStoreHost |
Optional | The authoring react store host. If The default: www.${TENANT}${ENVIRONMENT}auth${EXTERNAL_DOMAIN_NAME} |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/auth/reactStorePort |
Optional | The authoring react store port. If The default value is
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/live/reactStoreOrigin |
Optional | The live store origin. If The default: https://${LIVE_REACT_STORE_HOST}:${LIVE_REACT_STORE_PORT} |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/live/reactStoreHost |
Optional | The live react store host. If The default: www.${TENANT}${ENVIRONMENT}live${EXTERNAL_DOMAIN_NAME} |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/live/reactStorePort |
Optional | The live react store port. If The default value is
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/auth/reactStorePreviewHost |
Optional |
The React store preview base URL. If left blank, it will fall back to the following value: https://${REACT_STORE_PREVIEW_HOST}:${REACT_STORE_PREVIEW_PORT} |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/auth/reactStorePreviewPort
|
Optional |
The React store preview port. The default value is |
Ruby storefront configuration
| Vault path | Requirement | Description |
|---|---|---|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nodeInstanceNumber/nextjs-app |
Optional | Defines the maximum number of concurrent Node
processes that can be run by the Node.js cluster API. Note: The value that is specified in Vault takes precedence over other configuration
methods. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/reactStoreMapApiKey |
Mandatory | The Google Maps API key that is used by the React store. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/logLevel/nextjs-app |
Optional | The log level used for troubleshooting purposes. Available log levels are:
Note:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/logSensorString/nextjs-app |
Optional |
Defines the masking string that is used in logs to mask sensitive information,
for example, messages with GDPR-related content. The set of values to mask are
identified by their keys in the
logging/core/redactionKeys.ts configuration file. For
more information, see Redaction. The
default value given in the template is |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/traceSpecification/nextjs-app |
Optional |
If you want to change the trace specification for the Next.js server, specify a value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/storeConfigurationFile/nextjs-app |
Mandatory | Specify the store configuration file for the Next.js application. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/startupArgument/nextjs-app |
Mandatory | Specify the startup arguments for the Next.js application. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/nodeInstanceNumber/nextjs-app
|
Mandatory | Specify the node instance number for the Next.js application. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/inventoryOrigin |
Mandatory |
Specify the inventory origin if inventory is enabled. |
CRS (Aurora Storefront) configurations
| Vault path | Requirement | Description |
|---|---|---|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/storeDomainMapping |
Mandatory |
Must include both the React storefront domain (
Example: Ensures each storefront resolves to the correct ingress/gateway route. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/allowedHost |
Mandatory | Whitelist must include the CRS hostname in addition to React storefront and
tooling hostnames. Example:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/allowedDomain |
Mandatory | Ensure the external domain covers both www- and store- hostnames. Example:
|
Logging and health configuration
| Vault path | Requirement | Description |
|---|---|---|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/enableJsonLogging |
Mandatory | Enable JSON logging. Accepted values are
The default value is false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/jdbcMonitorEnable/ts-app |
Optional | Specify whether to enable the JDBC monitor. Accepted
values are:
The default value is false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/healthCenterEnable/ts-app |
Optional | Specify a value if you want to enable Health Center. Accepted values are:
false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/healthCenterEnable/xc-app |
Optional | Specify a value if you want to enable Health
Center. Accepted values are:
false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/healthCenterEnable/cache-app
|
Optional | Specify a value if you want to enable Health Center. Accepted values are:
false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/healthCenterEnable/search-query-app |
Optional | Specify a value if you want to enable Health Center. Accepted values are:
false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/healthCenterEnable/search-ingest-app |
Optional | Specify a value if you want to enable Health Center. Accepted values are:
false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/traceSpecification/ts-app |
Optional | If you want to change the trace specification for the Transaction server, specify a value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/traceFileMaximumNumber/ts-app |
Optional | The size of the trace log file, in MB. The accepted value is an integer in the range from 1 to 20000 (20,000). By default this value is set to 20. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/traceFileMaximumSize/ts-app |
Optional | The maximum number of historical trace files. The accepted range is from 1 to 50. By default this value is set to 5. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/traceSpecification/xc-app |
Optional | If you want to change the trace specification for the Customization server, specify a value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/traceSpecification/search-ingest-app |
Optional | If you want to change the trace specification for the Ingest server, specify a value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/traceSpecification/search-query-app |
Optional | If you want to change the trace specification for the Query server, specify a value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/traceSpecification/cache-manager |
Optional | If you want to change the trace specification for the Cache Manager application, specify a value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/traceSpecification/nextjs-app |
Optional | Defines which API methods are logged. Functions can be filtered using a
comma-separated
list. This
specification will display the log messages from the findProducts
and the getV2CategoryResources functions only.By default,
this value is left empty. This implies that all functions are
logged. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/threadMonitorEnable/ts-app |
Optional | Specify a value if you want to enable Thread
Monitor. Accepted values are:
false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/threadMonitorEnable/xc-app |
Optional | Specify a value if you want to enable Thread Monitor. Accepted values are:
false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/threadMonitorEnable/search-ingest-app |
Optional | Specify a value if you want to enable Thread Monitor. Accepted values are:
false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/threadMonitorEnable/search-query-app |
Optional | Specify a value if you want to enable Thread Monitor. Accepted values are:
false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/threadMonitorEnable/cache-app |
Optional | Specify a value if you want to enable Thread Monitor. Accepted values are:
false. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/traceSpecification/search-app |
Optional | If you want to change the trace specification for the Search server, specify a value. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/traceSpecification/orchestration-app |
Optional | Set trace specification for the Solr orchestration-app server. |
|
|
Optional | Set trace specification for the CRS (Aurora) application server. |
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/healthCenterEnable/search-app |
Optional | Specify a value if you want to enable Health Center. Accepted values are:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/healthCenterEnable/orchestration-app |
Optional | Specify whether to enable Health Center for the Solr orchestration
application. Accepted values are:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/healthCenterEnable/crs-app |
Optional | Specify whether to enable Health Center for the CRS (Aurora)
application. Accepted values are:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/threadMonitorEnable/search-app |
Optional | Specify whether to enable the Thread Monitor for the Solr search
application. Accepted values are:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/threadMonitorEnable/orchestration-app |
Optional | Specify whether to enable the Thread Monitor for the Solr orchestration
application. Accepted values are:
|
${VAULT_URL}/${TENANT}/${ENVIRONMENT}/${ENVTYPE}/threadMonitorEnable/crs-app |
Optional | Specify a value if you want to enable Thread
Monitor. Accepted values are:
false. |


