OMEnvironment Custom Resource manifest
See the following examples to configure your OMEnvironment as required.
- Example 1: OMEnvironment with sample values for quick setup
- Example 2: OMEnvironment with all the supported parameters and default values
- Example 3:OMEnvironment sample for a performance environment.
Example 1: OMEnvironment with sample values for quick
setup
apiVersion: apps.oms.ibm.com/v1beta1
kind: OMEnvironment
metadata:
# Name of the OMEnvironment deployment
name: oms-sample
# Annotations:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=cocr-annotations-used-in-sterling-order-management-software-operator
annotations:
apps.oms.ibm.com/dbvendor-auto-transform: "true"
apps.oms.ibm.com/dbvendor-install-driver: "true"
apps.oms.ibm.com/installed-fixpack: "2306.1"
spec:
# Licenses:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-omenvironment-custom
license:
accept: true
acceptCallCenterStore: true
# Service account:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-omenvironment-custom
serviceAccount: <service account>
# Secret:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=operator-creating-secret
secret: oms-secret
# Database parameters:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-database-parameter
database:
db2|oracle|postgresql:
url: <database url>
host: <database host>
name: <database name>
port: <databse port>
user: <database user>
schema: <schema>
secure: <true|false>
# JMS parameters:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-jms-parameter
jms:
mq:
bindingConfigName: oms-mq-bindings-configMap
# Network policy:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-networkpolicy-parameter
networkPolicy:
ingress: []
podSelector:
matchLabels:
release: oms
role: appserver
policyTypes:
- Ingress
# Storage configurations are used to configure the persistent volume for shared storage.
# `storage.name` is the name of the persistent volume claim.
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-storage-parameter
storage:
name: oms-pvc-xvdc1
# Additional mounts:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-additionalmounts-parameter
additionalMounts:
configMaps:
- name: log4j2-custom
mountPath: /opt/ssfs/runtime/properties/log4j2_extra.xml
subPath: log4j2.custom.xml
- name: log4j2-custom
mountPath: /config/dropins/smcfs.ear/properties.jar/log4j2_extra.xml
subPath: log4j2.custom.xml
storages:
- name: oms-pvc-xvdc1-extn
mountPath: /opt/ssfs/runtime/extensions
# Data Management parameters:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-datamanagement-parameter
dataManagement:
mode: <create|upgrade>
property:
customerOverrides: AgentProperties
envVars: EnvironmentVariables
# Image configurations:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-image-parameter
# The tag used in the following image is a sample value and you must replace the tag with one that is supported at the current point in time.
image:
pullPolicy: <Always|IfNotPresent|Never>
repository: cp.icr.io/cp/ibm-oms-enterprise
imagePullSecrets:
- name: cp.icr.io
- name: us.cp.icr.io
oms:
repository: us.cp.icr.io/cp/test
tag: 10.0.2306.2-amd64
orderService:
repository: cp.icr.io/cp/ibm-oms-enterprise
tag: 10.0.2306.2-amd64
orderHub:
base:
repository: cp.icr.io/cp/ibm-oms-enterprise
tag: 10.0.2306.2-amd64
extn:
repository: cp.icr.io/cp/ibm-oms-enterprise
tag: 10.0.2306.2-amd64
callCenter:
base:
repository: cp.icr.io/cp/ibm-oms-enterprise
tag: 10.0.2306.2-amd64
extn:
repository: cp.icr.io/cp/ibm-oms-enterprise
tag: 10.0.2306.2-amd64
# Common parameters:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-common-parameter
common:
ingress:
host: <cluster host name>
# Server profiles
# Using Server profiles you can define common configurations for CPU and memory requirements that can be applied to a set of workloads like appserver, agent or integration servers, and more.
# The deployments can use the server profile group name to define the CPU and memory requirements for its workloads.
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-serverprofiles-parameter
serverProfiles:
- name: ProfileSmall
resources:
requests:
cpu: 200m
memory: 512Mi
limits:
cpu: 1000m
memory: 1Gi
- name: ProfileMedium
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: 2000m
memory: 2Gi
- name: ProfileLarge
resources:
requests:
cpu: 500m
memory: 2Gi
limits:
cpu: 4000m
memory: 4Gi
- name: ProfileHuge
resources:
requests:
cpu: 500m
memory: 4Gi
limits:
cpu: 4000m
memory: 8Gi
- name: ProfileColossal
resources:
requests:
cpu: 500m
memory: 4Gi
limits:
cpu: 4000m
memory: 16Gi
# Server properties are used to define server property definitions, which includes customer overrides (customerOverrides), environment variables (envVars), and JVM arguments (jvmArgs).
# The OMServer can use the server property group name to define the customer overrides, environment variables, and JVM arguments it wants to use.
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-serverproperties-parameter
serverProperties:
customerOverrides:
- groupName: BaseProperties
propertyList:
yfs.yfs.logall: N
yfs.yfs.searchIndex.rootDirectory: /shared
derivatives:
- groupName: AgentProperties
propertyList:
yfs.yfs.ItemProperties.cache.disable: Y
yfs.yfs.YFS_AUDIT.batchsize: 100
yfs.yfs.batchsize: 100
- groupName: AppServerProperties
propertyList:
yfs.api.security.enabled: N
yfs.interopservlet.security.enabled: false
yfs.userauthfilter.enabled: false
envVars:
- groupName: EnvironmentVariables
propertyList:
JVM: ${OM_POD_NAME}
LOG_DIR: /shared/logs/${OM_POD_NAME}
LIBERTY_LOG_DIR: /shared/logs/${OM_POD_NAME}
MESSAGE_FILE_NAME: ${LOG_DIR}/${OM_POD_NAME}_message.log
TRACE_FILE_NAME: ${LOG_DIR}/${OM_POD_NAME}_trace.log
TZ: America/New_York
jvmArgs:
- groupName: JVMArguments
propertyList:
- -DJVM=${OM_POD_NAME}
- -DLOG_DIR=${LOG_DIR}
- -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
- -Dyfs.logall=N
- -Dhttps.protocols=TLSv1.2
- -Dcom.ibm.jsse2.overrideDefaultTLS=true
# Health Monitor:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-healthmonitor-parameter
healthMonitor:
profile: ProfileLarge # Server profile group name. This `ProfileLarge` profile name is defined in the `serverProfiles[x].name` section.
replicaCount: 1
property:
customerOverrides: AgentProperties
envVars: EnvironmentVariables
jvmArgs: JVMArguments
# REST service:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-restservice-parameter
restService:
profile: ProfileLarge # Server profile group name. This `ProfileLarge` profile name is defined in the `serverProfiles[x].name` section
replicaCount: 1
image:
variant: sbc-sma-smcfs
property:
customerOverrides: AppServerProperties
envVars: EnvironmentVariables
jvmArgs: JVMArguments
appServer:
dataSource:
minPoolSize: 10
maxPoolSize: 100
threads:
min: 20
max: 200
vendor: websphere
# CallCenter:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-callcenter-parameter and https://www.ibm.com/docs/en/order-management-sw/10.0?topic=crd-call-center-callcenter-custom-resource
callCenter:
bindingAppServerName: icc
base:
replicaCount: 1
profile: ProfileMedium
envVars: EnvironmentVariables
extn:
replicaCount: 1
profile: ProfileMedium
envVars: EnvironmentVariables
# OrderHub:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-orderhub-parameter
# and https://www.ibm.com/docs/en/order-management-sw/10.0?topic=crd-order-hub-orderhub-custom-resource
orderHub:
bindingAppServerName: smcfs
base:
replicaCount: 1
profile: ProfileMedium
envVars: EnvironmentVariables
extn:
replicaCount: 1
profile: ProfileMedium
envVars: EnvironmentVariables
# OrderService:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-orderservice-parameter
# and https://www.ibm.com/docs/en/order-management-sw/10.0?topic=crd-order-service-orderservice-custom-resource
orderService:
cassandra:
keyspace: orderservice
createDevInstance:
profile: ProfileColossal
elasticsearch:
createDevInstance:
profile: ProfileMedium
replicaCount: 1
configuration:
jwt_ignore_expiration: false
# OMServer:
# For more information, see https://www.ibm.com/docs/en/order-management-sw/10.0?topic=resource-configuring-omserver-custom
# and https://www.ibm.com/docs/en/order-management-sw/10.0?topic=crd-order-management-server-omserver-custom-resource
servers:
- appServer:
dataSource:
maxPoolSize: 25
minPoolSize: 10
ingress:
contextRoots: [smcfs, sbc, sma, isccs, wsc, isf, icc]
threads:
max: 25
min: 10
vendor: websphere
name: smcfs
podLabels:
role: app
profile: ProfileHuge # Server profile group name. This `ProfileHuge` profile name is defined in the `serverProfiles[x].name` section.
property:
customerOverrides: AppServerProperties # Customer overrides group name. This `AppServerProperties` group name is defined in the `serverProperties.customerOverrides[x].groupName` section.
envVars: EnvironmentVariables # Environment variables group name. This `EnvironmentVariables` group name is defined in the `serverProperties.envVars[x].groupName` section.
jvmArgs: BaseJVMArgs # JVM arguments group name. This `BaseJVMArgs` group name is defined in the `serverProperties.jvmArgs[x].groupName` section.
replicaCount: 1
- name: defaultserver
profile: ProfileLarge # Server profile group name. This `ProfileLarge` profile name is defined in the `serverProfiles[x].name` section.
property:
customerOverrides: AgentProperties # Customer overrides group name. This `AgentProperties` group name is defined in the `serverProperties.customerOverrides[x].groupName` section.
envVars: EnvironmentVariables # Environment variables group name. This `Pacific` group name is defined in the `serverProperties.envVars[x].groupName` section.
jvmArgs: BaseJVMArgs # JVM arguments group name. This `BaseJVMArgs` group name is defined in the `serverProperties.jvmArgs[x].groupName` section.
replicaCount: 1
agentServer:
names: [DefaultServer]
Example 2: OMEnvironment with all the supported parameters and default
values
apiVersion: apps.oms.ibm.com/v1beta1
kind: OMEnvironment
metadata:
name: ""
annotations: ""
spec:
license:
accept: false
acceptCallCenterStore: false
secret: ""
# serviceAccount: default
# upgradeStrategy: RollingUpdate
storage:
name: ""
# accessMode: ReadWriteMany
# capacity: 10Gi
# storageClassName: default
# securityContext:
# fsGroup:
# supplementalGroups: []
image:
# repository: ""
# pullPolicy: IfNotPresent
# imagePullSecrets:
# - name: ""
oms:
tag: ""
# repository: ""
# pullPolicy: IfNotPresent
# agentDefaultName: om-agent
# appDefaultName: om-app
# orderHub:
# base:
# tag: ""
# repository: ""
# pullPolicy: IfNotPresent
# imageName: om-orderhub-base
# extn:
# tag: ""
# repository: ""
# pullPolicy: IfNotPresent
# imageName: om-orderhub-ext
# orderService:
# tag: ""
# repository: ""
# pullPolicy: IfNotPresent
# imageName: orderservice
database:
# db2:
# host: ""
# port:
# url: ""
# name: ""
# schema: ""
# user: ""
# secure: false
# dataSourceName: jdbc/OMDS
# oracle:
# host: ""
# port:
# url: ""
# name: ""
# schema: ""
# user: ""
# secure: false
# dataSourceName: jdbc/OMDS
# postgresql:
# host: ""
# port:
# url: ""
# name: ""
# schema: ""
# user: ""
# secure: false
# dataSourceName: jdbc/OMDS
common:
ingress:
host: ""
# annotations: {}
# labels: {}
# className: ""
# ssl:
# enabled: false
# identitySecretName: ""
jwt:
alias: custom_name
algorithm: RS512
audience: service
issuer: oms
# service:
# annotations: {}
# labels: {}
# appServer:
# ports:
# http: 9080
# https: 9443
# pod:
# podLabels: {}
# podAnnotations: {}
networkPolicy:
<kubernetes-network-policy-spec>
# jms:
# mq:
# bindingConfigName: ""
# bindingMountPath: /opt/ssfs/.bindings
# security:
# ssl:
# trust:
# storeLocation: ""
# storeType: PKCS12
# trustJavaCACerts: true
# trustedCertDir: ""
# dataManagement:
# mode: <create/upgrade>
# podLabels: {}
# profile: ""
# property:
# customerOverrides: ""
# envVars: ""
# serverProfiles:
# - name: ""
# resources:
# limits:
# cpu:
# memory:
# requests:
# cpu:
# memory:
# serverProperties:
# customerOverrides:
# - groupName: ""
# propertyList: ""
# propertyRef:
# - name: ""
# valueFrom:
# configMapKeyRef:
# key: ""
# name: ""
# optional:
# fieldRef:
# apiVersion: ""
# fieldPath: ""
# resourceFieldRef:
# containerName: ""
# divisor: "1"
# resource: ""
# secretKeyRef:
# key: ""
# name: ""
# optional:
# derivatives: []
# envVars:
# - groupName: ""
# propertyList: ""
# propertyRef:
# - name: ""
# valueFrom:
# configMapKeyRef:
# key: ""
# name: ""
# optional:
# fieldRef:
# apiVersion: ""
# fieldPath: ""
# resourceFieldRef:
# containerName: ""
# divisor: "1"
# resource: ""
# secretKeyRef:
# key: ""
# name: ""
# optional:
# derivatives: []
# jvmArgs:
# - groupName: ""
# propertyList: ""
# propertyRef:
# - name: ""
# valueFrom:
# configMapKeyRef:
# key: ""
# name: ""
# optional:
# fieldRef:
# apiVersion: ""
# fieldPath: ""
# resourceFieldRef:
# containerName: ""
# divisor: "1"
# resource: ""
# secretKeyRef:
# key: ""
# name: ""
# optional:
# derivatives: []
# servers:
# - name: ""
# servers[].upgradeStrategy
# replicaCount: 1
# podLabels: {}
# profile: balanced
# property:
# customerOverrides: ""
# envVars: ""
# jvmArgs: ""
# image:
# name: ""
# variant: ""
# appServer:
# serverName: DefaultAppServer
# dataSource:
# minPoolSize: 10
# maxPoolSize: 50
# threads:
# min: 20
# max: 100
# libertyServerXml: default-server-xml
# livenessCheckBeginAfterSeconds: 900
# livenessFailRestartAfterMinutes: 10
# terminationGracePeriodSeconds: 60
# ingress:
# contextRoots: [smcfs, sbc, sma, isccs, wsc, adminCenter]
# customDomains:
# - host: ""
# className: ""
# annotations: ""
# labels: ""
# ssl:
# enabled: ""
# identitySecretName: ""
# annotations: {}
# labels: {}
# service:
# annotations: {}
# labels: {}
# vendor: websphere
# vendorFile: servers.properties
# agentServer:
# names: []
# allowTermination
# schedule
# readinessFailRestartAfterMinutes: 10
# terminationGracePeriodSeconds: 60
# integration:
# names: []
# allowTermination
# schedule
# readinessFailRestartAfterMinutes: 10
# terminationGracePeriodSeconds: 60
# affinityAndTolerations: ""
# healthMonitor:
# podLabels: {}
# podAnnotations: {}
# profile: balanced
# property:
# customerOverrides: ""
# envVars: ""
# jvmArgs: ""
# replicaCount: 1
# upgradeStrategy: ""
# affinityAndTolerations: ""
# restService:
# replicaCount:
# affinityAndTolerations: ""
# authstyle:
# userid: ""
# podLabels: {}
# profile: balanced
# property:
# customerOverrides: ""
# envVars: ""
# jvmArgs: ""
# appServer:
# serverName: DefaultAppServer
# dataSource:
# minPoolSize: 10
# maxPoolSize: 50
# threads:
# min: 20
# max: 100
# libertyServerXml: default-server-xml
# livenessCheckBeginAfterSeconds: 900
# livenessFailRestartAfterMinutes: 10
# terminationGracePeriodSeconds: 60
# ingress:
# contextRoots: [smcfs]
# customDomains:
# - host: ""
# className: ""
# annotations: ""
# labels: ""
# ssl:
# enabled: ""
# identitySecretName: ""
# annotations: {}
# labels: {}
# service:
# annotations: {}
# labels: {}
# vendor: websphere
# vendorFile: servers.properties
# upgradeStrategy: ""
# orderHub:
# bindingAppServerName: ""
# - host: ""
# className: ""
# annotations: ""
# labels: ""
# ssl:
# enabled: ""
# identitySecretName: ""
# base:
# replicaCount: 1
# profile: balanced
# envVars: ""
# podLabels: {}
# service:
# annotations: {}
# labels: {}
# livenessCheckBeginAfterSeconds: 900
# livenessFailRestartAfterMinutes: 10
# terminationGracePeriodSeconds: 60
# affinityAndTolerations: ""
# extn:
# replicaCount: 1
# profile: balanced
# envVars: ""
# podLabels: {}
# service:
# annotations: {}
# labels: {}
# livenessCheckBeginAfterSeconds: 900
# livenessFailRestartAfterMinutes: 10
# terminationGracePeriodSeconds: 60
# affinityAndTolerations: ""
# ingress:
# annotations: {}
# labels: {}
# customDomains:
# - host: ""
# className: ""
# annotations: ""
# labels: ""
# ssl:
# enabled: ""
# identitySecretName: ""
# horizontalPodAutoscaler: HPA1
# orderService:
# replicaCount: 1
# profile: balanced
# orderServiceVersion: ""
# podLabels: {}
# podAnnotations: {}
# configuration:
# jwt_ignore_expiration:
# additionalConfig: {}
# cassandra:
# keyspace: ""
# contactPoints: ""
# createDevInstance:
# profile: balanced
# storage:
# name: ""
# accessMode: ""
# capacity:
# storageClassName: ""
# elasticsearch:
# contactPoints: ""
# createDevInstance:
# profile: balanced
# storage:
# name: ""
# accessMode: ""
# capacity:
# storageClassName: ""
# ingress:
# annotations: {}
# labels: {}
# horizontalPodAutoscaler: HPA1
# additionalMounts:
# configMaps:
# - name: ""
# mountPath: ""
# subPath: ""
# subPathExpr: ""
# readOnly: false
# mountPropagation: ""
# matchLabels: {}
# secrets:
# - name: ""
# mountPath: ""
# subPath: ""
# subPathExpr: ""
# readOnly: false
# mountPropagation: ""
# matchLabels: {}
# storages:
# - name: ""
# mountPath: ""
# storageClassName: ""
# accessMode: ""
# capacity:
# matchLabels: {}
# affinityAndTolerations:
# - name: ""
# affinity:
# <kubernetes-affinity-spec>
# tolerations:
# - <kubernetes-toleration-spec>
# 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
Note: The commented parameters are optional for creating OMEnvironment.