UtilityServiceGroup
custom resource parameters
Set up your own UtilityServiceGroup
custom resource by configuring the parameters
in a YAML, as required.
UtilityServiceGroup
:image
specifications that are defined under
UtilityServiceGroup
takes precedence over the global image specifications
that are defined in the SIPEnvironment
. The image parameters appear by
default, hence, to override the default image parameters, update the parameters as
required.Property | Default value | Value type | Required | Description |
---|---|---|---|---|
name |
string | Yes | Specify the environment to which you want to deploy your service group. You can deploy
service groups in the following three modes:
|
|
namespace |
string | Yes | Specify the namespace where the UtilityServiceGroup will be
created. |
Property | Default value | Value type | Required | Description |
---|---|---|---|---|
active |
false |
boolean | Yes | Specify the active property to true to activate the service
group for Utility service and create resources and deployments in the cluster.Important: You can create multiple service groups but can activate only one at a time in the namespace.
Deactivate the active service group to activate a new service group. For more information, see Deactivating an active service group.
|
logLevel |
INFO |
string | No | Specify the logging level for the Utility service group. Available options are OFF,
FATAL, ERROR, WARN, INFO, DEBUG,TRACE, ALL .If the logging level at the individual server
level is not defined, the log level that is defined at Utility service group level is used. If the
service group log level is also not defined, then the global configuration in SIPEnvironment is used. If none of these is set, the default log level is |
pod.podLabels |
object | No | Specify any additional labels for pod. | |
pod.podAnnotations |
object | No | Specify any additional annotations for pod or deployment as a key-value pair. | |
defaultReplicas |
1 | integer | Yes | Specify the number of replicas for the UtilityServiceGroup . |
defaultResources |
For dev: Limits: CPU= 1 Memory= 1536Mi Requests: CPU= 100m Memory= 1Gi Memory= 1Gi For production, specify limits and requests for CPU and memory, based on your cluster configuration. |
object | Yes | Specify the CPU and memory resource requests and limits for the UtilityServiceGroup. |
image |
object | No | Specifying image properties are optional. For more information, see list of UtilityServiceGroup image properties. |
|
image.imagePullSecrets |
array | No | References to secrets in the same namespace for pulling the images. It can be referred as
name-value pair . |
|
auditService |
object | No | Specify the audit service properties as explained in the Properties specific to utility services. | |
carrierService |
object | No | Specify the carrier service properties as explained in the Properties specific to utility services. | |
catalogService |
object | No | Specify the catalog service properties as explained in the Properties specific to utility services. | |
rulesService |
object | No | Specify the rules service properties as explained in the Properties specific to utility services. | |
searchService |
object | No | Specify the search service properties as explained in the Properties specific to utility services. | |
logstash |
object | No | Specify the logstash properties as explained in the Properties specific to utility services. |
Properties specific to utility services
The value of <service_name>
for the properties that are listed in the
following table depends on the service that you are using.
The application servers are automatically populated for all the utility services. For application
servers, replicas, and resources, the value of <service_name>
can be either one
from the values- auditService
, catalogService
,
carrierService
, rulesService
, or
searchService
.
The Logstash servers are automatically populated for audit service and search service only.
Hence, the value of <service_name>
can be either auditService
or searchService
. For more information about dynamic Logstash management, see Logstash pipeline configuration management.
The backend servers are automatically populated for catalog service and rules service only.
Hence, the value of <service_name>
can be either catalogService
or rulesService
.
For search service properties, the value of <service_name>
can be
searchService
only.
Type of server | Property | Default value | Value type | Required | Description |
---|---|---|---|---|---|
Application servers | <service_name>.appServers.active |
true | boolean | No | This flag is set to true by default to activate a server or a group of
servers. To deactivate, set it to false . |
<service_name>.appServers.affinityAndTolerations |
string | No | Use the name of the affinityAndTolerations that is defined in the SIPEnvironment. |
||
<service_name>.appServers.horizontalPodAutoscaler |
string | No | Specify the name of the pre-defined Horizontal Pod Autoscaler that is to be used. For more information, see Configuring horizontalPodAutoscalers parameter. | ||
|
Group name is pre-defined for each application server. | string | It is the group name of the application servers that are automatically populated by the
service. You can modify the group name as required. In Kubernetes, the character limit of label values is 63, which often cause deployment errors with long resource names. To avoid errors, you can use group name to identify deployments, allowing flexible and organized deployment management. For more information, see Using group names to avoid errors with long resource names. |
||
<service_name>.appServers.names |
<List of pre-populated servers> | array | A list of app servers is automatically populated based on the environment (dev or production) that you have specified in your custom resource. | ||
<service_name>.appServers.replicaCount |
1 | integer | Yes | Specify the number of replicas for the service. | |
<service_name>.appServers.resources |
For dev: Limits: CPU= 1 Memory= 1536Mi Requests: CPU= 100m Memory= 1Gi Memory= 1Gi For production, specify limits and requests for CPU and memory, based on your cluster configuration. |
object | Yes | Specify the CPU and memory resource requests and limits for the service. | |
<service_name>.appServers.property.envVars |
string | No | Use the name of envVars from attribute serverProperties.envVars[].groupName
or serverProperties.envVars[].derivatives[].groupName . |
||
<service_name>.appServers.property.jvmArgs |
string | No | Use the name of jvmArgs from attribute serverProperties.jvmArgs[].groupName
or serverProperties.jvmArgs[].derivatives[].groupName . |
||
<service_name>.appServers.logLevel |
INFO | string | No | Specify this property to override the log level at the individual server level. Available
options are OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL . If not set at the
individual server level, the log level that is defined at the service group level is used. If the
service group log level is also not defined, then the global configuration in SIPEnvironment is used. If none of these is set, the default log level is INFO .
This allows customized control of logging for each server instance. |
|
<service_name>.appServers.image.tag |
string | No | Specify this property to define the image tag for the individual server. If it is not set, the tag that is defined in the service group or global configuration in SIPEnvironment is used. This enables precise control over the image version that is used by each server instance. | ||
<service_name>.appServers.image.pullPolicy |
string | No | Specify this property to define the image pull policy for the individual server. If it is not set, the policy defined in the service group or global configuration in SIPEnvironment is used. This controls the image pull behavior for the server instance. | ||
Replicas and resources | <service_name>.defaultReplicas |
1 | integer | Yes | Specify the number of replicas for the service. |
<service_name>.affinityAndTolerations |
string | No | Use the name of the affinityAndTolerations that is defined in the SIPEnvironment. |
||
<service_name>.horizontalPodAutoscaler |
string | No | Specify the name of the pre-defined Horizontal Pod Autoscaler that is to be used. For more information, see Configuring horizontalPodAutoscalers parameter. | ||
<service_name>.defaultResources |
For dev: Limits: CPU= 1 Memory= 1536Mi Requests: CPU= 100m Memory= 1Gi |
object | Yes | Specify the CPU and memory resource requests and limits for the service. | |
<service_name>.property.envVars |
string | No | Use the name of envVars from attribute serverProperties.envVars[].groupName
or serverProperties.envVars[].derivatives[].groupName . |
||
<service_name>.property.jvmArgs |
string | No | Use the name of jvmArgs from attribute serverProperties.jvmArgs[].groupName
or serverProperties.jvmArgs[].derivatives[].groupName . |
||
Logstash servers | <service_name>.logstashServers.active |
true | boolean | No | This flag is set to true by default to activate a server or a group of
servers. To deactivate, set it to false . |
|
Group name is pre-defined for each application server. | string | It is the group name of the logstash servers that are automatically populated by the service.
You can modify the group name as required. In Kubernetes, the character limit of label values is 63, which often cause deployment errors with long resource names. To avoid errors, you can use group name to identify deployments, allowing flexible and organized deployment management. For more information, see Using group names to avoid errors with long resource names. |
||
<service_name>.logstashServers.names |
array | A list of logstash servers is automatically populated based on the environment (dev or production) that you have specified in your custom resource. | |||
<service_name>.logstashServers.replicaCount |
1 | integer | Yes | Specify the number of replicas for the service. | |
<service_name>.logstashServers.resources |
For dev: Limits: CPU= 1 Memory= 1536Mi Requests: CPU= 100m Memory= 1Gi |
object | Yes | Specify the CPU and memory resource requests and limits for the service. | |
<service_name>.logstashServers.property.envVars |
string | No | Use the name of envVars from attribute serverProperties.envVars[].groupName
or serverProperties.envVars[].derivatives[].groupName . |
||
<service_name>.logstashServers.property.jvmArgs |
string | No | Use the name of jvmArgs from attribute serverProperties.jvmArgs[].groupName
or serverProperties.jvmArgs[].derivatives[].groupName |
||
<service_name>.logstashServers.logLevel |
INFO | string | No | Specify this property to override the log level at the individual server level. Available
options are OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL . If not set at the
individual server level, the log level that is defined at the service group level is used. If the
service group log level is also not defined, then the global configuration in SIPEnvironment is used. If none of these is set, the default log level is INFO .
This allows customized control of logging for each server instance. |
|
<service_name>.logstashServers.image.tag |
string | No | Specify this property to define the image tag for the individual server. If it is not set, the tag that is defined in the service group or global configuration in SIPEnvironment is used. This enables precise control over the image version that is used by each server instance. | ||
<service_name>.logstashServers.image.pullPolicy |
string | No | Specify this property to define the image pull policy for the individual server. If it is not set, the policy defined in the service group or global configuration in SIPEnvironment is used. This controls the image pull behavior for the server instance. | ||
Backend servers | <service_name>.backendServers.active |
true | boolean | No | This flag is set to true by default to activate a server or a group of
servers. To deactivate, set it to false . |
<service_name>.backendServers.affinityAndTolerations |
string | No | Use the name of the affinityAndTolerations that is defined in the SIPEnvironment. |
||
<service_name>.backendServers.horizontalPodAutoscaler |
string | No | Specify the name of the pre-defined Horizontal Pod Autoscaler that is to be used. For more information, see Configuring horizontalPodAutoscalers parameter. | ||
|
Group name is pre-defined for each application server. | string | It is the group name of the backend servers that are automatically populated by the service.
You can modify the group name as required. In Kubernetes, the character limit of label values is 63, which often cause deployment errors with long resource names. To avoid errors, you can use group name to identify deployments, allowing flexible and organized deployment management. For more information, see Using group names to avoid errors with long resource names. |
||
|
1 | integer | Yes | Specify the number of replicas for the service. | |
<service_name>.backendServers.resources |
For dev: Limits: CPU= 1 Memory= 1536Mi Requests: CPU= 100m Memory= 1Gi Memory= 1Gi For production, specify limits and requests for CPU and memory, based on your cluster configuration. |
object | Yes | Specify the CPU and memory resource requests and limits for the service. | |
<service_name>.backendServers.property.envVars |
string | No | Use the name of envVars from attribute serverProperties.envVars[].groupName
or serverProperties.envVars[].derivatives[].groupName . |
||
<service_name>.backendServers.property.jvmArgs |
string | No | Use the name of jvmArgs from attribute serverProperties.jvmArgs[].groupName
or serverProperties.jvmArgs[].derivatives[].groupName . |
||
<service_name>.backendServers.logLevel |
INFO | string | No | Specify this property to override the log level at the individual server level. Available
options are OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL . If not set at the
individual server level, the log level that is defined at the service group level is used. If the
service group log level is also not defined, then the global configuration in SIPEnvironment is used. If none of these is set, the default log level is INFO .
This allows customized control of logging for each server instance. |
|
<service_name>.backendServers.image.tag |
string | No | Specify this property to define the image tag for the individual server. If it is not set, the tag that is defined in the service group or global configuration in SIPEnvironment is used. This enables precise control over the image version that is used by each server instance. | ||
<service_name>.backendServers.image.pullPolicy |
string | No | Specify this property to define the image pull policy for the individual server. If it is not set, the policy defined in the service group or global configuration in SIPEnvironment is used. This controls the image pull behavior for the server instance. | ||
Search service properties | <service_name>. distributionShipNodesCacheDurationMinutes |
10 | integer | No | Specify the time in minutes, after which distribution group cache shall expire. |
<service_name>.maxAllowedNumberOfItemIds |
10 | integer | No | Specify the number of item IDs that are allowed when searching for item ids. | |
<service_name>.maxAllowedNumberOfShipNodes |
200 | integer | No | Specify the number of ship nodes that are allowed when searching for ship nodes. | |
<service_name>.removeSortingForSingleItemId |
false | boolean | No | Specify this flag to enable or disable sorting by Item ID or UOM. |
Logstash pipeline configuration management
You can dynamically manage Logstash pipeline configurations for search services across development, production, and flexible modes.
- Development mode
- Effective from 10.0.2409.1 release, a single StatefulSet is created for the three search
pipelines—Supply, Demand, and Reservation. The
init
container merges these configurations dynamically.
- Production mode
- Separate StatefulSets are created for each of the three search pipelines, with no configuration
merging required. Therefore, the
init
container is not used.
- Flexible mode
- StatefulSets and merged configurations are generated based on the selected pipelines. The
init
container merges the pipelines when necessary, providing flexible and customizable deployment options.
Deactivating an active service group
- If a service group is created outside of
, you can only delete it from outside ofSIPEnvironment
. In this case, set theSIPEnvironment
active
property to false to deactivate the service group. - If a service group is created inside the
, you can only delete it from theSIPEnvironment
. In this case, do any of the following actions:SIPEnvironment
- Remove the service group from
.SIPEnvironment
- Update the service group to a different mode (dev or production) as needed, to automatically deactivate the existing service group.
- Remove the service group from
Using group names to avoid errors with long resource names
Instead of directly using long deployment names in labels or selectors, for example,
metadata.labels
, spec.selector.matchLabels
, which may exceed the
63-character limit, assign a concise group name to represent the deployment. This approach enables
simpler label management and organizes specific deployment configurations within the group.
utilityServiceGroup:
- active: true
groupName: <deployment-name>
names:
- "iv-supply-breakup-snapshot-source-stream-flatten:4"
replicaCount: 4