Template and sample YAML of ELM
Template YAML of elm-instance.yaml
apiVersion: elm.ibm.com/v1
kind: ELM
metadata:
name: <elm-instance-name> # ELM Instance Name
namespace: <namespace> # Kubernetes Cluster Namespace
spec:
imageRepo: <elm-imagerepo> # ELM Application's Image Registry
license:
accept: <boolean> # Boolean (true/false)
applications:
ENI:
contextRoot: <eni-context-root>
dbName: <eni-db-instance-name>
LDX:
contextRoot: <ldx-context-root>
dbName: <ldx-db-instance-name>
LQE:
contextRoot: <lqe-context-root>
dbName: <lqe-db-instance-name>
ldxProvider: <boolean> # Boolean (true/false)
DCC:
contextRoot: <dcc-context-root>
dbName: <dcc-db-instance-name>
JTS:
contextRoot: <jts-context-root>
dbName: <jts-db-instance-name>
CCM:
- contextRoot: <ccm-context-root>
dbName: <ccm--db-instance-name>
RB:
contextRoot: <rb-context-root>
dbName: <rb-db-instance-name>
DW:
dbName: <dw-db-instance-name>
RM:
- contextRoot: <rm-context-root>
dbName: <rm-db-instance-name>
GC:
contextRoot: <gc-context-root>
dbName: <gc-db-instance-name>
JAS:
authType: <elm-auth-type> # Authentication type One of [ SAML, LDAP, OIDC ]
dbName: <jas-db-instance-name>
QM:
- contextRoot: <qm-context-root>
dbName: <qm-db-instance-name>
hostName: <elm-host-name> # ELM Instance Public Host Name
ingress: {}
version: <elm-version> # Specify ELM Versions ( default latest )
appConfigName: <config-map-name> # SSL Custom ConfigMap Name.
database:
dbHostName: <elm-db-host-name> # DataBase Host Name
dbPort: <elm-db-port> # DataBase Port
dbType: <elm-db-type> # DataBase Type ( Db2, Oracle )
dbUserName: <elm-db-instance-name> # DataBase User ( Db2 - Instance Name , Oracle - Service Name )
additionalDatabaseInstances:
- dbInstanceName: <additional-instances-name> # Additional DataBase Instance Name
dbHostName: <elm-db-host-name> # Additional DataBase Host Name
dbUserName: <elm-db-instance-name> # Additional DataBase Instance/Service Name
dbPort: <elm-db-port> # Additional DataBase Port
certificates:
duration: <time-duration> # Supports integer time interval followed by m/h/d [minute / hour / day] formate.
external:
# Optional ( either one of two )
useSelfSigned: '<boolean>' # Boolean (true/false).
caCert: <issuer-name> # Issuer that you created for your own CA.
internal:
# Optional ( either one of two )
useSelfSigned: '<boolean>' # Boolean (true/false).
caCert: <issuer-name> # Issuer that you created for your own CA.
renewBefore: <time-duration> # Supports integer time interval followed by m/h/d [minute / hour / day] formate.
storageClass: <storage-class> # Kubernetes Cluster StorageClass Name
deploymentType: <elm-deployment-type> # Supported ELM Deployment Cluster Size. One of [ Small, Medium, Large, Extra-Large ]
fsGroup: <file-system-group-id> # Security context constraints (SCCs) - fsGroup
supplementalGroups: [<supplemental-group-id>] # If more than one group ID, the group IDs would be comma-separated array [<supplemental-group-id-1>, <supplemental-group-id-2>].
Fully populated sample of YAML of elm-instance.yaml
This is an example ELM instance configuration for Kubernetes cluster, where Database -
Db2, Auth Type - LDAP, Certificates -
Self-Sign, Context Root - default, Deployment Size -
Small, Ingress class configurations, Custom ConfigMap Name
(TLS), Custom Security Context Constraints
(SCC)
apiVersion: elm.ibm.com/v1
kind: ELM
metadata:
name: example-elm
namespace: example
spec:
imageRepo: cp.icr.io/cp/ibm-elm
license:
accept: true
applications:
ENI:
contextRoot: relm
dbName: ENIUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
LDX:
contextRoot: ldx
dbName: LDXUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
LQE:
contextRoot: lqe
dbName: LQEUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
ldxProvider: true
DCC:
contextRoot: dcc
dbName: DCCUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
JTS:
contextRoot: jts
dbName: JTSUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
CCM:
- contextRoot: ccm
dbName: CCMUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
RB:
contextRoot: rs
dbName: RBUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
DW:
dbName: DWUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
RM:
- contextRoot: rm
dbName: RMUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
GC:
contextRoot: gc
dbName: GCUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
JAS:
authType: LDAP
dbName: JASUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
QM:
- contextRoot: qm
dbName: QMUSER
cpuRequest: "20000m"
cpuLimit: "5000m"
memoryLimit: "6Gi"
memoryRequest: "250G"
storage: "0.5Ti"
hostName: example.ibm.com
ingress:
annotations:
ingress.bluemix.net/custom-port: protocol=https port=443
ingressClassName: example-k8s-nginx
version: "latest"
appConfigName: elm-application-config
database:
dbHostName: example.db2.ibm.com
dbPort: 50000
dbType: Db2
dbUserName: db2inst1
certificates:
duration: 5000h
external:
useSelfSigned: 'true'
internal:
useSelfSigned: 'true'
renewBefore: 720h
storageClass: rook-cephfs
fsGroup: 5000
supplementalGroups: [5000]
deploymentType: Small