Custom resource definition (CRD)
This section describes the options available for the operator setup.
Basic setup
The basic setup does not require any specific configuration except the external PostgreSQL. It is only intended for nonproduction environments. The following code sample represents the basic setup:
cat <<EOF | oc apply -f -
apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
name: processmining-instance
namespace: ${PM_PROJECT}
spec:
license:
accept: true
cloudPak: IBM Cloud Pak for Business Automation
defaultStorageClassName: <<STORAGE_CLASS>>
taskmining:
agent_plugin: true
images:
imagepullpolicy: Always
EOF
apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
name: pm
spec:
processmining:
monetdb:
external:
host: monetdb-srv1-monetdb-service.processmining.svc.cluster.local
database: processmining
user: monetdb
credential:
processmining:
monetdb:
probe:
enabled: true
initialDelaySeconds: 10
periodSeconds: 30
timeoutSeconds: 600
passwordkey: password
secretname: monetdb-srv1-monetdb-secret
port: 50000
create: falseFor more information about the containerized MonetDB deployment, see Optional: Installing containerized external MonetDB.
The operator uses this configuration to perform the following tasks:
- Install the IBM Process Mining application.
- Install the IBM Task Mining application.
- Install PostgreSQL, 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 AIOps
- Specify the external PostgreSQL configuration details.
Production setup
The following code sample represents the suggested configuration for a production installation with external PostgreSQL.
rook-cephfs as a storage class. You can
change the storage class according to your requirements and configurations.apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
name: pm1
namespace: processmining
spec:
version : 2.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: 'pmi-custom-tls-secret'
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:
external:
connectionstring: ''
credential:
passwordkey: externalpostgrespassword
secretname: pm-external-postgres-secret
database: processmining
host: $EXT_DB_HOSTNAME
port: 5432
user: pm_user
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: 'pgsql'
external:
connectionstring: ''
credential:
passwordkey: externalpostgrespassword
secretname: tm-external-postgres-secret
database: taskmining
host: $EXT_DB_HOSTNAME
port: 5432
schema: tm
user: taskminer
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.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: 'pmi-custom-tls-secret'
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:
external:
connectionstring: ''
credential:
passwordkey: externalpostgrespassword
secretname: pm-external-postgres-secret
database: processmining
host: $EXT_DB_HOSTNAME
port: 5432
user: pm_user
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:
external:
connectionstring: ''
credential:
passwordkey: externalpostgrespassword
secretname: tm-external-postgres-secret
database: taskmining
host: $EXT_DB_HOSTNAME
port: 5432
schema: tm
user: taskminer
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.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: 'pmi-custom-tls-secret'
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:
external:
connectionstring: ''
credential:
passwordkey: externalpostgrespassword
secretname: pm-external-postgres-secret
database: processmining
host: $EXT_DB_HOSTNAME
port: 5432
user: pm_user
redis:
install: True
version: '1.4.0'
images: # optional images
imagepullpolicy: Always
nginx: cp.icr.io/cp/processmining-nginx:2.2.0
usermanagement: cp.icr.io/cp/processmining-usermanagement:2.2.0
discovery: cp.icr.io/cp/processmining-discovery:2.2.0
analytics: cp.icr.io/cp/processmining-analytics:2.2.0
bpa: cp.icr.io/cp/processmining-bpa:2.2.0
dr: cp.icr.io/cp/processmining-dr:2.2.0
ssl: cp.icr.io/cp/processmining-ssl:2.2.0
connectors: cp.icr.io/cp/processmining-connectors:2.2.0
monitoring: cp.icr.io/cp/processmining-monitoring:2.2.0
acf_batch_sap_p2p: cp.icr.io/cp/processmining-acf-batch-sap-p2p:2.2.0
acf_custom_process_app: cp.icr.io/cp/processmining-acf-custom:2.2.0
ml_runtime: cp.icr.io/cp/processmining-catboostflat:2.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:
external:
connectionstring: ''
credential:
passwordkey: externalpostgrespassword
secretname: tm-external-postgres-secret
database: taskmining
host: $EXT_DB_HOSTNAME
port: 5432
schema: tm
user: taskminer
images:
imagePullPolicy: Always
nginx: cp.icr.io/cp/processmining-tm-nginx:2.2.0
webapp: cp.icr.io/cp/processmining-tm-webapp:2.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.2.0
license:
accept: true
cloudPak: IBM Cloud Pak for Business Automation
defaultStorageClassName: rook-cephfs
processmining:
storage:
database:
external:
connectionstring: ''
credential:
passwordkey: externalpostgrespassword
secretname: pm-external-postgres-secret
database: processmining
host: $EXT_DB_HOSTNAME
port: 5432
user: pm_user
redis:
install: false
taskmining:
install: false
Understand the CRD status when deployed
For more information on identifying the CRD status, see Accessing the UI.