Deploying or Upgrading UI and Branding
Kubernetes Resource Requirements
Container | CPU cores | RAM in GiB |
---|---|---|
ui | 2.0 | 4.0 |
httpd | 0.5 | 2.0 |
hcl | 0.5 | 1.0 |
Persistent Storage Requirements
0.375 GiB
Dependencies
The UI and Branding component must be installed together with other core components:
-
OSS 21.10 or later
-
BSS 21.10 or later
-
Payment Management 21.10 or later
How to Deploy UI and Branding
To deploy UI and Branding:
- Ensure the prerequisites above.
- Follow the common CloudBlue Commerce component deployment procedure using the UI and Branding deployment parameters below in the config.yaml.
How to Upgrade UI and Branding
To update UI and Branding, follow the common CloudBlue Commerce component update procedure using the UI and Branding deployment parameters below in the config.yaml.
UI and Branding Deployment Parameters
When installing or updating UI and Branding, use the parameters below in the config.yaml.
Component Name
branding-ui-cluster
Specific Parameters
Parameter | Default value | Description |
---|---|---|
defaultBrand | Default brand name | |
db.secret | oss-db | K8s secret that contains credentials of OSS DB |
oss.secret | oss-secret | K8s secret that contains OSS API credentials |
oss.host | oss-proxy | OSS hostname |
hcl.replicaCount | 1 |
Number of HCL deployment replicas Note: HCL is one of the UI and Branding subcomponents responsible for HCL command distribution to UI pods. |
hcl.resources.requests.cpu | 500m | Minimum number of CPU for HCL pod |
hcl.resources.requests.memory | 512Mi | Minimum number of memory for HCL pod |
hcl.resources.limits.cpu | 2 | Maximum number of CPU for HCL pod |
hcl.resources.limits.memory | 1024Mi | Maximum number of memory for HCL pod |
hcl.persistence.storageClass | default | K8s storage class with access mode ReadWriteOnce. This storage class will be used to create a volume for storing a message queue for messages containing HCL commands that must be executed on UI pods. |
hcl.persistence.volumeSize | 128Mi | The size of the volume for storing a message queue for messages containing HCL commands that must be executed on UI pods. |
hcl.user | hcl | Any username which will be used for authentication to the HCL pod which serves as a gateway for HCL commands which are sent from the OSS pod to the HCL pod (located in the UI and Branding cluster) |
hcl.password | Any password which will be used for authentication to the HCL pod which serves as a gateway for HCL commands which are sent from the OSS pod to the HCL pod (located in the UI and Branding cluster) | |
ui.replicaCount | 1 | Number of UI deployment replicas |
ui.resources.requests.cpu | 500m | Minimum number of CPUs per UI pod |
ui.resources.requests.memory | 1Gi | Minimum memory size per UI pod |
ui.resources.limits.cpu | 4 | Maximum number of CPUs per UI pod |
ui.resources.limits.memory | 4Gi | Maximum memory size per UI pod |
ui.persistence.storageClass | azurefile | K8s storage class with access mode ReadWriteMany. This storage class will be used to create a volume for storing brand configuration files |
ui.persistence.volumeSize | 256Mi | The size of the volume for storing brand configuration files |
ui.httpd.defaultProxyTimeout | 300 | The default proxy timeout in seconds for requests that pass through a brand domain |
ui.httpd.resources.requests.cpu | 250m | Minimum number of CPUs per HTTPD pod |
ui.httpd.resources.requests.memory | 512Mi | Minimum memory size per HTTPD pod |
ui.httpd.resources.limits.cpu | 2 | Maximum number of CPUs per HTTPD pod |
ui.httpd.resources.limits.memory | 3Gi | Maximum memory size per HTTPD pod |
api.enabled api.type
|
false LoadBalancer |
This parameter must be disabled. |
Sample config.yaml
Default config.yaml:
--- components: branding-ui-cluster: {}

--- components: branding-ui-cluster: defaultBrand: brand.com hcl: replicaCount: 1 resources: requests: cpu: "500m" memory: "512Mi" limits: cpu: "2" memory: "1024Mi" persistence: storageClass: default volumeSize: 128Mi user: hcl password: hclpassword javaopts: -XX:InitialRAMPercentage=30.0 -XX:MaxRAMPercentage=70.0 -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true ui: replicaCount: 2 service: local: type: LoadBalancer annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true" external: sessionAffinity: ClientIP sessionAffinityConfig: clientIP: timeoutSeconds: 3600 type: LoadBalancer annotations: {} resources: requests: cpu: "500m" memory: "1Gi" limits: cpu: "4" memory: "4Gi" persistence: storageClass: azurefile volumeSize: 256Mi javaopts: -XX:MetaspaceSize=96m -XX:MaxMetaspaceSize=768m -XX:InitialRAMPercentage=30.0 -XX:MaxRAMPercentage=70.0 -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true httpd: defaultProxyTimeout: "300" resources: requests: cpu: "250m" memory: "512Mi" limits: cpu: "2" memory: "3Gi" db: secret: oss-db oss: secret: oss-secret host: oss-proxy replicaHost: oss-proxy
How to Obtain the Current config.yaml from CloudBlue Commerce
When updating CloudBlue Commerce components, you may need to obtain the current config.yaml.
To obtain the current config.yaml from CloudBlue Commerce, on a machine with kubectl, execute the following request:
kubectl -n NAMESPACE get secret config-yaml-backup -o "jsonpath={.data['config\.yaml']}" | base64 -d
Note: NAMESPACE is the namespace of your CloudBlue Commerce installation.
To find it, execute the following command:
kubectl describe svc oss-proxy | grep namespace
How to View the Deployment Parameters with Default Values for the Component Version You Want to Install (values.yaml)
To view the deployment parameters with default values (values.yaml) for the component version you want to install, run the following command from the machine with kubectl:
helm show values <component_name_for_config.yaml> --version <component_version> --username <username_for_deployment_repository> --password <username_for_deployment_repository> --repo <a_link_to_repository_with_CloudBlue Commerce_components>
For username and password to the deployment repository, please contact your Technical Account Manager.