Custom resource definition
This section describes the options available for the operator setup.
Basic setup
The basic setup does not require any specific configuration. It is only intended for nonproduction environments. The following code sample represents the basic setup:
apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
name: pm1
namespace: processmining
spec:
version : 2.0
license:
accept: true
cloudPak: IBM Cloud Pak for Business Automation
defaultStorageClassName: rook-cephfs
The operator uses this configuration to perform the following tasks:
- Install the IBM Process Mining application.
- Install the IBM Task Mining application.
- Install the embedded MongoDB, Db2, and MonetDB.
- Generate self-signed certificates that include root CA.
Define storage classes
You must use the spec.defaultStorageClassName property of the CRD to specify the default storage class. This storage class is then used for creating persistent volumes.
For more information on storage classes, see Storage configuration.
Understand mandatory specs
Follow the three mandatory steps to create the CRD instance:
-
Specify the operand version.
-
Accept the license terms. For more information on license terms, see https://ibm.biz/IAF-1-3-8-license.
-
Specify the selected Cloud Pak from the following available options:
- IBM Cloud Pak for Business Automation
- IBM Cloud Pak for Integration
- IBM Cloud Pak for Network Automation
- IBM Cloud Pak for Watson AI Ops
Production setup
The following code sample represents the suggested configuration for a production installation:
apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
name: pm1
namespace: processmining
spec:
version : 2.0
license:
accept: true
cloudPak: IBM Cloud Pak for Business Automation
defaultStorageClassName: rook-cephfs
processmining:
#name of the secret with custom certificates for processmining web
#name of the files must be tls.crt and tls.key
tls:
- ui:
- secretname: 'processmining_tls_secret_name'
certificate: 'tls.crt'
key: 'tls.key'
ca: 'ca.crt'
storage:
events: #section for file system storage
name: 'processmining-repository' # name of the PVC
size: '300'
class: 'rook-cephfs' #storage class of the Pvc; must permit readWriteMany
create: true #if false a name of the existing pvc must be provided
database: #section for mongo
create: false
external: #if defined this section permit the configuration of the usage of an external Mongo instance
host: '172.16.1.18'
port: 27017
database: processmining
user: 'ww'
connectionstring: '' #custom connection string
credential: #secret name and key for password storage
secretname: 'example'
passwordkey: password
taskmining:
install: true #if false Task Mining application is not installed
tls:
ui: # secret name with Ssl certificates for web application endpoint
secretname: 'taskmining_tls_secret_name'
certificate: 'tls.crt'
key: 'tls.key'
ca: 'ca.crt'
storage:
events:
name: taskmining-data # Pvc for data recorded by Agents
size: '200'
class: 'rook-cephfs' #storage class of the Pvc; must permit readWriteMany
create: true # Pvc created by the operator
database:
dbtype: 'db2'
external: # use an external Db2 or PostgreSQL instance
credential:
secretname: 'example'
passwordkey: password
user: user
database: taskminer
host: hostname
port: 50000
schema: 'db2inst1'
ssl: true
HA setup
The following code sample represents the available options for an HA installation:
apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
name: pm1
namespace: processmining
spec:
version : 2.0
license:
accept: true
cloudPak: IBM Cloud Pak for Business Automation
defaultStorageClassName: rook-cephfs
processmining:
#name of the secret with custom certificates for processmining web
#name of the files must be tls.crt and tls.key
tls:
- ui:
- secretname: 'processmining_tls_secret_name'
certificate: 'tls.crt'
key: 'tls.key'
ca: 'ca.crt'
storage:
events: #section for file system storage
name: 'processmining-repository' # name of the PVC
size: '100'
class: 'rook-cephfs' #storage class of the Pvc; must permit readWriteMany
create: true #if false a name of the existing pvc must be provided
database: #section for mongo
create: false
external: #if defined this section permit the configuration of the usage of an external Mongo instance
host: '172.16.1.18'
port: 27017
database: processmining
user: 'ww'
connectionstring: '' #custom connection string
credential: #secret name and key for password storage
secretname: 'example'
passwordkey: password
replicas:
nginx: 3
discovery: 3
analytics: 3
bpa: 3
dr: 3
usermanagement: 3
taskmining:
install: true #if false Task Mining application is not installed
tls:
ui: # secret name with Ssl certificates for web application endpoint
secretname: 'taskmining_tls_secret_name'
certificate: 'tls.crt'
key: 'tls.key'
ca: 'ca.crt'
storage:
events:
name: taskmining-data # Pvc for data recorded by Agents
size: '50'
class: 'rook-cephfs' #storage class of the Pvc; must permit readWriteMany
create: true # Pvc created by the operator
database:
create: false # Pvc created by the operator
dbtype: 'db2'
external: # use an external Db2 or PostgreSQL instance
credential:
secretname: 'example'
passwordkey: password
user: user
database: taskminer
host: hostname
port: 50000
schema: ''
ssl: false
replicas:
nginx: 3
webapp: 3
taskbuilder: 3
taskprocessor: 3
Custom setup
The following code sample represents the available options for a custom installation:
apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
name: pm1
namespace: processmining
spec:
version : 2.0
license:
accept: true
cloudPak: IBM Cloud Pak for Business Automation
defaultStorageClassName: rook-cephfs
processmining:
#name of the secret with custom certificates for processmining web
#name of the files must be tls.crt and tls.key
tls:
- ui:
- secretname: 'processmining_tls_secret_name'
certificate: 'tls.crt'
key: 'tls.key'
ca: 'ca.crt'
storage:
events: #section for file system storage
name: 'processmining-repository' # name of the PVC
size: '10'
class: 'rook-cephfs' #storage class of the Pvc; must permit readWriteMany
create: true #if false a name of the existing pvc must be provided
database: #section for mongo
name: 'processmining-mongo'
create: true
size: '5'
class: 'my-storage-class'
external: #if defined this section permit the configuration of the usage of an external Mongo instance
host: '172.16.1.18'
port: 27017
database: processmining
user: 'ww'
connectionstring: '' #custom connection string
credential: #secret name and key for password storage
secretname: 'example'
passwordkey: password
redis:
install: True
version: '5.0.9'
images: # optional images
imagepullpolicy: Always
nginx: cp.icr.io/cp/processmining-nginx:2.0
usermanagement: cp.icr.io/cp/processmining-usermanagement:2.0
discovery: cp.icr.io/cp/processmining-discovery:2.0
analytics: cp.icr.io/cp/processmining-analytics:2.0
bpa: cp.icr.io/cp/processmining-bpa:2.0
dr: cp.icr.io/cp/processmining-dr:2.0
mongo: cp.icr.io/cp/processmining-mongo:2.0
ssl: cp.icr.io/cp/processmining-ssl:2.0
connectors: cp.icr.io/cp/processmining-connectors:2.0
monitoring: cp.icr.io/cp/processmining-monitoring:2.0
acf_batch_sap_p2p: cp.icr.io/cp/processmining-acf-batch-sap-p2p:2.0
acf_custom_process_app: cp.icr.io/cp/processmining-acf-custom:2.0
ml_runtime: cp.icr.io/cp/processmining-catboostflat:2.0
replicas:
nginx: 1
discovery: 1
analytics: 1
bpa: 1
dr: 1
usermanagement: 1
taskmining:
install: true #if false Task Mining application is not installed
tls:
ui: # secret name with Ssl certificates for web application endpoint
secretname: 'taskmining_tls_secret_name'
certificate: 'tls.crt'
key: 'tls.key'
ca: 'ca.crt'
storage:
events:
name: taskmining-data # Pvc for data recorded by Agents
size: '50'
class: 'rook-cephfs' #storage class of the Pvc; must permit readWriteMany
create: true # Pvc created by the operator
database:
create: true # Pvc created by the operator
size: '10'
dbtype: 'db2'
version: 's11.5.8.0-cn2' # ability to change the DB2Cluster instance version based on the installed operator
class: 'ibmc-file-gold-gid' #difine the storageClass used by DB2Cluster instance
external: # use an external Db2 or PostgreSQL instance
credential:
secretname: 'example'
passwordkey: password
user: user
database: taskminer
host: hostname
port: 50000
schema: 'TMUSER'
ssl: false
images:
imagePullPolicy: Always
nginx: cp.icr.io/cp/processmining-tm-nginx:2.0
webapp: cp.icr.io/cp/processmining-tm-webapp:2.0
replicas:
nginx: 1
webapp: 1
taskbuilder: 1
taskprocessor: 1
loglevel: 'INFO' #possible values are INFO or DEBUG
Minimal demo setup
The minimal setup does not require any specific configuration. It is only intended for nonproduction environments. This can be useful in limited resources cluster and with this configuration it is possible to avoid Redis and IBM Task Mining installation. The following code sample represents the basic setup:
apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
name: pm1
namespace: processmining
spec:
version : 2.0
license:
accept: true
cloudPak: IBM Cloud Pak for Business Automation
defaultStorageClassName: rook-cephfs
processmining:
storage:
redis:
install: false
taskmining:
install: false
Using sample templates
It is possible to obtain the default configuration using the sample templates shown in the image below. Select the desired template and click on try it to get the desired sample.
You can apply a YAML
template to use a default configuration. You can download or copy a template from the Samples tab.
Understand the CRD status when deployed
For more information on identifying the CRD status, see Accessing the UI.