Configure Interaction Server
From Genesys Documentation
This topic is part of the manual Interaction Server Private Edition Guide for version Current of Interaction Server.
Contents
Learn how to prepare and configure deployment of Interaction Server (IXN) using Helm chart.
Related documentation:
RSS:
Deployment configuration settings (Helm values)
Following items should be configured:
- Interaction Server deployment settings
- Configuration Server settings
- Security context
Interaction Server deployment settings
The following table provides information on the Interaction Server deployment settings.
Key |
Type |
Default |
Description |
---|---|---|---|
image.imagePullSecrets |
list |
[] |
imagePullSecrets must have the following format: - name: pullSecret1 - name: pullSecret2 |
image.pullPolicy |
string |
"IfNotPresent" |
Images pull policy |
image.registry |
string |
"" |
Images registry |
ixnService.annotations |
string |
nil |
Extra Annotations ref:Annotations Must be declared with starting |- since they are parsed as template |
ixnService.image.ixnNode.repository |
string |
"" |
Interaction Server Node docker image repository |
ixnService.image.ixnNode.tag |
string |
"" |
Interaction Server Node docker image repository tag |
ixnService.image.ixnServer.repository |
string |
"" |
Interaction Server repository |
ixnService.image.ixnServer.tag |
string |
"" |
Interaction Server tag |
ixnService.image.logSidecar.enabled |
bool |
false |
Enable Interaction Server logging sidecar |
ixnService.image.logSidecar.repository |
string |
"" |
Interaction Server logging sidecar docker image repository |
ixnService.image.logSidecar.tag |
string |
"" |
Interaction Server logging sidecar docker image tag |
ixnService.ixnNode.configNode.host |
string |
nil |
Interaction Server Node connects to Voice Config Service host |
ixnService.ixnNode.configNode.port |
int |
8888 |
Interaction Server Node connects to Voice Config Service port |
ixnService.ixnNode.consul.host |
string |
nil |
A consul host is either a string literal or valueFrom definition to be inserted into pod definition |
ixnService.ixnNode.consul.port |
int |
8500 |
A consul port |
ixnService.ixnNode.consul.sslMode |
string |
nil |
Connect to Consul using SSL mode: true or false |
ixnService.ixnNode.livenessProbe.failureThreshold |
int |
3 |
Interaction Server Node liveness probe failure threshold |
ixnService.ixnNode.livenessProbe.initialDelaySeconds |
int |
15 |
Interaction Server Node liveness probe initial delay |
ixnService.ixnNode.livenessProbe.periodSeconds |
int |
30 |
Interaction Server Node liveness probe check period |
ixnService.ixnNode.livenessProbe.timeoutSeconds |
int |
3 |
Interaction Server Node liveness probe timeout |
ixnService.ixnNode.ports.default |
int |
13133 |
Interaction Server Node default port |
ixnService.ixnNode.readinessProbe.failureThreshold |
int |
3 |
Interaction Server Node readiness probe failure threshold |
ixnService.ixnNode.readinessProbe.initialDelaySeconds |
int |
15 |
Interaction Server Node readiness probe initial delay |
ixnService.ixnNode.readinessProbe.periodSeconds |
int |
30 |
Interaction Server Node readiness probe check period |
ixnService.ixnNode.readinessProbe.timeoutSeconds |
int |
3 |
Interaction Server Node readiness probe timeout |
ixnService.ixnNode.redisOptions.tls.enabled |
bool |
nil |
Enable TLS mode for Interaction Server Node to Redis connection |
ixnService.ixnNode.redisOptions.tls.rejectUnauthorized |
bool |
nil |
Reject unauthorized hostnames when using TLS connection |
ixnService.ixnNode.redis[0] |
object |
{"host":null,"is_redis_cluster":null,"port":6379} |
Interaction Server Node connects to Redis host |
ixnService.ixnNode.redis[0].is_redis_cluster |
string |
nil |
Is Redis instance a Cluster or not: true and false |
ixnService.ixnNode.redis[0].port |
int |
6379 |
Interaction Server Node connects to Redis port |
ixnService.ixnNode.resources.limits.cpu |
string |
"300m" |
Interaction Server Node Kubernetes CPU limit |
ixnService.ixnNode.resources.limits.memory |
string |
"320Mi" |
Interaction Server Node Kubernetes memory limit |
ixnService.ixnNode.resources.requests.cpu |
string |
"40m" |
Interaction Server Node Kubernetes CPU request |
ixnService.ixnNode.resources.requests.memory |
string |
"128Mi" |
Interaction Server Node Kubernetes memory request |
ixnService.ixnNode.settings.file |
string |
"settings.json" |
Interaction Server Node settings file name |
ixnService.ixnNode.settings.mountPath |
string |
"/mnt/settings" |
Interaction Server Node settings mount path |
ixnService.ixnNode.volumeMounts |
object |
{} |
Volumes mounted into an Interaction Server Node container |
ixnService.ixnServer.confServer.appName |
string |
nil |
Interaction Server application name in Configuration Server |
ixnService.ixnServer.confServer.host |
string |
nil |
Interaction Server connects to Configuration Server host |
ixnService.ixnServer.confServer.port |
int |
8888 |
Interaction Server connects to Configuration Server port |
ixnService.ixnServer.db.connectionString |
string |
"KeepaliveInterval=1;KeepaliveTime=60;" |
Interaction Server Database connection string suffix |
ixnService.ixnServer.db.engine |
string |
"postgre" |
Interaction Server Database engine |
ixnService.ixnServer.db.host |
string |
"" |
Interaction Server Database host |
ixnService.ixnServer.db.name |
string |
"" |
Interaction Server Database name |
ixnService.ixnServer.db.optionBlobChunkSize |
string |
nil |
Interaction Server Database Blob Chunk Size. Can be left empty |
ixnService.ixnServer.db.optionReconnectPause |
string |
nil |
Interaction Server Database Reconnect Pause. Can be left empty |
ixnService.ixnServer.db.port |
int |
5432 |
Interaction Server Database port |
ixnService.ixnServer.db.schemaName |
string |
nil |
Interaction Server Database schema name. Can be left empty |
ixnService.ixnServer.jvmOptions.1 |
string |
"-XX:+UnlockExperimentalVMOptions" |
|
ixnService.ixnServer.jvmOptions.2 |
string |
"-XX:+UseCGroupMemoryLimitForHeap" |
|
ixnService.ixnServer.jvmOptions.3 |
string |
"-XX:+UseG1GC" |
|
ixnService.ixnServer.jvmOptions.4 |
string |
"-XX:MinHeapFreeRatio=5" |
|
ixnService.ixnServer.jvmOptions.5 |
string |
"-XX:MaxHeapFreeRatio=10" |
|
ixnService.ixnServer.jvmOptions.6 |
string |
"-XX:GCTimeRatio=4" |
|
ixnService.ixnServer.jvmOptions.7 |
string |
"-XX:AdaptiveSizePol" |
|
ixnService.ixnServer.livenessProbe.failureThreshold |
int |
3 |
Interaction Server liveness probe failure threshold |
ixnService.ixnServer.livenessProbe.initialDelaySeconds |
int |
15 |
Interaction Server liveness probe initial delay |
ixnService.ixnServer.livenessProbe.periodSeconds |
int |
30 |
Interaction Server liveness probe check period |
ixnService.ixnServer.livenessProbe.timeoutSeconds |
int |
3 |
Interaction Server liveness probe timeout |
ixnService.ixnServer.logStorage.mountPath |
string |
"/mnt/logs" |
Interaction Server logs mount path |
ixnService.ixnServer.logStorage.storageClassName |
string |
nil |
Interaction Server log storage class name. Used for PVC, can be left empty |
ixnService.ixnServer.logStorage.storageSize |
string |
nil |
Interaction Server log storage size. Used for PVC, can be left empty |
ixnService.ixnServer.logStorage.volume |
object |
{} |
A volume definition to be inserted into Interaction Server container definition |
ixnService.ixnServer.ports.default |
int |
13130 |
Interaction Server default port |
ixnService.ixnServer.ports.health |
int |
13131 |
Interaction Server health port |
ixnService.ixnServer.readinessProbe.failureThreshold |
int |
3 |
Interaction Server readiness probe failure threshold |
ixnService.ixnServer.readinessProbe.initialDelaySeconds |
int |
15 |
Interaction Server readiness probe initial delay |
ixnService.ixnServer.readinessProbe.periodSeconds |
int |
30 |
Interaction Server readiness probe check period |
ixnService.ixnServer.readinessProbe.timeoutSeconds |
int |
3 |
Interaction Server readiness probe timeout |
ixnService.ixnServer.resources.limits.cpu |
string |
"1.25" |
Interaction Server Kubernetes CPU limit |
ixnService.ixnServer.resources.limits.memory |
string |
"6Gi" |
Interaction Server Kubernetes memory limit |
ixnService.ixnServer.resources.requests.cpu |
string |
"50m" |
Interaction Server Kubernetes CPU request |
ixnService.ixnServer.resources.requests.memory |
string |
"1Gi" |
Interaction Server Kubernetes memory request |
ixnService.ixnServer.secrets.db.enabled |
string |
nil |
Enable Interaction Server database secret |
ixnService.ixnServer.secrets.db.password |
string |
nil |
Interaction Server database password to put in the secret |
ixnService.ixnServer.secrets.db.secretName |
string |
nil |
Interaction Server database secret name |
ixnService.ixnServer.secrets.db.username |
string |
nil |
Interaction Server database username to put in the secret |
ixnService.ixnServer.serviceAccount.create |
bool |
true |
Create service account for Interaction Server |
ixnService.ixnServer.serviceAccount.name |
string |
nil |
The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template |
ixnService.ixnServer.startupProbe.failureThreshold |
int |
120 |
Interaction Server startup probe failure threshold |
ixnService.ixnServer.startupProbe.periodSeconds |
int |
30 |
Interaction Server startup probe check period |
ixnService.ixnServer.volumeMounts |
object |
{} |
Volumes mounted into an Interaction Server container |
ixnService.labels |
object |
{} |
Extra labels ref:Labels and Selectors |
ixnService.logSidecar.ports.health |
int |
13137 |
Log Sidecar health port |
ixnService.logSidecar.resources.limits.cpu |
string |
"300m" |
Interaction Server Log Sidecar Kubernetes CPU limit |
ixnService.logSidecar.resources.limits.memory |
string |
"320Mi" |
Interaction Server Log Sidecar Kubernetes memory limit |
ixnService.logSidecar.resources.requests.cpu |
string |
"40m" |
Interaction Server Log Sidecar Kubernetes CPU request |
ixnService.logSidecar.resources.requests.memory |
string |
"128Mi" |
Interaction Server Log Sidecar Kubernetes memory request |
ixnService.logSidecar.settings.enableHealthPort |
bool |
false |
Log Sidecar enable health port |
ixnService.nodeSelector |
object |
{} |
Node labels for assignment. ref:Labels and Selectors |
ixnService.priorityClassName |
string |
"" |
Priority Class ref:Assigning Pods to Nodes |
ixnService.prometheus.podMonitor.enabled |
bool |
false |
Enable Promethes PodMonitor |
ixnService.prometheus.podMonitor.targetLabels |
object |
{} |
Promethes PodMonitor target labels |
ixnService.securityContext |
object |
{} |
Security Context ref:Set the security context for a Container Containers should run as genesys user and cannot use elevated permissions !!! THESE OPTIONS SHOULD NOT BE CHANGED UNLESS INSTRUCTED BY GENESYS !!! |
ixnService.service.enabled |
bool |
true |
Enable Kubernetes service for Interaction Service |
ixnService.volumes |
string |
nil |
Volumes provided to Interaction Service pod Must be declared with starting |- since they are parsed as a template |
ixnVQNode.annotations |
string |
nil |
Extra Annotations ref:Annotations Must be declared with starting |- since they are parsed as a template |
ixnVQNode.image.ixnVQNode.repository |
string |
nil |
Interaction Server VQ Node docker image repository |
ixnVQNode.image.ixnVQNode.tag |
string |
nil |
Interaction Server VQ Node docker image tag |
ixnVQNode.labels |
object |
{} |
Interaction Server VQ Node extra labels ref:Labels and Selectors |
ixnVQNode.livenessProbe.failureThreshold |
int |
3 |
Interaction Server VQ Node liveness probe failure threshold |
ixnVQNode.livenessProbe.initialDelaySeconds |
int |
15 |
Interaction Server VQ Node liveness probe initial delay |
ixnVQNode.livenessProbe.periodSeconds |
int |
30 |
Interaction Server VQ Node liveness probe check period |
ixnVQNode.livenessProbe.timeoutSeconds |
int |
3 |
Interaction Server VQ Node liveness probe timeout |
ixnVQNode.nodeSelector |
object |
{} |
Node labels for assignment. ref:Assigning Pods to Nodes |
ixnVQNode.ports.default |
int |
13138 |
Interaction Server VQ Node default port |
ixnVQNode.ports.health |
int |
13139 |
Interaction Server VQ Node health port |
ixnVQNode.priorityClassName |
string |
"" |
Priority Class ref:Pod Priority and Preemption |
ixnVQNode.prometheus.podMonitor.enabled |
bool |
false |
Enable Promethes PodMonitor |
ixnVQNode.prometheus.podMonitor.targetLabels |
object |
{} |
Promethes PodMonitor target labels |
ixnVQNode.readinessProbe.failureThreshold |
int |
3 |
Interaction Server VQ Node readiness probe failure threshold |
ixnVQNode.readinessProbe.initialDelaySeconds |
int |
15 |
Interaction Server VQ Node readiness probe initial delay |
ixnVQNode.readinessProbe.periodSeconds |
int |
30 |
Interaction Server VQ Node readiness probe check period |
ixnVQNode.readinessProbe.timeoutSeconds |
int |
3 |
Interaction Server VQ Node readiness probe timeout |
ixnVQNode.resources.limits.cpu |
string |
"300m" |
Interaction Server VQ Node Kubernetes CPU limit |
ixnVQNode.resources.limits.memory |
string |
"160Mi" |
Interaction Server VQ Node Kubernetes memory limit |
ixnVQNode.resources.requests.cpu |
string |
"30m" |
Interaction Server VQ Node Kubernetes CPU request |
ixnVQNode.resources.requests.memory |
string |
"128Mi" |
Interaction Server VQ Node Kubernetes memory request |
ixnVQNode.securityContext |
object |
{} |
Security Context ref:Set the security context for a Container Containers should run as genesys user and cannot use elevated permissions !!! THESE OPTIONS SHOULD NOT BE CHANGED UNLESS INSTRUCTED BY GENESYS !!! |
ixnVQNode.serviceAccount.create |
bool |
true |
Create service account for Interaction Server VQ Node |
ixnVQNode.serviceAccount.name |
string |
nil |
The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template |
ixnVQNode.volumeMounts |
object |
{} |
Volumes mounted into an Interaction Server VQ Node container |
podAnnotations |
object |
{} |
Add annotations to all pods |
podLabels |
object |
{} |
Add labels to all pods |
replicaCount |
int |
1 |
Replica count. Applied to both Interaction Service and Interaction Server VQ node pods. Can only be 1 or 0. Other values are not supported |
tenant.id |
string |
nil |
Tenant UUID or GWS ID |
tenant.sid |
string |
nil |
Tenant short 4-digit ID |
For information on Interaction Server options, refer to the Configuration Options Reference Manual.
Configuration Server settings
Ensure that IXN Server application in Configuration Server has correct health endpoint:
Applications - <ixn app name> - Options - [health-service] soap-endpoint = http://localhost:9100/health
Security Context
The security context settings define the privilege and access control settings for pods and containers.
By default, the user and group IDs are set in the values.yaml file as500:500:500
, meaning the genesys user. For example:securityContext:
runAsNonRoot: true
runAsUser: 500
runAsGroup: 500
fsGroup: 500
Comments or questions about this documentation? Contact us for support!