Environment data in Vault

Vault is supported for storing sensitive key-value pairs for Docker configuration. If you want to use this method of environment configuration, set CONFIGURE_MODE to Vault. With this setting, startup scripts fetch environment-related data from Vault when you start a Docker container.

You can have a Vault Tenant to represent your company (For example, MyCompany), EnvironmentName (For example, Non-production), and EnvironmentType (For example, auth).
HCL Commerce Version 9.1.9.0 or laterNote: Consul and all related configurations were removed from HCL Commerce 9.1.9.0 and greater. The filename of the provided Vault Helm Chart, however, remains the same.

Storing key-value pairs in Vault

To set up Vault, see the Vault website. When you have a Vault ready for use, you can complete the following steps to store and retrieve key-value pairs.
  1. Create a mount point based on the {Tenant}.
    For example,
    init_json='json_data={"type":"generic","description":"description","config":{"max_lease_ttl":"876000"}}'
    header="X-Vault-Token:vaultToken"
    curl -X POST -H $header -H "Content-Type:application/json" -d '{"type":"generic","description":"description","config":{"max_lease_ttl":"876000"}}' http://vaultIP:vaultPort/v1/sys/mounts/tenant
  2. Store key-value pair data by using the following command.
    curl -X POST -H "X-Vault-Token:vaultToken" -d '{"value":"value"}' http://vaultIP:vaultPort/v1/tenant/environmentName/enviromentType/targetKey
    For example, to store the value "mall" for a key name "dbName" under path MyCompany/Non-production/auth/dbName:
    curl -X POST -H "X-Vault-Token:7f47efbb-b162-619b-0ced-448079d91b77" -d '{"value":"mall"}' http://myhostname.com:8200/v1/MyCompany/Non-production/auth/dbName

Retrieving key-value pairs in Vault

Retrieve key-value pair data by using the following command.
curl -X GET -H "X-Vault-Token:vaultToken" http://VaultIP:VaultPort/v1/tenant/environmentName/enviromentType/targetKey | jq -r .data.value

Key-value data structure in Consul/Vault

The following tables list all of the default key-value paths on Consul/Vault.

The default EnvType values are auth and live. The only exception is the additional EnvType named data for the search-query-app application.

You can add your key-value paths based on your business requirements and define custom logic to fetch them.

The structure of the HCL Commerce deployment key-value pair reference is broken down into the following sections by function, and ordered by release level:
Name, port, security scheme, and certificate configurations
KeyPath Mandatory/Optional Sample value Comments
Tenant/EnvName/domainName Optional default.svc.cluster.local If no value is specified, then the default default.svc.cluster.local is used.
Tenant/EnvName/externalDomainName Optional mycompany.com 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.

Tenant/EnvName/zookeeperHost Mandatory Specify a value if you want to set a zookeeperHost value, instead of using the default value.
Tenant/EnvName/zookeeperPort Optional Specify a value if you want to set a zookeeperPort value, instead of using the default value.
Tenant/EnvName/zookeeperScheme Optional Specify a value if you want to set a zookeeperScheme value, instead of using the default value.
HCL Commerce Version 9.1.2.0 or laterTenant/EnvName/redisHost Mandatory Specify the Redis hostname that NiFi will connect to for event messages.
HCL Commerce Version 9.1.2.0 or laterTenant/EnvName/redisPort Optional Specify the Redis host port number that NiFi will connect to for event messages.
Tenant/EnvName/kafkaServers Optional Specify a value if you want to enable ZooKeeper and Kafka.
The format for this key-value pair is as follows:
"kafkaServers": server1:port1,server1:port2
Tenant/EnvName/zooKeeperServers Optional Specify a value if you want to enable ZooKeeper and Kafka.
The format for this key-value pair is as follows:
"zooKeeperServers": server1:port1,server2:port2
Tenant/EnvName/EnvType/txnPort Optional Specify a value if you want to set txnPort, instead of using the default value.
Tenant/EnvName/EnvType/txHost Optional Specify a value if you want to set txHost, instead of using the default value.
Tenant/EnvName/EnvType/txPort Optional Specify a value if you want to set txPort, instead of using the default value.
Tenant/EnvName/EnvType/xcHost Optional Specify a value if you want to set xcHost, instead of using the default value.
Tenant/EnvName/EnvType/xcPort Optional Specify a value if you want to set xcPort, instead of using the default value.
Tenant/EnvName/EnvType/storeHost Optional Specify a value if you want to set storeHost, instead of using the default value.
Tenant/EnvName/EnvType/storePort Optional Specify a value if you want to set storePort, instead of using the default value.
Tenant/EnvName/EnvType/storeWebHost Optional Specify a value if you want to set storeWebHost, instead of using the default value.
Tenant/EnvName/EnvType/storeWebPort Optional Specify a value if you want to set storeWebPort, instead of using the default value.
Tenant/EnvName/EnvType/reactStoreHost Optional Specify a value if you want to set reactStoreHost, instead of using the default value.
Tenant/EnvName/EnvType/reactStorePort Optional Specify a value if you want to set reactStorePort, instead of using the default value.
Tenant/EnvName/EnvType/reactStoreServiceHost Optional Specify a value if you want to set reactStoreServiceHost, instead of using the default value.
Tenant/EnvName/EnvType/reactStoreServicePort Optional Specify a value if you want to set reactStoreServicePort, instead of using the default value.
Tenant/EnvName/EnvType/crs-sslport Optional Specify if you want to set the store access security port to SSLPort.
Tenant/EnvName/EnvType/crs-nonsslport Optional Specify if you want to set the store access non-security port to NONSSLPort.
Tenant/EnvName/EnvType/searchPort Optional Specify a value if you want to set searchPort, instead of using the default value.
Tenant/EnvName/EnvType/searchScheme Optional Specify a value if you want to set searchScheme, instead of using the default value.
Tenant/EnvName/EnvType/searchMasterHost Optional Specify a value if you want to set searchMasterHost, instead of using the default value.
Tenant/EnvName/EnvType/searchSlaveHost Optional Specify a value if you want to set searchSlaveHost, instead of using the default value.
Tenant/EnvName/EnvType/searchRepeaterHost Optional Specify a value if you want to set searchRepeaterHost, instead of using the default value.
Tenant/EnvName/searchPort Optional Specify a value if you want to set searchPort, instead of using the default value.
Tenant/EnvName/searchMasterHost Optional Specify a value if you want to set searchMasterHost, instead of using the default value.
Tenant/EnvName/searchSlaveHost Optional Specify a value if you want to set searchSlaveHost, instead of using the default value.
Tenant/EnvName/searchRepeaterHost Optional Specify a value if you want to set searchRepeaterHost, instead of using the default value.
HCL Commerce Version 9.1.12.0 or laterTenant/EnvName/EnvType/queryHost Optional Specify a value if you want to set queryHost, instead of using the default value.
HCL Commerce Version 9.1.12.0 or laterTenant/EnvName/EnvType/queryPort Optional Specify a value if you want to set queryPort, instead of using the default value.
Tenant/EnvName/nifiHost Optional Specify a value if you want to set a nifiHost value, instead of using the default value.
Tenant/EnvName/nifiPort Optional Specify a value if you want to set a nifiPort value, instead of using the default value.
Tenant/EnvName/nifiScheme Optional Specify a value if you want to set a nifiScheme value, instead of using the default value.
Tenant/EnvName/nifiWebHttpPort Optional Specify a value if you want to set a nifiWebHttpPort value, instead of using the default value.
Tenant/EnvName/registryHost Optional Specify a value if you want to set a registryHost value, instead of using the default value.
Tenant/EnvName/registryPort Optional Specify a value if you want to set a registryPort value, instead of using the default value.
Tenant/EnvName/registryScheme Optional Specify a value if you want to set a registryScheme value, instead of using the default value.
Tenant/EnvName/queryHost Optional

Removed in 9.1.12.0+

Specify a value if you want to set a queryHost value, instead of using the default value.
Note: This keypair was replaced by quereyHost in all releases HCL Commerce 9.1.12.0 and greater.
Tenant/EnvName/queryPort Optional

Removed in 9.1.12.0+

Specify a value if you want to set a queryPort value, instead of using the default value.
Note: This keypair was replaced by quereyPort in all releases HCL Commerce 9.1.12.0 and greater.
Tenant/EnvName/queryScheme Optional Specify a value if you want to set a queryScheme value, instead of using the default value.
Tenant/EnvName/ingestHost Optional Specify a value if you want to set an ingestHost value, instead of using the default value.
Tenant/EnvName/ingestPort Optional Specify a value if you want to set an ingestPort value, instead of using the default value.
Tenant/EnvName/ingestScheme Optional Specify a value if you want to set an ingestScheme value, instead of using the default value.
Tenant/EnvName/elasticSearchHost Mandatory Specify a value if you want to set an elasticSearchHost value, instead of using the default value.
Tenant/EnvName/elasticSearchPort Optional Specify a value if you want to set an elasticSearchPort value, instead of using the default value.
Tenant/EnvName/elasticSearchScheme Optional Specify a value if you want to set an elasticSearchScheme value, instead of using the default value.
Tenant/EnvName/EnvType/toolingBaseUrl Optional https://tooling-web-host:port/path-to-tooling-spa This value is used by Management Center to load tooling single page application (SPA) from the tooling web server.
HCL Commerce Version 9.1.3.0 or laterNote: If you are using the Sapphire B2B headless store and need to launch the tooling in-store for approval, it is required to set up ingress so that the tooling web server can be hit through the store domain. For example, www.mycompany.com/tooling.

Once ingress is enabled, you must configure this toolingBaseUrl to use the store domain.

Tenant/EnvName/certs/CertName Optional demo2/qa/certs/demo2qa-test={‘certificate’: ‘asdfadsfadsfads’, ‘destination_host’: ‘adsfadsf’, ‘issuing_ca’: ‘fadsfadsfads’, ‘keystorepass’: ‘adsfadsfads’, ‘private_key’: ‘adsfadsfasd’} You can add third-party certificate records.
Database configurations
KeyPath Mandatory/Optional Sample value Comments
Tenant/EnvName/EnvType/jdbcUrl Optional If you want to change the database connection URL, specify a value.
Tenant/EnvName/EnvType/jdbcDriver Optional If you want to change the database driver location in Nifi, specify a value.
Tenant/EnvName/EnvType/dbType Mandatory The database type.
Accepted values are:
  • db2 for IBM Db2 Database.
  • oracle for Oracle Database.
Tenant/EnvName/EnvType/dbSSLEnable Optional false Specify whether the database connection uses SSL.
Accepted values are:
  • true for an SSL connection.
  • false for an unencrypted connection.
The default value is false.
Tenant/EnvName/EnvType/dbHost Mandatory The database host name for the environment.
Tenant/EnvName/EnvType/dbName Mandatory The database name.
Tenant/EnvName/EnvType/dbPort Mandatory The database port number.
Tenant/EnvName/EnvType/dbUser Mandatory The HCL Commerce database user name.
Tenant/EnvName/EnvType/dbPassword Mandatory The HCL Commerce database user password.
Tenant/EnvName/EnvType/dbPassEncrypt Mandatory The encrypted HCL Commerce database user password.
Tenant/EnvName/EnvType/dbaUser Mandatory The database administrator user name.
Tenant/EnvName/EnvType/dbaPassEncrypt Mandatory The encrypted database administrator user password.
Tenant/EnvName/EnvType/spiUserName Mandatory The spiuser user name.
Tenant/EnvName/EnvType/spiUserPwd Mandatory The ASCII encrypted spiuser user password.
Tenant/EnvName/EnvType/adminSpiUserPwd Mandatory The plain text spiuser user password.
Tenant/EnvName/EnvType/dbXA Optional boolean
Tenant/EnvName/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 HCL 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 HCL Commerce installation. Do not use the default values contained within the provided sample configuration files and documentation examples.
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/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.
HCL Commerce Version 9.1.12.0 or laterTooling configuration
KeyPath Mandatory/Optional Sample value Value description
HCL Commerce Version 9.1.12.0 or laterTenant/EnvName/allowTelemetry Mandatory yes, or no
Accepted values are:
  • yes, to enable Google Analytics.
  • no, to disable Google Analytics.

The default value is yes.

If enabled, the deploymentType parameter is required to be specified.

HCL Commerce Version 9.1.12.0 or laterTenant/EnvName/deploymentType Mandatory development, staging, or production 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:
  • development,
  • staging,
  • production.
Trace specification
KeyPath Mandatory/Optional Sample value Comments
Tenant/EnvName/EnvType/traceSpecification/ts-app Optional If you want to change the trace specification for the Transaction server, specify a value.
Tenant/EnvName/EnvType/traceSpecification/search-app Optional If you want to change the trace specification for the Search server, specify a value.
Tenant/EnvName/EnvType/traceSpecification/crs-app Optional If you want to change the trace specification for the Store server, specify a value.
Tenant/EnvName/EnvType/traceSpecification/xc-app Optional If you want to change the trace specification for the Customization server, specify a value.
Tenant/EnvName/EnvType/traceSpecification/search-ingest-app Optional If you want to change the trace specification for the Ingest server, specify a value.
Tenant/EnvName/EnvType/traceSpecification/search-query-app Optional If you want to change the trace specification for the Query server, specify a value.
HCL Commerce Version 9.1.4.0 or laterTenant/EnvName/EnvType/traceSpecification/cache-manager Optional If you want to change the trace specification for the Cache Manager application, specify a value.
HCL Commerce Version 9.1.7.0 or laterTenant/EnvName/EnvType/traceSpecification/must-gather-app Optional If you want to change the trace specification for the Must-Gather application, specify a value.
Integration, and other miscellaneous configurations
KeyPath Mandatory/Optional Sample value Comments
Tenant/EnvName/EnvType/jvmContainerSupport Optional
Tenant/EnvName/EnvType/redisPasswordEncrypt Optional
Tenant/EnvName/EnvType/kafkaTopicPrefix Optional ${TENANT}${ENVIRONMENT}${ENVTYPE} Specify a value if you want to config ZooKeeper and Kafka. If no value is specified, the following default value is applied: ${TENANT}${ENVIRONMENT}${ENVTYPE}
Tenant/EnvName/EnvType/healthCenterEnable Optional boolean Specify a value if you want to enable Health Center.
Accepted values are:
  • true for enabling Health Center.
  • false for not enabling Heather Center.
HCL Commerce Version 9.1.12.0 or laterTenant/EnvName/EnvType/ssoEnable Optional boolean Specify whether to enable or disable single sign-on (SSO).
Accepted values are:
  • true for enabling SSO.
  • false for disabling SSO.

The default value is false.

For more information, see Enabling single sign-on.

HCL Commerce Version 9.1.12.0 or laterTenant/EnvName/EnvType/ssoDomain Optional (Mandatory if ssoEnable is set to true.) Specify the domain name that contains a set of hosts to which SSO applies.
Accepted values are:
  • true for enabling SSO.
  • false for disabling SSO.

The default value is false.

This key value is required to be defined if ssoEnable is set to true.

For more information, see Enabling single sign-on.

HCL Commerce Version 9.1.12.0 or laterTenant/EnvName/EnvType/ssoSSL Optional (Mandatory if ssoEnable is set to true.) boolean Specify whether an SSL connection is used for SSO requests.
Accepted values are:
  • true for enabling SSL for SSO requests.
  • false for disabling SSL for SSO requests.

This key value is required to be defined if ssoEnable is set to true.

For more information, see Enabling single sign-on.

HCL Commerce Version 9.1.12.0 or laterTenant/EnvName/EnvType/ssoKeepAliveSession Optional boolean Specify whether to enable or disable the single sign-on (SSO) keepAliveSession feature on the Transaction server.
Accepted values are:
  • true for enabling the keepAliveSession parameter.
  • false for disabling the keepAliveSession parameter.

The default value is false.

For more information, see Enabling single sign-on.

HCL Commerce Version 9.1.4.0 or laterHCL Digital Experience integration
KeyPath Mandatory/Optional Sample value Comments
HCL Commerce Version 9.1.4.0 or laterTenant/EnvName/EnvTame/dxHost Optional The hostnames for either the auth or live instances of HCL Digital Experience (DX). This is required to integrate HCL Commerce with DX.
Note:
  • This integration is only supported on a Kubernetes deployment.
  • If you have followed the instructions to pass in the HCL Commerce store domain name for the Host Override value when deploying DX, then HCL Digital Experience will share the same domain name as the HCL Commerce store.
HCL Commerce Version 9.1.4.0 or laterTenant/EnvName/EnvType/dxPort Optional 443 The port number for the HCL Digital Experience (DX) auth or live instance. The default value is set to 443 if the DX hostname has been set and there is no custom value specified.
HCL Commerce Version 9.1.4.0 or laterTenant/EnvName/EnvType/dxScheme Optional https | http The scheme for the HCL Digital Experience (DX) auth or live instance. The default value is set to https if the DX hostname has been set and there is no custom value specified.
HCL Commerce Version 9.1.7.0 or laterMust-Gather logging
KeyPath Mandatory/Optional Sample value Comments
HCL Commerce Version 9.1.7.0 or laterTenant/EnvName/logElasticSearchHost Mandatory The Elasticsearch log host name used by Must-Gather.
HCL Commerce Version 9.1.7.0 or laterTenant/EnvName/logElasticSearchPort Mandatory The Elasticsearch log port number used by Must-Gather.
HCL Commerce Version 9.1.7.0 or laterTenant/EnvName/maxDocsPerService Optional The maximum number of documents to retrieve from the Elasticsearch log.
HCL Commerce Version 9.1.9.0 or laterLDAP integration
KeyPath Mandatory/Optional Sample value Comments
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapBindPassword Mandatory The LDAP bind password XOR encoded by the WebSphere Application Server V8.5.5 Liberty securityUtility utility.
For example:
securityUtility encode --encoding=xor passw0rd

For more information on the securityUtility utility, see securityUtility command in the WebSphere Application Server V8.5.5 Liberty documentation.

HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapType Mandatory The LDAP server type.
Accepted values are:
  • IDS for IBM Directory Server
  • DOMINO for IBM Lotus Domino
  • SUNONE for Sun Java System Directory Server
  • AD for Microsoft Windows Active Directory
  • NDS for Novell Directory Services
  • CUSTOM for a custom directory server
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapHost Mandatory The fully qualified LDAP server host name.
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapPort Mandatory The LDAP server port number.
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapSSL Mandatory boolean Specify whether the LDAP server requires an SSL connection.
Accepted values are:
  • true for SSL.
  • false for no SSL.
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapBindDN Mandatory The LDAP bind distinguished name (DN). The value must be in lower case.
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapLoginProp Mandatory The LDAP property names that are used to log into the application server.
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapBaseDN Mandatory The LDAP search base distinguished name (DN). The value must be in lower case.
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapRealmName Optional Specify a value for the Realm name, instead of using the default value.

The default value is myrealm.

Note: If you are integrating with HCL Digital Experience, you must use the same Realm name for both.
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapUserFilter Optional The LDAP user search filter. Only used for the custom LDAP type.
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapUserPrefix Mandatory The LDAP user prefix.
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapRootOrgDN Mandatory The full distinguished name (DN) that maps to the HCL Commerce root organization. The value must be in lower case.
HCL Commerce Version 9.1.9.0 or laterTenant/EnvName/EnvType/ldapDefaultOrgDN Mandatory The full distinguished name (DN) that maps to the HCL Commerce default organization. The value must be in lower case.
HCL Commerce Version 9.1.10.0 or laterIBM MQ integration
KeyPath Mandatory/Optional Sample value Comments
HCL Commerce Version 9.1.10.0 or laterTenant/EnvName/EnvType/mqEnable Mandatory Specify whether to enable IBM MQ integration.
Accepted values are:
  • true for IBM MQ integration.
  • false for no IBM MQ integration.
HCL Commerce Version 9.1.10.0 or laterTenant/EnvName/EnvType/mqEnableActivitySessionTimoutPeriod Mandatory The session timeout value.
HCL Commerce Version 9.1.10.0 or laterTenant/EnvName/EnvType/mqMaxConnection Mandatory The maximum number of connections allowed with IBM MQ.
HCL Commerce Version 9.1.10.0 or laterTenant/EnvName/EnvType/mqHost Mandatory The hostname of the IBM MQ server.
HCL Commerce Version 9.1.10.0 or laterTenant/EnvName/EnvType/mqPort Mandatory The port number of the IBM MQ server.
HCL Commerce Version 9.1.10.0 or laterTenant/EnvName/EnvType/mqQueueManagerName Mandatory The IBM MQ Queue Manager used by HCL Commerce to connect to the IBM MQ server.
HCL Commerce Version 9.1.10.0 or laterTenant/EnvName/EnvType/mqErrorQueueName Mandatory The IBM MQ Error Queue Name.
HCL Commerce Version 9.1.10.0 or laterTenant/EnvName/EnvType/mqInboundQueueName Mandatory The IBM MQ Queue Name.
HCL Commerce Version 9.1.10.0 or laterTenant/EnvName/EnvType/mqSerialInboundQueueName Mandatory The IBM MQ Queue Name to process messages in series.
HCL Commerce Version 9.1.10.0 or laterTenant/EnvName/EnvType/mqParallelInboundQueueName Mandatory The IBM MQ Queue Name to process messages in parallel.
HCL Commerce Version 9.1.10.0 or laterTenant/EnvName/EnvType/mqOutboundQueueName Mandatory The IBM MQ Outbound Queue Name.