OMEnvironment Custom Resource sample manifest
The following .yaml file is a schema of OMEnvironment CR with sample
values.
Important: The values in the following yaml are provided for demonstration purpose only
and must me modified as required.
apiVersion: apps.oms.ibm.com/v1beta1
kind: OMEnvironment
metadata:
name: oms
annotations:
# apps.oms.ibm.com/installed-fixpack: '29'
apps.oms.ibm.com/installed-fixpack: '2206.0'
spec:
license:
accept: false
acceptCallCenterStore: false
secret: oms-secrets
storage:
name: oms-pvc-name
# The tag used in the following image is a sample value.
# You must replace the tag with one that is supported at the current point in time.
image:
repository: cp.icr.io/cp/ibm-oms-<edition>
imagePullSecrets:
- name: ibm-entitlement-key
- name: my-private-registry-key1
- name: my-private-registry-key2
oms:
tag: 10.0.2209.0-amd64
orderHub:
base:
tag: 10.0.2209.0-amd64
extn:
tag: 10.0.2209.0-amd64
orderService:
tag: 1.0.2209.0-amd64
database:
db2:
host: dbhost.domain.com
port: 50000
name: omdb
schema: schema1
user: mydbuser
secure: true
# dataSourceName: jdbc/OMDS
# url: ""
common:
ingress:
host: public-domain.mycluster.com
className: ""
ssl:
enabled: true
jwt:
alias: jwtName
algorithm: RS512
audience: service
issuer: oms
# This networkPolicy is most open and hence least secure. You have been warned!
networkPolicy:
podSelector:
matchLabels:
none: none
policyTypes:
- Ingress
ingress: []
jms:
mq:
bindingConfigName: oms-mq-bindings-configmap
security:
ssl:
trust:
trustJavaCACerts: true
trustedCertDir: /var/trustedCerts
# dataManagement:
# mode: upgrade
serverProfiles:
- name: medium
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: 2000m
memory: 2Gi
- name: large
resources:
requests:
cpu: 500m
memory: 2Gi
limits:
cpu: 4000m
memory: 4Gi
serverProperties:
customerOverrides:
- groupName: BaseProperties
propertyList:
yfs.yfs.searchIndex.rootDirectory: /shared
yfs.colonymap.cache.maxsize: 310000
yfs.yfs.unset.dbhk.fields.YFS_RESOURCE: false
dbclassCache.YFS_ASSET.enabled: false
dbclassCache.YFS_REGION.count.size: 31000
yfs.oms_provider_url: file:/opt/ssfs
yfs.oms_qcf: omsqcf
yfs.yfs.hotsku.useHotSKUFeature: Y
yfs.yfs.hotsku.assumeUnavailableOnLockTimeout: Y
derivatives:
- groupName: AppServerProperties
propertyList:
yfs.yfs.ItemProperties.cache.disable: N
yfs.yfs.promotionrules.cache.maxsize.toload: 60000
derivatives:
- groupName: AppServerProperties-Custom1
propertyList:
yfs.yfs.ItemProperties.cache.disable: Y
dbclassCache.YFS_ASSET.enabled: true
yfs.yfs.YFS_ORDER_LINE_SCHEDULE.batchsize: 50
- groupName: AppServerProperties-Debug
propertyList:
yfs.yfs.logall: Y
- groupName: AgentProperties
propertyList:
yfs.yfs.batchsize: 100
yfs.yfs.YFS_AUDIT.batchsize: 100
yfs.yfs.pricelistheader.cache.disabled: Y
propertyRef:
name: yfs.api.security.token.enabled
valueFrom:
configMapKeyRef:
name: global-security-configmap
key: enabled
envVars:
- groupName: CommonEnvVars
propertyList:
LOG_DIR: /shared/logs/${OM_POD_NAME}
LIBERTY_LOG_DIR: /shared/logs/${OM_POD_NAME}
derivatives:
- groupName: LibertyTracing
propertyList:
MESSAGE_FILE_NAME: ${LOG_DIR}/${OM_POD_NAME}_message.log
TRACE_FILE_NAME: ${LOG_DIR}/${OM_POD_NAME}_trace.log
derivatives:
- groupName: Liberty
propertyList:
WLP_OUTPUT_DIR: ${LOG_DIR}
- groupName: Liberty-Debug
propertyList:
WLP_DEBUG_ADDRESS: 5555
jvmArgs:
- groupName: BaseJVMArgs
propertyList:
- -DJVM=${OM_POD_NAME}
- -DLOG_DIR=${LOG_DIR}
derivatives:
- groupName: BaseJVMArgs-GC
propertyList:
- -XX:HeapDumpPath=${LOG_DIR}
- -Xdump:heap+java:events=user
- -Xgcpolicy:gencon
- -Xverbosegclog:${LOG_DIR}/${OM_POD_NAME}_verbosegc_%Y%m%d.%H%M%S.%pid.txt
derivatives:
- groupName: BaseJVMArgs-Debug
propertyList:
- -Xgcpolicy:balanced
- -Djavax.net.debug=ssl,handshake
servers:
- name: smcfs
replicaCount: 1
profile: medium
property:
customerOverrides: AppServerProperties
envVars: Liberty
jvmArgs: BaseJVMArgs
appServer:
ingress:
contextRoots: [smcfs, sbc, sma]
customDomains:
- host: ""
className: ""
annotations:
ingress.kubernetes.io/affinity: "cookie"
labels: {}
ssl:
enabled: ""
identitySecretName: mydomain_secret
- name: isccs
replicaCount: 1
upgradeStrategy: RollingUpdate
image:
variant: isccs
profile: large
property:
customerOverrides: AppServerProperties-Custom1
envVars: Liberty
jvmArgs: BaseJVMArgs
appServer:
ingress:
contextRoots: [isccs]
- name: agents-orderservice
profile: medium
property:
customerOverrides: AgentProperties
envVars: CommonEnvVars
jvmArgs: BaseJVMArgs
replicaCount: 1
agentServer:
names: [OrderArchiveServer, SSIDelayedSyncOSServer, PurgeSalesOrderDefaultSmartServer]
- name: agents-job
profile: medium
property:
customerOverrides: AgentProperties
envVars: CommonEnvVars
jvmArgs: BaseJVMArgs
replicaCount: 1
agentServer:
names: [JobResource]
allowTermination:
schedule: 'none' # A Job will be created.
- name: agents-cronjob
profile: medium
property:
customerOverrides: AgentProperties
envVars: CommonEnvVars
jvmArgs: BaseJVMArgs
replicaCount: 1
agentServer:
names: [OrderPurge, ShipmentPurge]
allowTermination:
schedule: '*/5 * * * *' # A CronJob will be created.
healthMonitor:
profile: balanced
replicaCount: 1
restService:
profile: medium
replicaCount: 1
property:
customerOverrides: AppServerProperties
envVars: CommonEnvVars
jvmArgs: BaseJVMArgs
orderHub:
bindingAppServerName: smcfs
base:
replicaCount: 1
profile: medium
envVars: CommonEnvVars
extn:
replicaCount: 1
profile: medium
envVars: CommonEnvVars
ingress:
annotations:
ingress.kubernetes.io/affinity: "cookie"
labels: {}
ssl:
enabled: ""
identitySecretName: mydomain_secret
orderService:
cassandra:
createDevInstance:
profile: large
storage:
name: oserv-services
capacity: 40Gi
storageClassName: dynamic-pv
keyspace: oserv
elasticsearch:
createDevInstance:
profile: balanced
storage:
name: oserv-services
capacity: 40Gi
storageClassName: dynamic-pv
orderServiceVersion: "1.0"
replicaCount: 1
configuration:
jwt_ignore_expiration: false
additionalConfig:
enable_graphql_introspection: "true"
ssl_vertx_disable: "false"
ingress:
annotations:
ingress.kubernetes.io/affinity: "cookie"
labels: {}
ssl:
enabled: ""
identitySecretName: mydomain_secret
additionalMounts:
configMaps:
- name: env-certificates
mountPath: /var/trustedCerts/db2.crt
subPath: db2.crt
- name: env-certificates
mountPath: /var/trustedCerts/integ.crt
subPath: integ.crt
storages:
- name: oms-pvc-extn
mountPath: /opt/ssfs/runtime/extensions
horizontalPodAutoscalers:
- name: Hpa1
maxReplicas: 1
minReplicas: 1
metrics:
- resource:
name: cpu
target:
averageUtilization: 1
type: Utilization
type: Resource
- name: Hpa2
maxReplicas: 5
minReplicas: 2
metrics:
- resource:
name: cpu
target:
averageUtilization: 5
type: Utilization
type: Resource
# You can also use additionalMounts to pass customer overrides through a configMap to the pods, as shown in the following example.
# - name: om-props
# matchLabels:
# name: agentserver
# mountPath: /opt/ssfs/runtime/properties/customer_overrides.properties
# subPath: customer_overrides.properties
# readOnly: false
# - name: om-props
# matchLabels:
# name: appserver
# mountPath: /config/dropins/smcfs.ear/properties.jar/customer_overrides.properties # mountPath for app server
# subPath: customer_overrides.properties
# readOnly: false