Commerce+ Helm chart reference
The following complete reference details the provided hcl-commerce-helmchart Helm chart, and the various configuration options that are available for deploying Commerce+ on Kubernetes.
It is strongly recommended to not modify the default values.yaml configuration file for your deployment. Instead, create a copy to use as your customized values file, for example, my-values.yaml. This will allow you to maintain your customized values for future deployments and upgrades.
The hcl-commerce-helmchart Helm chart parameters and their default values
The following sections break down the list of Helm Chart parameters into sections for organizational purposes only. For a more detailed breakdown and description of the Commerce+ features that they correspond or overlap with, see Required Helm Chart configuration for Commerce+.
- Base deployment configuration
- Gateway Configuration
- Search configuration
- Persistent volume for the Assets Tool
| Parameter | Description | Default value |
|---|---|---|
| license | The Commerce+ license. You must accept the license before you can deploy Commerce+. To view the license, browse all of the files under the LICENSES directory. To accept the license, set license to accept. |
not_accepted |
| common.timezone |
The timezone is in IANA TZ format. For example, America/Toronto. This parameter can also be set in all Commerce+ containers as an environment variable, TZ. If this value is not set, or empty, GMT will be used in all containers by default. Warning: Changing the time
zone will have impacts on Commerce+ business
logic, such as marketing web activities and promotion start
and end dates and times. The values that are set for these
site behaviors will not automatically adjust based on this
timezone setting. It is recommended to keep this value empty
if your site is already being used in a live production
environment.
|
nil |
| common.tenant | The tenant name. The common.tenant value can be your organization name. You can have multiple environments under the same tenant. |
demo |
| common.environmentName | The environment name. The common.environmentName is the name
of the environment. Some examples of environment name are
|
qa |
| common.environmentType | The environment type. Accepted values are:
The common.environmentType is the
specific environment type. For each environment, an environment type must be
specified:
To deploy all Commerce+ instances using a single Helm chart, multiple environment types can be specified as comma-separated-values such as auth, live, share. |
auth |
| common.vaultTokenSecret | The Kubernetes secret object for vault token. | vault-token-secret |
| common.dbType | The database type. Accepted values are:
|
postgres |
| common.imageRepo | The Docker image Registry. | my-docker-registry.io:5000/ |
| common.spiUserName | The spiuser user name. For more information, see Configuring the spiuser password for Commerce+ Kubernetes Deployment. |
spiuser |
| common.spiUserPwdAes | The spiuser user password, encrypted with
AES by the wcs_encrypt utility. The default
plain text password is : You can use the default key to match the sample
postgres database Docker container.
For more information, see Configuring the spiuser password for Commerce+ Kubernetes Deployment. |
nil |
| common.spiUserPwdBase64 | The Base64 encoded value for
spiuser:password. The
default plain text password is:
This value can be obtained by piping the values through the
Base64 system utility: |
nil |
| common.vaultUrl | The Vault v1 API URL. | http://vault-.vault.svc.cluster.local:8200/v1Note: This value assumes that
hcl-commerce-vault-helmchart was
used to deploy Vault into the vault
namespace. |
| common.externalDomain | The external domain use to specify the service external domain name. | .mycompany.com |
| common.bindingConfigMap | The name of the ConfigMap that is to be mounted into each container to expose environment variables. Leave this value blank if you are not using a ConfigMap to pass configuration to each application. | nil |
| common.configureMode | The default container configuration mode. Accepted values
are:
|
Vault |
| common.imagePullSecrets |
For example:
|
nil |
| common.imagePullPolicy | The image pull policy. Accepted values are:
|
IfNotPresent |
| common.ipv6Enabled |
The parameter to enable IPV6. When disabled, Commerce+ applications adds the
Accepted values are |
false |
| vaultCA.enabled | The parameter to enable Vault Certificate Authority (CA) configuration mode. | true |
| hclCache.configMap | The ConfigMap that is used for HCL Cache definition. | See the values.yaml file for the default configuration. |
| commercenfs | Non-production usage only to support RWX storage. Recommend to deploy separately in order to persist data when uninstalling the Commerce+ PBC Helm Chart. For more details, see nfs-server-provisioner. | |
| metrics.enabled | The parameter to enable metrics for Commerce+. | true |
| metrics.serviceMonitor.enabled | The parameter to enable service monitor for Commerce+. | false |
| metrics.serviceMonitor.interval | The interval, in seconds, to allow Prometheus to query Commerce+ for service monitoring. | 15s |
| metrics.serviceMonitor.selector.prometheus | The labels for Prometheus to match for service monitoring. | kube-prometheus |
| tsPostgres | The details of the configuration for the tsPostgres deployment. | See the values.yaml file for the default configuration. |
| tsApp | The details of the configuration for the tsApp
deployment. |
See the values.yaml file for the default configuration. |
| tsWeb | The details of the configuration for the tsWeb
deployment. |
See the values.yaml file for the default configuration. |
| toolingWeb | The details of the configuration for the
toolingWeb deployment. |
See the values.yaml file for the default configuration. |
| storeWeb | The details of the configuration for the
storeWeb deployment. |
See the values.yaml file for the default configuration. |
| nextjsApp | The details of the configuration for the nextjsApp deployment. The Ruby storefront is a starter store based on the Next.js framework that enables React-based web applications with server-side rendering and generation of static websites. For more information, see Ruby storefronts. | See the values.yaml file for the default configuration. |
| xcApp | The details of the configuration for the xcApp
deployment. |
See the values.yaml file for the default configuration. |
| nifiApp | The details of the configuration for the nifiApp
deployment. |
See the values.yaml file for the default configuration. |
| registryApp | The details of the configuration for the
registryApp deployment. |
See the values.yaml file for the default configuration. |
| ingestApp | The details of the configuration for the
ingestApp deployment. |
See the values.yaml file for the default configuration. |
| queryApp | The details of the configuration for the
queryApp deployment. |
See the values.yaml file for the default configuration. |
| cacheApp | Configuration details for cache application deployment. | See the values.yaml file for the default configuration. |
| tsUtils | The details of the configuration for the tsUtils
deployment. |
See the values.yaml file for the default configuration. |
| supportC.image | The Support container Docker image to be used as the Helm initContainer, to control pre-install and post-delete processes. | commerce/supportcontainer |
| supportC.tag | The Support container Docker image tag. | 24.12.17.0 |
| test.image | The Test Docker image for Helm test. | docker.io/centos:latest |
| searchAppMaster | The details of the configuration for the
search-app-master deployment. |
See the values.yaml file for the default configuration. |
| searchAppSlave | The details of the configuration for the
search-app-slave deployment. |
See the values.yaml file for the default configuration. |
| searchAppRepeater | The details of the configuration for the
search-app-repeater deployment. |
See the values.yaml file for the default configuration. |
| orchestrationApp | The details of the configuration for the
orchestration-app deployment. |
See the values.yaml file for the default configuration. |
| mustgatherAppMaster | The details of the configuration for the
mustgather-app deployment. |
See the values.yaml file for the default configuration. |
| Parameter | Description | Default value |
|---|---|---|
| gateway.enabled | Enables the creation of Kubernetes Gateway API resources.
Accepted values are true to enable the gateway and
false to disable it. |
true |
| gateway.type | Specifies the gateway type. Supported value:
istio. |
istio |
| gateway.serviceAnnotations | Specifies the annotations to add to the Gateway resource. For the
default configuration, see the values.yaml
file. |
See the values.yaml file for the default configuration. |
| gateway.gatewayClass.name | Specifies the gatewayClassName for the Gateway
resource. Template expressions are supported. |
istio-{{ $.Values.common.tenant }}{{
$.Values.common.environmentName }} |
| gateway.gatewayClass.create | Specifies whether to create the GatewayClass resource as part of
the Helm release. Accepted values are true and
false. |
true |
| gateway.gatewayClass.controllerName | Specifies the controller name for the GatewayClass resource. | istio.io/gateway-controller |
| gateway.backendTLSCAConfigMap | Specifies the Kubernetes ConfigMap that contains the backend CA
certificate for the BackendTLSPolicy. If not specified, the default
ConfigMap vault-backend-ca-cm-{envType} is
used. |
nil |
| gateway.backendTLSCASecret | Specifies the Kubernetes Secret that contains the backend CA
certificate for the BackendTLSPolicy. If not specified, the default
secret vault-backend-ca-secret-{envType} is
used. |
nil |
| gateway.enableToolingForReactStore | Specifies whether the gateway allows the Sapphire store to launch
B2B tooling. Accepted values are true to enable and
false to disable. |
true |
| gateway.gatewaySecret.autoCreate | Specifies whether Helm automatically creates the gateway TLS
certificate secret during the pre-install phase. Accepted values are
true and false. |
true |
| gateway.gatewaySecret.replaceExist | Specifies whether an existing gateway TLS certificate secret is
replaced during deployment. Accepted values are
true and false. |
true |
| gateway.gatewaySecret.tlsSecret | Specifies a shared TLS secret for all gateway listeners. If not specified, component-specific TLS secrets or automatically generated secrets are used. | nil |
The following are all search-related configurations, excluding search server and ingress configurations.
| Parameter | Description | Default value |
|---|---|---|
| common.searchEngine | The Search solution. Accepted values are:
|
elastic |
| searchIndexCreation.enabled | The parameter to enable an Elastic-based search solution index build on
deployment. Accepted values are true to enable the index build job, or false to disable the index build job. |
See the values.yaml file for the default configuration. |
| searchIndexCreation.pushToLiveEnabled | The parameter to enable the push-to-live
index connector portion within the index build job. Accepted values are true to enable the push-to-live index connector, or false to disable the push-to-live index connector. |
See the values.yaml file for the default configuration. |
| searchIndexCreation.overalMaxDuration | The maximum duration, in seconds, for
the job to complete before it is canceled due to timeout. This value must take into account the number of stores that are indexed, the data set size, and the index build complexity of each store. If the value is not sufficiently set with a generous margin, then the job can be unintentionally canceled before it otherwise would have completed successfully. |
See the values.yaml file for the default configuration. |
| searchIndexCreation.indexMaxDuration | The maximum duration, in seconds, for each individual index run to be canceled before timeout. | See the values.yaml file for the default configuration. |
| searchIndexCreation.interval | The interval, in seconds, for the index build job to wait in between each readiness check for each required search component. | See the values.yaml file for the default configuration. |
| searchIndexCreation.maxRetry | The maximum number of retries for each index build run, in the event that the index build job fails. | See the values.yaml file for the default configuration. |
| searchIndexCreation.txnMaxDuration | The maximum time, in seconds, to wait for the Transaction server to be ready. | See the values.yaml file for the default configuration. |
| searchIndexCreation.nifiMaxDuration | The maximum time, in seconds, to wait for the NiFi application to be ready. | See the values.yaml file for the default configuration. |
| searchIndexCreation.ingestMaxDuration | The maximum time, in seconds, to wait for the ingest application to be ready. | See the values.yaml file for the default configuration. |
| searchIndexCreation.storeIds | A list of store IDs, separated by commas, to run the index builds against. | See the values.yaml file for the default configuration. |
| searchIndexCreation.calculatePriceEnabled | The parameter to enable price
calculation for B2B stores. Accepted values are true to enable price calculation, and false to disable price calculation. |
See the values.yaml file for the default configuration. |
| searchIndexCreation.calculatePriceStoreIds | A list of store IDs, separated by commas, to run price calculation against. | See the values.yaml file for the default configuration. |
| Parameter | Description | Default value |
|---|---|---|
| assetsPVC.enabled | Create a PersistentVolumeClaim (PVC) for the
Assets Tool.
|
false |
| assetsPVC.storageClass | The storage class name that is used by
the PVC for the Assets Tool. This resource provider must support the
ReadWriteMany access mode. |
This defaults to the default storage class for the cluster. |
| assetsPVC.storage | The storage size that is assigned to the persistent volume. | 5Gi |
| assetsPVC.accessMode | The access mode of the PVC. This is
required to be |
ReadWriteMany |
| assetsPVC.existingClaim.auth | If there is already an existing PVC for the Assets Tool in the authoring environment, you can assign it with this parameter. | nil |
| assetsPVC.existingClaim.live | If there is already an existing PVC for the Assets Tool in the live environment, you can assign it with this parameter. | nil |
For more details and keycloak configuration options see the values.yaml file.
| Parameter | Description | Default value |
|---|---|---|
| openTelemetry.javaAgentEnabled | Enable Open Telemetry Java Agent | true |
| openTelemetry.javaAgentJarVersion | Open Telemetry Java Agent version, the current version is 2.7.0. If you want to use a different version, use this configuration to specify the version. | nil |
| openTelemetry.javaAgentJarDownloadUrl | The url to be used to download OpenTelemetry Java Agent JAR.
This configuration is required when use the specified
openTelemetry.javaAgentJarVersion
|
|
| openTelemetry.exporterOtlpEndpointEnabled |
When there is no OTLP exporter endpoint, or when you do not want to configure or enable exporters, Set the value to false to disable exporters for telemetry data, and /SETUP/otel/otel_noexporters.properties will be used for the configuration. |
false |
| openTelemetry.configMap |
Configuration file name will be otel_config.properties and mounted to /SETUP/otel/config Leave any properties with variable substitutions untouched, and those will be set automatically. Some other optional environment variables that are already
defined in the templates
including
,
and you can add those based on your requirements. |
|
| openTelemetry.nextjsOtelEnabled |
|
True |