Decision runtime parameters
If a parameter is absent or has no value, then it means that the operator and Decision Intelligence Client Managed Software pattern refer to the default value. You can overwrite the default value by entering a new value in your custom resource.
| Parameters | Description | Default/Example values |
|---|---|---|
| affinity | Optional. Kubernetes affinity rules for decision runtime pods. It overrides spec.affinity. It must conform to Kubernetes core/v1.Affinity
specification. For more information, see Kubernetes Affinity and Anti-Affinity
|
null (It uses spec.affinity if it is
set.) |
| enabled | A flag to control whether the decision runtime must be deployed or not. |
The default value is When the enabled parameter for Decision Designer is set to If the enabled parameter for the decision runtime is |
| enable_access_logging | Toggle access logs entries into pod logs on standard output. | false |
| admin_secret_name | The name of the secret that encapsulates all the sensitive data of the decision runtime. | <instance>-ads-runtime-secret |
| allowed_origins | A comma-separated list of origins that are allowed to access the decision runtime domain. If
set to "*", the decision runtime domain is publicly accessible without any access
control checks. |
null (The decision runtime domain is NOT accessible.) |
| authentication_mode | The authentication mode to access the runtime. Either basic or
zen. |
zen |
| decision_runtime_service.fs_group |
Sets the For more information, see the Kubernetes documentation
|
This parameter is optional. Type int (positive or null). |
| deployment_profile_size | A flag to control the default CPU/memory resources and replica count to be applied to
decision runtime services and pods. Possible values are: small, medium, large, and extra-large.
This parameter allows you to override the Cloud Pak
Note: The horizontal pod autoscaler is configured with an extra-large profile size.
|
small |
| event_emitter.allow_missing_events | Determines the behavior of the event emitter when its internal queue is full.
In all cases, failure to emit an event does not prevent a decision from running. |
true |
| event_emitter.enabled |
Enables the event emitter in the decision runtime to send events to an Apache Kafka cluster. |
The default value is false. You can change it to |
| event_emitter.dequeuer_threads |
Specifies how many threads are polling the events queue to send the events to the Kafka topic. If this parameter is not set, the number of threads is computed at the decision runtime start based on the number of CPU allocated to the runtime. |
null |
| event_emitter.kafka_bootstrap_servers |
A comma-separated list of host/port pairs that is used for establishing the initial connection to the Kafka cluster. For example: For more information, see the Kafka documentation
|
Mandatory if the event emitter is enabled. |
| event_emitter.kafka_connection_secret_name |
Name of a Kubernetes secret that contains the user credentials for authentication on the Kafka cluster. When the Optionally, the secret can contain a key In all cases, The TLS trust certificates configured with other parameters such as
|
Mandatory when the kafka_sasl_mechanism parameter is set to
PLAIN or SCRAM-SHA-512. |
| event_emitter.kafka_producers_count | The number of Kafka producers. Recommended value is 1. | 1 |
| event_emitter.kafka_properties_config_map_name |
Some custom Kafka client parameters can be added the same way as in https://kafka.apache.org/documentation/#producerconfigs
|
null |
| event_emitter.kafka_sasl_mechanism |
The SASL mechanism that is used for user authentication on the Kafka cluster when the parameter
Valid values:
|
PLAIN |
| event_emitter.kafka_security_protocol |
Protocol that is used to communicate with the Kafka cluster. Valid values:
|
SASL_SSL |
| event_emitter.kafka_topic | Name of the Kafka topic that is used to send events. | Mandatory if the event emitter is enabled. |
| event_emitter.queue_capacity | The decision runtime queues its events before it sends them asynchronously to the Kafka topic. This parameter controls how many events can be contained in the queue. | 50000 |
| resources.limits.ephemeral_storage | The ephemeral storage limit for the decision runtime container. | For details depending on profile size, see System requirements |
| resources.requests.ephemeral_storage | The ephemeral storage requested for the decision runtime container. | For details depending on profile size, see System requirements |
| storage_decision_check_status_interval |
The interval, in milliseconds, between checks and updates of the cached decisions. Type: integer |
The default value is 30000. |
| tolerations | Optional. Kubernetes tolerations for decision runtime pods. It overrides spec.tolerations. It must be an array conforming to Kubernetes
core/v1.Toleration specification. For more information, see Kubernetes Taints and Tolerations
|
null (It uses spec.tolerations if it
is set.) |
| Parameters | Description | Default/Example values |
|---|---|---|
| database.use_embedded |
A flag to control whether to use the EDB Postgres database or not. |
false (It cannot be changed to
true.) |
| database.current_schema |
The name of the schema in the database for the decision runtime. If you are using a PostgreSQL server hosted on IBM Cloud® Databases for PostgreSQL, the current_schema value must be specified
as a comma-separated list composed of the schema name for the decision runtime followed by
|
ads |
| database.hostname |
Hostname of the remote PostgreSQL server. |
|
| database.name |
The name of the database for the decision runtime in the PostgreSQL server. |
adsruntime |
| database.port |
TCP port number of the remote PostgreSQL server. |
5432 |
| database.secret_name |
The name of the secret with credentials for roles to connect to the PostgreSQL database. |
|
| database.ssl_mode |
The level of TLS protection when Decision Designer is connecting to the remote PostgreSQL server. Valid modes are
|
verify-full |
| database.ssl_secret_name |
The name of the secret with TLS certificates for the administration role of the decision runtime. |
|
| database.jdbc_driver.driver_image.repository | The registry and namespace where the custom JDBC container image is located. | For example: myregistry/custom_jdbc_driver |
| database.jdbc_driver.driver_image.tag | The tag of the custom JDBC container image. It must not be used when digest is used. | For example: 0.0.1 |
| database.jdbc_driver.driver_image.digest | The digest of the custom JDBC container image. It must not be used when tag is used. | For example:
sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf |
| database.jdbc_driver.driver_name | The name of the JDBC driver |
For example: Default: |
| database.jdbc_driver.driver_protocol | The protocol for the JDBC driver. |
For example: Default: |
| database.jdbc_driver.driver_path | The path to the directory containing JDBC driver files. | Default: /jdbc/postgresql |
| Parameters | Description | Default/Example values |
|---|---|---|
| autoscaling.enabled | Specifies whether horizontal pod autoscaling is enabled or not. | Default value is false, except in the case of an extra-large deployment profile size. |
| autoscaling.max_replicas | Maximum number of replicas. | 5 |
| autoscaling.min_replicas | Minimum number of replicas. | 2 |
| autoscaling.metrics | Metrics specifications for scaling decisions | Automatically calculated based on resource limits. |
| autoscaling.behavior | Extra parameters (tolerance, stabilization window, …) as defined in Configurable scaling behavior
|
Kubernetes defaults. |
Determines when a new pod is created, based on the value of
resources.requests.cpu. From 26.0.0, use
autoscaling.target_cpu_utilization_percentage instead. |
Default value is 160, which means that a new pod is created when the CPU usage is more than
1.6 the value of resources.requests.cpu. |
|
| cache.config.expiry |
An optional XML fragment to configure how decision service archives expire in the cache. Three expiry types are supported:
For example, to configure a time-to-live expiry of 15 minutes:
The value of the unit attribute is one of "nanos", "micros", "millis", "seconds", "minutes", "hours", or "days". |
none |
| cache.config.resources | Specifies the maximum size of the decision service archives cache. The cache size can be
expressed as a number of entries, or as a memory size. When the maximum value is reached, one or
more entries are evicted from the cache. For example, to configure a cache with at most 100
entries:
To configure a
cache that cannot occupy more than 250 MB of
memory:
The value of the unit attribute is one of "entries", "B", "kB", "MB", "GB", "TB", "PB". |
|
| decision_runtime_service.affinity | Optional. Kubernetes affinity rules for decision runtime service pods. It overrides
decision_runtime.affinity and spec.affinity. It must
conform to Kubernetes core/v1.Affinity specification. For more information, see
Kubernetes Affinity and Anti-Affinity
|
null (It uses decision_runtime.affinity if it is
set.) |
| decision_runtime_service.tolerations | Optional. Kubernetes tolerations for decision runtime service pods. It overrides
decision_runtime.tolerations and spec.tolerations. It
must be an array conforming to Kubernetes core/v1.Toleration specification. For
more information, see Kubernetes Taints and Tolerations
|
null (It uses decision_runtime.tolerations if it is
set.) |
| decision_selection.cache.config.expiry | Same as cache.config.expiry parameter. |
Same as cache.config.expiry parameter. |
| decision_selection.cache.config.resources | Same as cache.config.resources parameter. |
Same as cache.config.resources parameter. |
| decision_selection.threads | The maximum number of threads that perform updates of the decision selection results cache concurrently. | 1 |
| decision_selection.update_interval | The interval, in milliseconds, between decision selection results cache updates. | 120000 (2 minutes ) |
| decision_selection.query_interval | The interval, in milliseconds, between the execution of decision selection storage queries in the same thread. This delay is intended to reduce the possible bursts of database operations when the selection results cache has a large number of entries. | 1000 (1 second ) |
| image.digest | The image digest name of the container, if you prefer to use the digest instead of the tag. Digest has priority over tag. | |
| image.repository | The registry and namespace where the container images are located. | cp.icr.io/cp/cp4a/ads/ads-runtime |
| metadata.cache.config.check_interval | Integer. The interval, in milliseconds, between two metadata cache updates. | 30000 |
| metadata.cache.config.expiry | An optional XML fragment to configure how metadata expire in the cache. The syntax is
identical to cache.config.expiry. |
none |
| metadata.cache.config.manager.threads | Integer. The number of threads that perform metadata cache updates. | 1 |
| metadata.cache.config.resources | Specifies the maximum size of the metadata cache. The syntax is identical to
cache.config.resources. |
For more information about profile size values, see System requirements |
| pod_disruption_budget.enabled | Used to know if PDB has to be created for the runtime service. | Defaults to the global spec.enable_pdb value. |
| pod_disruption_budget.maxUnavailable | See https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget. | No default as mutually exclusive with minAvailable. |
| pod_disruption_budget.minAvailable | See https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget. | Default:
|
| pod_disruption_budget.unhealthyPodEvictionPolicy | See https://kubernetes.io/docs/tasks/run-application/configure-pdb/#unhealthy-pod-eviction-policy. | Default: AlwaysAllow |
| replica_count | The number of desired replicas of the container. Ignored if
autoscaling.enabled is set to true. |
Default value is 1 in starter mode, 2 in any other installation mode. |
| resources.limits.cpu | Specifies the CPU limit for the container. | 2 |
| resources.limits.memory | Specifies the memory limit for the container. | 2Gi |
| resources.requests.cpu | Specifies the CPU request for the container. | 1 |
| resources.requests.memory | Specifies the memory request for the container. | 512Mi |
| stack_trace_enabled | A flag that controls whether the decision runtime includes an exception stack trace in the response payload when an incident occurs. | false |
| tls.allow_self_signed | A flag that controls whether self-signed certificates are allowed or not to connect to decision storage or ML providers. | false |
| tls.certs_config_map_name | The name of the ConfigMap that holds the TLS certificates. | null (optional) |
| tls.enabled | A flag that controls whether TLS is required for decision storage or for ML providers connections (HTTPS protocol). | Not present. TLS is supported in all cases when connecting to ML providers. |
| tls.verify_hostname | A flag that controls whether hostnames of TLS certificates are verified to connect to decision storage or ML providers. | false |
| Parameters | Description | Default/Example values |
|---|---|---|
| spec.usage_metrics.reporter.cronjob_schedules |
Use this parameter to specify the frequency of reporting usage metrics from Decision Intelligence Client Managed Software to IBM® Usage Metering Service (UMS). Use UNIX cron format. For more information, see Metering and tracking usage for decision runtime. |
Default value is 3/20 * * * *. It means at X:03, X:23 and X:43 for each X hour. |