Configuring Decision Intelligence Client Managed Software

Before you install, configure the custom resource YAML file for your Decision Intelligence Client Managed Software deployment.

Before you begin

Make sure that you follow the instructions in Preparing to install Decision Intelligence Client Managed Software where you configure important settings such as secrets, certificates, and persistent volumes.

For more information about the configuration parameters for Decision Designer and the decision runtime that are described in the procedure, see Decision Designer parameters and Decision runtime parameters.

Procedure

  1. Specify which components to deploy and how to access them from outside the cluster.

    To do so, set the following parameters in the custom resource YAML file:

    Table 1. Basic Decision Intelligence configuration parameters
    Parameter Description Default
    spec.decision_designer.enabled A flag to control whether Decision Designer is deployed or not. false
    spec.decision_runtime.enabled A flag to control whether the decision runtime is deployed or not. false
    spec.deployment_profile_size A flag to control the default CPU and memory resources and replica count to be applied to Decision Intelligence services and pods. Possible values are: small, medium, large, and extra-large. small
    spec.metering_mode

    (Optional) If you want to use IBM Decision Intelligence Client Managed Software with IBM Cloud Pak® for Business Automation entitlements, create this parameter and set its value to pvu-vpc

    For more information, see Collecting and sending metrics to IBM Software Central.

     
    spec.enable_pdb

    A flag to indicate if Pod Disruption Budget (PBD) must be created for each services.

    PDBs are created with minAvailable: 1 only if the replica count of a particular deployment is greater than 1.

    Otherwise, PDBs have minAvailable: 0 if the replica is 1.

    false
      spec:
        # Actually overloaded by other values below
        deployment_profile_size: "small"
    
        decision_designer:
          enabled: true
          deployment_profile_size: "medium"
    
        decision_runtime:
          enabled: true
          deployment_profile_size: "large"
    
  2. Specify the parameters for the database of Decision Designer and the JDBC driver.
    To do so, set the following parameters in the custom resource YAML file:
    Table 2. Configuration parameters for the database of Decision Designer
    Parameter Description Default
    spec.decision_designer.database.use_embedded

    A flag to control whether to use the EDB Postgres database or not.

    false (You cannot change it to true.)
    spec.decision_designer.database.hostname

    Hostname of the remote PostgreSQL server.

     
    spec.decision_designer.database.name

    The name of the database for Decision Designer in the PostgreSQL server.

    adsdesigner
    spec.decision_designer.database.current_schema

    The name of the schema in the database for Decision Designer.

    ads
    spec.decision_designer.database.secret_name

    The name of the secret with credentials for roles to connect to the PostgreSQL database.

    For more information, see Configuring PostgreSQL storage.

     
    spec.decision_designer.database.ssl_secret_name

    The name of the secret with TLS certificates for the administration role of the decision runtime.

    For more information, see Configuring PostgreSQL storage.

     
    spec.decision_designer.database.data_access_ssl_secret_name

    The name of the secret with TLS certificates for the data access role of Decision Designer.

    For more information, see Configuring PostgreSQL storage.

     
    Table 3. Configuration parameters for the JDBC driver: spec.decision_designer.database.jdbc_driver parameters
    Parameter Description Default
    driver_image.repository

    The registry and namespace where the custom JDBC container image is located.

    For more information, see Custom JDBC drivers.

    For example: myregistry/custom_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
    driver_image.digest The digest of the custom JDBC container image. It must not be used when tag is used. For example: sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
    driver_name The name of the JDBC driver.

    For example: software.amazon.jdbc.Driver

    Default: org.postgresql.Driver

    driver_protocol The protocol for the JDBC driver.

    For example: jdbc:aws-wrapper:postgresql

    Default: jdbc:postgresql

  3. Specify the parameters for the database of the decision runtime and the JDBC driver.
    To do so, set the following parameters in the custom resource YAML file:
    Table 4. Configuration parameters for the database of the decision runtime
    Parameter Description Default
    spec.decision_runtime.database.use_embedded

    A flag to control whether to use the EDB Postgres database or not.

    false (You cannot change it to true.)
    spec.decision_runtime.database.hostname

    Hostname of the remote PostgreSQL server.

     
    spec.decision_runtime.database.name

    The name of the database for the decision runtime in the PostgreSQL server.

    adsruntime
    spec.decision_runtime.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 ibm_extension. For example, ads, ibm_extension.

    ads
    spec.decision_runtime.database.secret_name

    The name of the secret with credentials for roles to connect to the PostgreSQL database.

    For more information, see Configuring PostgreSQL storage.

     
    spec.decision_runtime.database.ssl_secret_name

    The name of the secret with TLS certificates for the administration role of the decision runtime.

    For more information, see Configuring PostgreSQL storage.

     
    spec.decision_runtime.database.data_access_ssl_secret_name

    The name of the secret with TLS certificates for the data access role of the decision runtime.

    For more information, see Configuring PostgreSQL storage.

     
    Table 5. Configuration parameters of the JDBC driver: spec.decision_runtime.database.jdbc_driver parameters
    Parameter Description Default
    driver_image.repository

    The registry and namespace where the custom JDBC container image is located.

    For more information, see Custom JDBC drivers.

    For example: myregistry/custom_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
    driver_image.digest The digest of the custom JDBC container image. It must not be used when tag is used. For example: sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
    driver_name The name of the JDBC driver.

    For example: software.amazon.jdbc.Driver

    Default: org.postgresql.Driver

    driver_protocol The protocol for the JDBC driver.

    For example: jdbc:aws-wrapper:postgresql

    Default: jdbc:postgresql

  4. Optional: If you do not want to keep the default values of the Decision Designer container services, set the resources requests and limits.
    The Decision Designer containers include:
    • git_service
    • parsing_service
    • run_service
    • credentials_service
    • rest_api
    Specify the values of the following parameters for each container.
    Table 6. Decision Designer containers configuration parameters
    Parameter Description
    image.repository The registry and namespace where the container images are located.
    image.tag The image tag name of the container.
    replica_count The number of wanted replicas of the container.
    resource.limits.memory Specifies the memory limit for the container.
    resource.limits.cpu Specifies the CPU limit for the container.
    resource.requests.memory Specifies the memory request for the container.
    resource.requests.cpu Specifies the CPU request for the container.
    For example:
    decision_designer:
      rest_api:
        image:
          repository: "cp.icr.io/ads-runtime"
        replica_count: "4"
        resources:
          limits:
            memory: "2Gi"
            cpu: "2000m"
          requests:
            memory: "512Mi"
            cpu: "500m"
    

    For more information about the default resource values of the Decision Designer container services, see System requirements.

  5. Optional: If you do not want to keep the default values of the decision runtime container service, set the resources requests and limits.

    Specify the values of the following parameters.

    Table 7. Decision runtime container configuration parameters
    Parameter Description Default
    image.repository The registry and namespace where the container images are located.  
    image.tag The image tag name of the container.  
    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.  
    replica_count

    The number of wanted replicas of the container. Ignored if autoscaling.enabled is set to true.

    2
    resource.limits.memory Specifies the memory limit for the container. 2Gi
    resource.limits.cpu Specifies the CPU limit for the container. 2
    resource.requests.memory Specifies the memory request for the container. 512Mi
    resource.requests.cpu Specifies the CPU request for the container. 1

    If you want to configure horizontal autoscaling, see Configuring Horizontal Pod Autoscaler.

    For more information about the default resource values of the decision runtime container service, see System requirements.

  6. Optional: You can specify extra labels for the Decision Intelligence pods.
    For example:
    spec:
      decision_runtime: 
        labels: 
           key: value
        decision_runtime_service:
          labels:
            key: value    # overrides decision_runtime.labels.key
            key2: value2  # addition specific to decision_runtime_service
            ..
    
      decision_designer:
        labels:
          key:value
    
    
    • The labels section under the decision_designer element adds labels to all deployments and pod that compose Decision Designer (rest-api, git-service, run-service, and credentials-service).
    • The labels section under the decision_runtime element adds labels to all deployments and pod that compose the decision runtime (decision-runtime-service).

    You can also specify labels in the more specialized sections for each deployment, such as git_service, and decision_runtime_service. These specialized labels override the ones in the general sections.

    For more information about the syntax for the individual label keys and values, see the Kubernetes documentation External link opens a new window or tab.

    Restriction: Labels that use the prefixes kubernetes.io, icp4a.ibm.com, and ads.ibm.com are reserved and forbidden in these labels sections. Same for the release label.
  7. Optional: Set any other configuration parameters in the custom resource YAML file. Refer to Preparing to install Decision Intelligence Client Managed Software where you might have defined important settings such as secrets, certificates, and persistent volumes.

    For a complete list of configuration parameters, see Configuration parameters.