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: {}
The following table explains the attributes applicable for orderHub spec of OMEnvironment.
Table 1. Properties for orderHub
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.
Table 2. Properties 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.
Table 3. Properties for OIDC
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 email 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=true
Additionally, 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.