orderHub parameter
Use the orderHub parameter to define the configurations to run Order Hub
base and extension servers.
Each server can refer its own profile, environment variable group, affinityAndTolerations, and more.
The following .yaml file is a sample schema of
orderHub: image:
orderHub:
base:
tag: ""
# imageName: ""
# pullPolicy: ""
# repository: ""
extn:
tag: ""
# imageName: ""aa
# pullPolicy: ""
# repository: ""
orderHub:
bindingAppServerName: ""
# You can specify either bindingAppServerName or adminURL. Example: adminURL = https://db2-dev-test-omsapps.apps.os.cp.fyre.ibm.com
base:
replicaCount: ""
# affinityAndTolerations: ""
# envVars: ""
# livenessCheckBeginAfterSeconds: ""
# livenessFailRestartAfterMinutes: ""
# podLabels: ""
# profile: ""
# service:
# annotations: ""
# labels: ""
# terminationGracePeriodSeconds: ""
extn:
replicaCount: ""
# affinityAndTolerations: ""
# envVars: ""
# livenessCheckBeginAfterSeconds: ""
# livenessFailRestartAfterMinutes: ""
# podLabels: ""
# profile: ""
# service:
# annotations: ""
# labels: ""
# terminationGracePeriodSeconds: ""
# - host: ""
# className: ""
# annotations: ""
# labels: ""
# ssl:
# enabled: ""
# identitySecretName: ""
# oidc:
# enabled: false
# provider: " "
# discoveryurl: " "
# class: " "
# uniqueClaim: sub
# secondaryid: email
# logouturl: " "
# ingress:
# annotations: ""
# labels: ""
# customDomains:
# - host: ""
# className: ""
# annotations: ""
# labels: ""
# ssl:
# enabled: ""
# identitySecretName: ""
# exposure: {}
# horizontalPodAutoscaler: HPA1
# probeConfig: test
# topology: {}
- Ensure to configure the agent servers required by Order Hub. For more information, see Setting BUCAgentsServer, SBAMetricsServer in the Operator.
- Ensure to configure Order Hub properties for
image. For more information, see Configuring image parameter of orderHub.
The following table explains the attributes applicable for
orderHub spec of
OMEnvironment.
| Property | Default value | Value type | Required | Description |
|---|---|---|---|---|
bindingAppServerName |
string | Yes | Name of the appServer instance to which this orderHub instance will be bound
to. The application server with the provided name must exist in the OMEnvironment
custom resource. |
|
adminURL |
string | No | Specify smcfs or icc application server URL. You cannot pass both adminURL
and bindingAppServerName together. However, you must provide at least one of them
so that Order Hub knows where to establish the connection. |
|
ingress.annotations |
object | No | Specify any additional annotations for ingress or routes resource as key-value pair. | |
ingress.labels |
object | No | Specify any additional labels for ingress or routes resource as key-value pair. | |
ingress.host |
string | No | Specify the domain name to which the service is exposed to. | |
ingress.ssl |
object | No | Specify the ingress SSL configurations. | |
ingress.ssl.enabled |
boolean | Yes, when ingress.ssl is specified. |
Specify whether SSL is enabled for ingress or not. | |
ingress.className |
nginx |
string | No | Specify the ingress class name. |
ingress.customDomains |
array | No | Specify a list of custom domains with one or more Fully Qualified Domain Names (FQDNs) over which your application is exposed. For more information, see Creating multiple ingress hosts by using customDomains. | |
ingress.ssl.identitySecretName |
string | No | Specify the name of the secret holding TLS certificate to be used as identity for ingress or routes. The ingress or route URL will present this TLS certificate to the clients. | |
exposure.contextRoots |
array | No | Specify the context roots to expose. | |
exposure.customDomains |
array | No | Specify the list of custom domains with fully qualified domain names (FQDN) over which the service must be exposed. | |
exposure.customDomains[].annotations |
object | No | Specify any additional annotations as key value pairs. | |
exposure.customDomains[].labels |
object | No | Specify any additional labels as key value pairs. | |
exposure.customDomains[].host |
string | No | Specify the domain name to expose the service over. | |
exposure.customDomains[].ssl |
object | No | Specify the SSL configurations. | |
exposure.customDomains[].ssl.enabled |
bool | No | Enable or disable SSL. | |
exposure.customDomains[].ssl.identitySecretName |
string | No | Specify the name of the secret holding TLS certificate to be used as identity. | |
exposure.customDomains[].gateway |
object | No | Specify the gateway configurations similar to gateway. This is ignored in
Openshift. |
|
exposure.customDomains[].gateway.gatewayName |
string | Yes | Specify the name of the Gateway resource to attach the HTTPRoute to. | |
exposure.customDomains[].gateway.gatewayNamespace |
string | Yes | Specify the namespace of the Gateway. If omitted, the namespace of the resource will be used. | |
exposure.customDomains[].gateway.listenerName |
string | No | Specify the listener section on the Gateway to attach the HTTPRoute to. If not specified, the Gateway controller will choose the appropriate listener. | |
exposure.customDomains[].gateway.create |
object | No | Optionally instructs the operator to create the Gateway if it does not already exist. This should only be used in environments where the operator is allowed to manage infrastructure resources. | |
exposure.customDomains[].gateway.create.gatewayClassName |
string | Yes | Specify the GatewayClass used when creating the Gateway. | |
exposure.customDomains[].gateway.create.listeners |
array | Yes | Specify the listeners that will be configured on the Gateway. At least one listener must be specified when creating a Gateway. | |
exposure.customDomains[].gateway.create.listeners[].name |
string | Yes | Specify the name of the listener. This can be referenced by HTTPRoute parentRefs.sectionName. | |
exposure.customDomains[].gateway.create.listeners[].port |
int | No | Specify the network port exposed by this listener. | |
exposure.customDomains[].gateway.create.listeners[].protocol |
string | No | Specify the network protocol supported by the listener. Supported values include HTTP, HTTPS, TLS, TCP, and UDP. | |
base |
object | No | orderHub base server configuration. |
|
extn |
object | No | orderhub extension server configuration. |
|
horizontalPodAutoscaler |
string | No | Specify the name of the pre-defined Horizontal Pod Autoscaler that is to be used. For more information, see horizontalPodAutoscalers parameter. | |
topology |
array | No | Specify the names of the Topology Spread Constraints that are to be used for the order
service. For example, topology: [constraint1, constraint2]. |
|
probeConfig |
String | No | Specify the name of the probe configuration to use. |
The following table explains the attributes applicable for
orderHub
base and extn.
| Property | Default value | Value type | Required | Description |
|---|---|---|---|---|
replicaCount |
integer | Yes | Specify the number of instances to be deployed for this server. | |
affinityAndTolerations |
string | No | Use the name of the affinityAndTolerations from attribute
affinityAndTolerations[].name to be used by the server. |
|
envVars |
string | No | Use the name of envVars from attribute
serverProperties.envVars[].groupName or
serverProperties.envVars[].derivatives[].groupName. |
|
podLabels |
object | No | Specify additional pod labels as key-value pair. Note: These pod labels are also copied to
deployments.
|
|
profile |
string | No | Use the name of the profile from attribute serverProfiles[].name to be used
by the server. |
|
service.annotations |
object | No | Specify the additional annotations for service resource as key-value pair. | |
service.labels |
object | No | Specify the additional labels for service resource as key-value pair. | |
livenessCheckBeginAfterSeconds |
900 |
integer | No | Specify the approximate wait time in seconds to begin the liveness check. |
livenessFailRestartAfterMinutes |
10 |
integer | No | Specify the approximate time period in minutes after which the server restarts, if liveness check keeps failing for this period. |
terminationGracePeriodSeconds |
60 |
integer | No | Specify the time period in seconds allowed for the pod to terminate gracefully, after which the processes running in the pod will be forcibly terminated. |
OIDC properties
The following table explains the properties for the OIDC parameter.
| Property | Default value | Value type | Required | Description |
|---|---|---|---|---|
oidc.enabled |
false | string | No | Enable or disable OIDC. |
oidc.provider |
string | Yes | Specify the OIDC provider name. | |
oidc.discoveryurl |
string | Yes | Specify the OIDC discovery URL. | |
oidc.class |
string | No | Specify the OIDC class. | |
oidc.uniqueClaim |
sub | string | No | Specify the OIDC unique claim details. |
oidc.secondaryid |
string | No | Specify the secondary ID. | |
oidc.logouturl |
string | Yes | Specify the OIDC logout URL. |
Default integration properties added by OMEnvironment
When Order Hub is deployed in integrated mode through OMEnvironment, the Sterling Order Management System Operator automatically adds following properties into each of the application and
agent servers.
xapirest.servlet.cors.enabled=true
xapirest.servlet.cors.allow.credentials=trueAdditionally, the following JVM parameters are added into each of the application and agent
JVMs.
-Dycp.jwt.auth.keyStore=/shared/jwtauth/jwt.jks
-Dycp.jwt.auth.keyStorePassword=<keyStorePassword>
-Dycp.jwt.auth.trustStore=/shared/jwtauth/jwt.jks
-Dycp.jwt.auth.trustStorePassword=<keyStorePassword>Ensure that the keyStorePassword for the JWT store is provided
under stringData.keyStorePassword attribute of the secret. For more information,
see Creating a secret.
Preparing for deployment
You must identify the backend server, setup the route for logging URL, and JWT. For more information, see Preparing for OrderHub deployment.