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: ""
    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: ""
    # horizontalPodAutoscaler: HPA1
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.
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.
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.
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 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.