Reasoning Service parameters

Update the custom resource YAML file to provide the configuration values for the Reasoning Service component in your IBM Content Cortex AI Services deployment.

Table 1. Reasoning Service configuration parameters: reasoning_service_configuration
Parameters Description Default or example values Required
reasoning_service_secret_name Specifies the secret that contains provider credentials and configuration for the Reasoning Service. ibm-providers-config-secret Yes
reasoning_service_ext_tls_secret_name Specifies an existing certificate secret for automatic creation of OpenShift routes. "" No
reasoning_service_auth_ca_secret_name Specifies the certificate authority secret that signs the external TLS secret for automatic creation of OpenShift routes. "" No
route_ingress_annotations Specifies custom annotations for generated routes or ingress resources. haproxy.router.openshift.io/balance: roundrobin No
replica_count Specifies the number of Reasoning Service replicas. 2 No
rolling_update
  • max_unavailable
  • max_surge
Rolling update settings for Reasoning Service deployment. The max_unavailable parameter specifies the maximum number or percentage of unavailable pods during a rolling update. The max_surge parameter specifies the maximum number of extra pods that can be created during a rolling update.
  • 25%
  • 1
No
arch.amd64 Specifies the architecture preference for Linux on x86 clusters. 3 - Most preferred No
image.repository Specifies the container image repository for the Reasoning Service image. cp.icr.io/cp/cp4a/fncm/reasoning-services Yes
image.tag Specifies the image tag for the Reasoning Service container image. 26.0.0 No
image.pull_policy Specifies the image pull policy for the Reasoning Service container image. IfNotPresent No
image.digest Specifies the image digest as an alternative to the image tag. sha256:... No
resources.requests.cpu Specifies the requested CPU resources for the Reasoning Service pods. 500m No
resources.requests.memory Specifies the requested memory resources for the Reasoning Service pods. 1Gi No
resources.requests.ephemeral_storage Specifies the requested ephemeral storage for the Reasoning Service pods. 1Gi No
resources.limits.cpu Specifies the CPU resource limit for the Reasoning Service pods. 2000m No
resources.limits.memory Specifies the memory resource limit for the Reasoning Service pods. 4Gi No
resources.limits.ephemeral_storage Specifies the ephemeral storage limit for the Reasoning Service pods. 2Gi No
auto_scaling.enabled Specifies whether horizontal pod autoscaling is enabled for the Reasoning Service. false No
auto_scaling.max_replicas Specifies the maximum number of replicas when autoscaling is enabled. <Required> No
auto_scaling.min_replicas Specifies the minimum number of replicas when autoscaling is enabled. <Required> No
auto_scaling.target_cpu_average_utilization Specifies the target average CPU utilization percentage for autoscaling. <Required> No
auto_scaling.target_memory_average_utilization Specifies the target average memory utilization percentage for autoscaling. <Required> No
auto_scaling.scaleup.policies_pods_value Specifies the maximum number of pods that the horizontal pod autoscaler can add during each scale-up interval. <Optional> No
auto_scaling.scaleup.policies_pods_period_seconds Specifies how often the horizontal pod autoscaler can apply a scale-up action. <Optional> No
auto_scaling.scaleup.stabilization_window_seconds Specifies the cooldown window before a scale-up action is applied. <Optional> No
auto_scaling.scaledown.policies_pods_value Specifies the maximum number of pods that the horizontal pod autoscaler can remove during each scale-down interval. <Optional> No
auto_scaling.scaledown.policies_pods_period_seconds Specifies how often the horizontal pod autoscaler can apply a scale-down action. <Optional> No
auto_scaling.scaledown.stabilization_window_seconds Specifies the cooldown window before a scale-down action is applied. <Optional> No
node_affinity.custom_node_selector_match_expression Specifies custom node selector match expressions for node affinity. [] No
custom_annotations Specifies custom annotations that are added to generated pods. { } No
custom_labels Specifies custom labels that are added to generated pods. { } No
tolerations Specifies tolerations that allow pods to be scheduled on tainted nodes. [] No
security_context.supplemental_groups Specifies supplemental group IDs for the container security context. [] No
security_context.selinux_options Specifies SELinux options for the container security context. {} No
security_context.fs_groupchangepolicy Specifies how ownership and permissions are changed for mounted volumes. "" No
custom_configmap Specifies custom ConfigMaps to mount into the Reasoning Service pods. Commented out No
reasoning_service_production_setting.log_level Specifies the general application logging level. info No
reasoning_service_production_setting.mcp_client Specifies the logging level for MCP client communication. info No
reasoning_service_production_setting.basic_search Specifies the logging level for the basic search agent. info No
reasoning_service_production_setting.navigator_core Specifies the logging level for the watsonx search agent. info No
reasoning_service_production_setting.api Specifies the logging level for API endpoint processing. info No
reasoning_service_production_setting.agent_registry Specifies the logging level for agent registry operations. info No
reasoning_service_production_setting.thread_manager Specifies the logging level for thread management. info No
reasoning_service_production_setting.tool_registry Specifies the logging level for tool registry operations. info No
reasoning_service_production_setting.auth Specifies the logging level for authentication processing. warning No
reasoning_service_production_setting.console_output Specifies whether console logging is enabled. false No
reasoning_service_production_setting.file_output Specifies whether file-based logging is enabled. true No
reasoning_service_production_setting.file_mcp_client_path Specifies the log file path for MCP client logs. /app/logs/mcp_client.log No
reasoning_service_production_setting.file_navigator_core_path Specifies the log file path for watsonx search agent logs. /app/logs/navigator_core_agent.log No
reasoning_service_production_setting.file_api_path Specifies the log file path for API logs. /app/logs/api.log No
reasoning_service_production_setting.file_agent_registry_path Specifies the log file path for agent registry logs. /app/logs/api.log No
reasoning_service_production_setting.file_thread_manager_path Specifies the log file path for thread manager logs. /app/logs/api.log No
reasoning_service_production_setting.file_tool_registry_path Specifies the log file path for tool registry logs. /app/logs/utils.log No
reasoning_service_production_setting.file_auth_path Specifies the log file path for authentication logs. /app/logs/api.log No
reasoning_service_production_setting.startup.workers Specifies the number of startup workers. 4 No
reasoning_service_production_setting.startup.limit_concurrency Specifies the startup concurrency limit. 4 No
reasoning_service_production_setting.startup.limit_max_requests Specifies the maximum number of requests before worker recycling. 2000 No
reasoning_service_production_setting.startup.timeout_keep_alive Specifies the keep-alive timeout, in seconds. 600 No
datavolume.existing_pvc_for_reasoning_service_cfgstore.name Specifies the persistent volume claim name for configuration storage. reasoning-service-config-pvc No
datavolume.existing_pvc_for_reasoning_service_cfgstore.size Specifies the persistent volume claim size for configuration storage. 5Gi No
datavolume.existing_pvc_for_reasoning_service_logstore.name Specifies the persistent volume claim name for log storage. reasoning-service-logs-pvc No
datavolume.existing_pvc_for_reasoning_service_logstore.size Specifies the persistent volume claim size for log storage. 10Gi No
probe.readiness
  • initial_delay_seconds
  • period_seconds
  • timeout_seconds
  • failure_threshold
The behavior of readiness probes to know when the containers are ready to start accepting traffic.
  • 10
  • 10
  • 5
  • 3
No
probe.liveness
  • initial_delay_seconds
  • period_seconds
  • timeout_seconds
  • failure_threshold
The behavior of liveness probes to know when to restart a container.
  • 60
  • 30
  • 5
  • 3
No
probe.startup
  • initial_delay_seconds
  • period_seconds
  • timeout_seconds
  • failure_threshold
The behavior of startup probes to know when the container is started.
  • 30
  • 10
  • 5
  • 30
No