orderService parameter
Use the orderService parameter to configure cassandra,
elasticsearch, and configuration parameters for Order Service custom resource.
When Order Service is created as part of OMEnvironment (integrated),
the Sterling™ Order Management System Operator injects the following properties into the OMServer pods
automatically:
yfs.osi.order.service.url=<orderserviceUrl>
elasticsearch.yfs.elasticsearch.client.type="SSIClient"
yfs.yfs.ssi.disabled.entities="Shipment"
yfs.yfs.ssi.entities.perform.custom.indexing=""
yfs.yfs.ssi.delete.from.index.on.entity.purge="false"
yfs.yfs.ssi.index.draft.orders="false"
yfs.yfs.ssi.transform.wrap.child.entities.in.list="false"orderService properties
The orderService parameter is used for deployment of Order Service servers. For more information about deploying Order Service deployment, see Deploying Order Service.
The following YAML file is a sample schema of
orderService: image:
orderService:
tag: ""
# imageName: ""
# pullPolicy: ""
# repository: ""
orderService:
cassandra:
keyspace: ""
# contactPoints: ""
# createDevInstance:
# profile: ""
# storage:
# accessMode: ""
# capacity: ""
# name: ""
# storageClassName: ""
# elasticsearch:
# contactPoints: ""
# createDevInstance:
# profile: ""
# storage:
# accessMode: ""
# capacity: ""
# name: ""
# storageClassName: ""
# kafka:
# contactPoints:
- my.kafka.endpoint:9092
configuration:
jwt_ignore_expiration: ""
# additionalConfig: ""
# alias: <custom_name>
# orderServiceVersion: ""
# podLabels: {}
# podAnnotations: {}
# profile: ""
# replicaCount: ""
# horizontalPodAutoscaler: HPA1
# topology: {}
# ingress:
# annotations: ""
# labels: ""
# customDomains:
# - host: ""
# className: ""
# annotations: ""
# labels: ""
# ssl:
# enabled: ""
# identitySecretName: ""
indexer:
envVars:
- name: ORDERSERVICE_INDEX_ORDER_TOPIC_PHRASE
value: index_order_topic
fetcher:
envVars:
- name: ORDERSERVICE_FETCHED_ORDER_TOPIC_PHRASE
value: index_order_topic
- name: ORDERSERVICE_FETCH_ORDER_TOPIC_PHRASE
value: fetch_order_topicThe following table explains the properties applicable for
orderService
parameter of OMEnvironment.
| Property | Default value | Value type | Required | Description |
|---|---|---|---|---|
cassandra |
object |
Yes | Configure Cassandra for Order Service. For information about configuring Cassandra parameter, see cassandra properties. For information about configuring Cassandra on SSL, see Enabling Cassandra data encryption. | |
elasticsearch |
object |
Yes | Configure Elasticsearch for Order Service. For information about configuring Elasticsearch parameter, see elasticsearch properties. | |
kafka |
object |
Yes | Configure Kafka for Order Service. For information about configuring Kafka parameter, see kafka properties. | |
envVars |
Array | No | Configure the required environment variables to be passed to both the Order Service and Backend deployments. | |
jvmArgs |
Array | No | Configure the required JVM arguments to be passed to both the Order Service and Backend deployments | |
fetcher |
Object | No | Configure the required fetcher properties. For more information, see fetcher properties. | |
indexer |
Object | No | Configure the required indexer properties. For more information, see indexer properties. | |
configuration |
object |
Yes | Configure Order Service properties. | |
orderServiceVersion |
string |
No | Specify Order Service app version. | |
replicaCount |
1 |
integer |
No | Specify the number of server instances to be deployed. |
profile |
balanced |
string |
No | Name of serverProfile to be used for the instance. You can also use existing
profiles (balanced/compute/memory). For more information, see serverProfiles parameter. |
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]. |
|
podAnnotations |
object | No | Specify annotations for pod as key-value pair. | |
podLabels |
object | No | Specify pod labels as key-value pair. These pod labels are also copied to deployments. | |
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. |
Note: If the key in the
podLabels or podAnnotations is the same as
defined in common.pod.podLabels/podAnnotations, then it overwrites the key defined
in common.cassandra properties
The following table explains the properties applicable for the
cassandra
parameter for Order Service.
| Property | Default value | Value type | Required | Description |
|---|---|---|---|---|
cassandra.keyspace |
string |
Yes | keyspace for cassandra. |
|
cassandra.contactPoints |
string |
No | Contact points for Cassandra. If createDevInstance is not enabled for
Cassandra, then contactPoints is mandatory. |
|
cassandra.createDevInstance |
object |
No | Set this object only when you are deploying the development instance of Cassandra. If
createDevInstance is enabled for Cassandra, then contactPoints is
not required. For more information, see createDevInstance parameter.Note:
|
elasticsearch properties
The following table explains the properties applicable for the
elasticsearch
parameter for Order Service.
| Property | Default value | Value type | Required | Description |
|---|---|---|---|---|
elasticsearch.contactPoints |
string |
No | Contact points for Elasticsearch. If createDevInstance is not enabled for
Elasticsearch, then contactPoints is mandatory. |
|
elasticsearch.createDevInstance |
object |
No |
Set this object only when you are deploying the development instance of Elasticsearch. If
createDevInstance is enabled for Elasticsearch, then contactPoints
is not required. For more information, see createDevInstance parameter.Note:
|
createDevInstance parameter
The following table explains the properties applicable for the
cassandra and
elasticsearch parameters for Order Service.
| Property | Default value | Value type | Required | Description |
|---|---|---|---|---|
createDevInstance.profile |
string |
Yes | Name of serverProfile to be used in cassandra and
elasticsearch. For more information, see serverProfiles parameter. |
|
createDevInstance.storage |
object |
No | Used to configure persistent volume for storage. For more information, see storage parameter. |
configuration properties
The following table explains the properties applicable for the
configuration
parameter for Order Service.
| Property | Default value | Value type | Required | Description |
|---|---|---|---|---|
configuration.jwt_audience |
service |
string |
Yes | Specify to whom you intend to send the JWT token. |
configuration.jwt_issuer |
oms |
string |
Yes | Specify an issuer name when creating a JWT token for the current user. |
configuration.jwt_algorithm |
RS256 |
string |
Yes | Specify the algorithm that is used for signing the JWT token. |
configuration.jwt_ignore_expiration |
boolean |
Yes | Specify whether you want to ignore the expired JWT token or not. | |
configuration.alias |
string | No | Specify a custom name for the JWT when defining your own key-pair. | |
configuration.additionalConfig |
object |
No | Specify any additional properties that you might want to configure for Order Service. For more information about configuring additional properties, see Configuring specifications for Order Service property overrides. |
kafka properties
The following table explains the properties applicable for the
kafka parameter
for Order Service.
| Property | Default value | Value type | Required | Description |
|---|---|---|---|---|
kafka.contactPoints |
string |
No | Specify the Kafka endpoints as a comma-separated list. |
fetcher properties
The following table explains the properties applicable for the
fetcher parameter
for Order Service.
| Property | Default value | Value type | Required | Description |
|---|---|---|---|---|
fetcher.envVars |
array | No | Specify the environment variables to be passed to the fetcher backend. The environment
variables configured in fetcher takes precedence over those defined in the Order
Service. |
|
fetcher.jvmArgs |
array | No | Specify the JVM arguments to be passed to the fetcher backend. The JVM arguments configured
in fetcher takes precedence over those defined in the Order Service. |
|
fetcher.replicaCount |
1 | integer | No | Specify the number of instances to be deployed. |
indexer properties
The following table explains the properties applicable for the
indexer parameter
for Order Service.
| Property | Default value | Value type | Required | Description |
|---|---|---|---|---|
indexer.envVars |
array | No | Specify the environment variables to be passed to the indexer backend. The environment
variables configured in indexer takes precedence over those defined in the Order
Service. |
|
indexer.jvmArgs |
array | No | Specify the JVM arguments to be passed to the indexer backend. The JVM arguments configured
in indexer takes precedence over those defined in the Order Service. |
|
indexer.threadCount |
1 | array | No | Specify the number of threads that the indexer should use during execution. |
indexer.replicaCount |
1 | integer | No | Specify the number of instances to be deployed. |
Default integration properties added by OMEnvironment
When Order Service is deployed in integrated mode through OMEnvironment, the
Sterling Order Management System Software Operator automatically adds following properties into each of the
application and agent servers.
yfs.osi.order.service.url=<orderservice-host-url>
elasticsearch.yfs.elasticsearch.client.type="SSIClient"
yfs.yfs.ssi.disabled.entities="Shipment"
yfs.yfs.ssi.entities.perform.custom.indexing=""
yfs.yfs.ssi.delete.from.index.on.entity.purge="false"
yfs.yfs.ssi.index.draft.orders="false"
yfs.yfs.ssi.transform.wrap.child.entities.in.list="false"
Additionally, the following JVM parameters are added into each of the app 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.
Note: Order Service does not support using custom Sterling Order Management System Software URLs. However, for app
server, rest service, and Order Hub integrated and independent modes, you can use
customDomains parameter to provide 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.