OMServer parameters
Use the OMServer parameter to define the specification to run applications or agent and integration servers.
Each server can refer its own profile, property, affinityAndTolerations, and more. The following tables explain the attributes applicable to configure OMServer custom resource.
General properties
Property | Default value | Value type | Required | Description |
---|---|---|---|---|
name |
string | Yes | Specify the name of the OMServer. Ensure that the name is unique. | |
appServer agentServer integration |
object | Yes | Configure any one of the appServer , agentServer ,
integration for the OMServer custom resource. For more
information, see Application server and Agent and integration server. |
|
replicaCount |
1 | integer | Yes | Specify the number of instances to be deployed for this server. Note: Deployment resource is
created with this
replicaCount . However, deployment can be scaled independently
once it is created by Sterling Order Management System Operator. |
affinityAndTolerations |
string | No | Use the name of the affinityAndTolerations from attribute
affinityAndTolerations[].name to be used by the server. |
|
image.name |
string | No | Specify the name of the image to be used for the selected server. | |
image.variant |
string | No | Image variation to be used as a suffix. For example, variant: "wsc" . This
will be combined with image name to form complete image name:
<imageName>-wsc . |
|
pod.podAnnotations |
object | No | Specify any additional pod annotations as key-value pair. If the key specified in the
OMServer
pod.podAnnotations is same as the key specified in
common.pod.podAnnotations , then this annotation is overridden. |
|
podLabels |
object | No | Specify additional pod labels as key-value pair. Note: These pod labels are also copied to
deployments.
|
|
horizontalPodAutoscaler |
string | No | Specify the name of the pre-defined Horizontal Pod Autoscaler that is to be used. For more information, see horizontalPodAutoscalers parameter. | |
profile |
string | No | Use the name of the profile from attribute serverProfiles[].name to be used
by the server. |
|
property.customerOverrides |
string | No |
|
|
property.envVars |
string | No | Use the name of envVars from attribute serverProperties.envVars[].groupName
or serverProperties.envVars[].derivatives[].groupName . |
|
property.jvmArgs |
string | No | Use the name of jvmArgs from attribute serverProperties.jvmArgs[].groupName
or serverProperties.jvmArgs[].derivatives[].groupName . |
|
upgradeStrategy |
string | No | Specify the deployment strategy to be used for upgrading the OMServer
deployments. Available options are RollingUpdate and Recreate . |
Application server
Property | Default value | Value type | Required | Description |
---|---|---|---|---|
appServer.dataSource.maxPoolSize |
50 | integer | Yes | Specify the dataSource maximum pool size. |
appServer.dataSource.minPoolSize |
10 | integer | Yes | Specify the dataSource minimum pool size. |
appServer.threads.max |
100 | integer | Yes | Specify the maximum number of threads for app server. |
appServer.threads.min |
20 | integer | Yes | Specify the minimum number of threads for app server. |
appServer.ingress.annotations |
object | No | Specify any additional annotations for ingress or routes resource as key value pairs. | |
appServer.ingress.labels |
object | No | Specify any additional labels for ingress or routes resource as key value pairs. | |
appServer.service.annotations |
object | No | Specify the additional labels for service resource as key value pairs. | |
appServer.livenessFailRestartAfterMinutes |
10 | integer | No | Specify the approximate time period in minutes after which the server restarts, if liveness check keeps failing for this period. |
appServer.serverName |
DefaultappServer |
string | No | Specify the name of the app server. |
appServer.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. |
appServer.ingress.contextRoots |
[smcfs, sbc, sma, isccs, wsc, adminCenter] |
array | No | Specify the context roots that can be accessed through ingress. If
Note: If you are deploying IBM® Sterling Store Engagement (Next-generation), ensure to
add
isf to the list of contextRoots . |
appServer.ingress.customDomains |
array | No | Specify a list of customDomains 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. |
|
appServer.libertyServerXml |
default-server-xml |
string | No | Provide the configMap containing server.xml for Liberty.This parameter
can be used to provide custom Note: If you use Order Management System
property encryption, use this property to define your own server.xml file and
configure your database passwords and any necessary encryption that you need.
|
appServer.livenessCheckBeginAfterSeconds |
900 | integer | No | Specify the approximate wait time in seconds to begin the liveness check. |
appServer.vendor |
websphere |
string | No | Specify the vendor type. |
appServer.vendorFile |
servers.properties |
string | No | Specify the vendor file. |
appServer.oidc.enabled |
false | string | No | Enable or disable OIDC. |
appServer.oidc.provider |
string | Yes | Specify the OIDC provider name. | |
appServer.oidc.discoveryurl |
string | Yes | Specify the OIDC discovery URL. | |
appServer.oidc.class |
string | No | Specify the OIDC class. | |
appServer.oidc.uniqueClaim |
sub | string | No | Specify the OIDC unique claim details. |
appServer.oidc.secondaryid |
string | No | Specify the secondary ID. | |
appServer.oidc.logouturl |
string | Yes | Specify the OIDC logout URL. |
Agent and integration server
Generally, the agent or integration server is created as a deployment resource, so that the
replicaCount
is maintained. If the JVM running in the pod terminates for any
reason, the deployment resource brings it back by creating another pod. Hence, the agent or
integration servers remain active for servicing.
If an agent server is configured with Terminate on Idle
, creating the agent
server as a deployment resource causes conflict, as Kubernetes always keep matching the
replicaCount
. This conflict can be resolved by using the
allowTermination.schedule
property. If allowTermination.schedule
is set to 'none
', the Sterling Order Management System Software Operator creates a job
resource, so that when the JVM terminates itself due to idle timeout, the pods are not brought back.
There can be scenarios when you want to start the agent servers such as purge agents,
periodically. In such scenarios, a Kubernetes CronJob
is an appropriate resource
that can be created. To create a CronJob
, specify a valid Cron string in the
allowTermination.schedule
property, as per your scheduling requirements.
For more information about the Cron scheduled pattern, see Cron schedule syntax.
Property | Default value | Value type | Required | Description |
---|---|---|---|---|
agentServer.names integration.names |
array | Yes | Specify the list of agent or integration servers to run. For example,
[searchCatalogIndex, scheduleAgent] . |
|
agentServer.readinessFailRestartAfterMinutes integration.readinessFailRestartAfterMinutes |
10 | integer | No | Specify the approximate time period in minutes after which the agent or integration server restarts if readiness check keeps failing for this period. |
agentServer.terminationGracePeriodSeconds integration.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. |
allowTermination.schedule |
string | No |
Note:
|
Deploying smcfsdocs
The Sterling Order Management System Software Operator deploys Sterling Order Management System Software javadocs and exposes relevant ingress or routes for javadocs, if the following conditions are met:
image.name
ends withdocs
ORimage.variant
equals todocs
- Core javadocs:
https://<ingress_subdomain>/smcfsdocs/yfscommon/core_javadocs/
- API javadocs:
https://<ingress_subdomain>/smcfsdocs/yfscommon/api_javadocs/
- Entity Relationship Diagram (ERD):
https://<ingress_subdomain>/smcfsdocs/yfscommon/ERD/HTML/