Configure Genesys Voice Platform

From Genesys Documentation
Jump to: navigation, search
This topic is part of the manual Genesys Voice Platform Private Edition Guide for version Current of Genesys Voice Platform.

Learn how to configure Genesys Voice Platform.

Override Helm chart values

The following sections provide information on the various settings that have to be configured in Genesys Voice Platform.

This page also includes the section Configure Kubernetes.

GVP Configuration Server

The following tables list the configurable parameters of the GVP ConfigServer chart and their default values.

NOTE: There may be other parameters that could be changed, but changing them is not recommended, unless you know exactly what you are doing.

You must set service.port and serviceHandler.port to 8888 and 8300. This limitation will be addressed in a future release.

Parameter Description Default Value Valid Values Notes
podLabels Custom labels to be added for each pod (none) Valid set of labels as "name: value"
podAnnotations Custom annotations to be added for each pod (none) Valid set of annotations as "name: value"
replicaCount Number of replicas in deployment (should be 1 for CS) 1 A number > 0
partOf Namespace where the application is deployed gvp A string
image.<container>.registry Image registry URL for the container genesysengagedev.azurecr.io A valid registry URI
image.<container>.repository Repository path for the container in the above registry gvp/gvp_confserv, gvp_configserver_servicehandler, gvp/gvp_configserver_configserverinit A valid repository path/name
image.<container>.pullPolicy Pull policy for the container IfNotPresent IfNotPresent or Always
image.<container>.tag Container version tag {{.Chart.AppVersion }} A valid tag string
configserver.alerts.cpuUtilizationAlertLimit CPU utilization % limit above which an alert will be generated 70 A number > 0 The condition must last for 5 mins
configserver.alerts.memUtilizationAlertLimit Working memory utilization % limit above which an alert will be generated 90 A number > 0 The condition must last for 5 mins
configserver.alerts.workingMemAlertLimit Working memory size limit in GB above which an alert will be generated 7 A number > 0 The condition must last for 5 mins
configserver.alerts.maxRestarts A limit on number of container restarts in last 5 mins above which an alert will be generated 2 A number > 0
service.type Service type - ClusterIP/NodePort/LoadBalancer ClusterIP ClusterIP, NodePort, or LoadBalancer
service.host Host name of the service/config server gvp-configserver-0 A valid Config Server name
service.port Service port number 8888 A valid port number
service.targetPort Application port within the container 8888 A valid port number
serviceHandler.port Port of serviceHandler 8300 A valid port number
secrets.imagePull Secret names used for container image pulls pureengage-docker-dev, pureengage-docker-staging Valid secret names
secrets.configServer.secretName K8s secret name for Config Server configserver-secret A valid secret name
secrets.configServer.secretUserKey K8s secret user key for Config Server username A valid user key
secrets.configServer.secretPwdKey K8s secret password key for Config Server password A valid password key
secrets.postgres.dbName Postgres DB name gvp A valid DB name key
secrets.postgres.dbPort Postgres DB port 5432 A valid DB port number
secrets.postgres.secretName K8s secret name for Postgres postgres-secret A valid secret name
secrets.postgres.secretAdminUserKey K8s secret user key for Postgres admin user db-username A valid DB user name key
secrets.postgres.secretAdminPwdKey K8s secret password key for Postgres admin user db-password A valid DB user password key
secrets.postgres.secretHostnameKey K8s secret hostname key for Postgres db-hostname A valid DB host name key
secrets.postgres.secretDbNameKey K8s secret DB name key for Postgres db-name A valid DB name key
resources.requests.memeory Guaranteed memory allocation for CS container 128Mi A valid k8s memory size value
resources.requests.cpu Guaranteed CPU allocation for CS container 100m A valid k8s CPU unit value
resources.limits.memory Maximum amount of Memory K8s allocates for CS container 1Gi A valid k8s memory size value
resources.limits.cpu Maximum amount of CPU K8s allocates for CS container 1 A valid k8s CPU unit value
podSecurityContext.fsGroup Pod SecurityContext GID for volumes 500 A valid GID number
podSecurityContext.runAsUser Pod SecurityContext user ID for processes 500 A valid UID number
podSecurityContext.runAsGroup Pod SecurityContext primary group ID for processes 500 A valid GID number
podSecurityContext.runAsNonRoot Pod SecurityContext flag to require running as non-root true true or false
securityContext.* Same as podSecurityContext settings above but for containers See above
priorityClassName K8s priorityClassName for the pod (optional parameter, but recommended) (none) A valid priority class name
affinity Affinity for pod assignment (optional parameter) (none) Valid affinity settings
nodeSelector Node selector labels (none) Valid nodeSelector settings
tolerations Settings for tolerations (none) Valid name:value pairs
prometheus.createRule Whether to create the Prometheus rules or not true true or false
prometheus.logExporterPort Port for allowing Prometheus scrapes for log exporter. Do not change. 8200 A valid port number
prometheus.snmpExporterPort Port for allowing Prometheus scrapes for SNMP exporter. Do not change. 9116 A valid port number
grafana.enabled Whether to create the Grafana dashboard or not true true or false
grafana.k8sSidecarTargetDirectory Directory in Grafana where the gvp dashboard should be stored. Internal to Genesys /var/lib/grafana/dashboards/gvp /var/lib/grafana/dashboards/gvp
networkPolicies.enabled Whether to enable network policies or not false true or false
networkPolicies.dnsPort Port for allowing DNS lookup. Do not change. 53 A valid port number
dnsConfig.options.ndots Required number of dots in an FQDN to trigger a DNS query 3 A valid number of dots


Service Discovery

The following tables list the configurable parameters of the GVP SD chart and their default values.

Note: There may be other parameters that could be changed, but changing them is not recommended, unless you know exactly what you are doing. SD runs periodically, every SYNC_PERIOD.

Parameter Description Default Value Valid Values Notes
podLabels Custom labels to be added for each pod (none) Valid set of labels as "name: value"
podAnnotations Custom annotations to be added for each pod (none) Valid set of annotations as "name: value"
replicaCount Number of replicas in deployment (should be 1 for SD) 1 A number > 0
smtp Whether SMTP is supported or not (for email) allowed allowed, or none
partOf Namespace where the application is deployed gvp A string value for name space
serviceName Service name gvp-sd Not to be changed
image.registry Image registry URL for the SD container genesysengagedev.azurecr.io A valid registry URI
image.repository Repository path for the SD container in the above registry gvp/gvp_sd
image.pullPolicy Pull policy for the container IfNotPresent IfNotPresent or Always
image.tag Container version tag {{.Chart.AppVersion }} A valid tag number
env.EXTERNAL_CONSUL_SERVER Complete URL of an external Consul server, if used none (empty) URI such as https://consul.genesyscloud.com:8501 The port is included in this URL. If defined, env.CONSUL_PORT will not be used.
env.CONSUL_PORT Consul Server port 8501 Valid port number
env.CONFIG_SERVER_HOST Name of the Config Server gvp-configserver Valid Config Server name
env.CONFIG_SERVER_PORT Port used by Config Server 8888 Valid port number
env.CONFIG_SERVER_APP Application name used for Config Server access default Valid application name
env.HTTP_SERVER_PORT Port used by the local HTTP Server (used for health checks) 8080 Valid port number
env.METRICS_EXPORTER_PORT Port used for metrics exporter 9090 Valid port number
env.DEF_MCP_FOLDER MCP apps CU (Configuration Unit) folder in Config Server (CS) MCP_Configuration_Unit\\MCP_LRG Valid CU folder in CS
env.TEST_MCP_FOLDER MCP apps CU (Configuration Unit) folder for testing MCP_Configuration_Unit_Test\\MCP_LRG Valid CU folder in CS
env.SYNC_INIT_DELAY Initial delay in ms before app is executed 10000 A Valid number of ms
env.SYNC_PERIOD Time in ms between successive executions 60000 A valid number of ms
env.MCP_PURGE_PERIOD_MINS Time in minutes between attempts to purge extra MCPs in CME 0 A valid number of minutes 0 means, try every time
env.EMAIL_METERING_FACTOR Error emails are sent once every this many SYNC_PERIODs 10 A valid number of seconds
`env.RECORDINGS_CONTAINER Recordings container name to use in the Annex section of Transaction object in CME recordings A valid container name
env.TENANT_KV_FOLDER KV tenants folder name in Consul tenants A valid folder name
env.TENANT_CONFIGMAP_FOLDER Local folder to scan for tenant config files /etc/config A valid folder path Should not be changed
env.SMTP_SERVER SMTP server URI smtp-relay.smtp.svc.cluster.local A valid URI
secrets.imagePull Secret names used for container image pulls pureengage-docker-dev, pureengage-docker-staging Valid secret names
secrets.configServer.k8s Whether k8s secret is used or csi/vault is used for CS true true or false
secrets.configServer.k8sSecretName K8s secret name for Config Server configserver-secret Valid k8s secret name
secrets.configServer.k8sUserKey K8s secret user key for Config Server username Valid user name
secrets.configServer.k8sPasswordKey K8s secret password key for Config Server password Valid password
secrets.configServer.vaultSecretName Vault secret name for Config Server /configserver-secret Valid valult secret name
secrets.configServer.vaultUserKey Vault secret user key for Config Server configserver-username Valid user name
secrets.configServer.vaultPasswordKey Vault secret password key for Config Server configserver-password Valid password
secrets.consul.k8s Whether k8s secret is used or csi/vault is used for Consul true true or false
secrets.consul.k8sTokenName K8s token name for Consul shared-consul-consul-gvp-token Valid k8s token name
secrets.consul.k8sTokenKey K8s token key for Consul consul-consul-gvp-token Valid k8s token key
secrets.consul.vaultSecretName Vault secret name for Consul /consul-secret Valid k8s secret name
secrets.consul.vaultSecretKey Vault secret key for Consul consul-consul-gvp-token Valid k8s secret key
secrets.gtts.k8s Whether k8s secret is used or csi/vault is used for GTTS false true or false
secrets.gtts.k8sSecretName K8s secret name for GTTS gtts-secret Valid k8s secret name
secrets.gtts.EncryptedKey K8s encrypted key for GTTS encrypted-key Valid k8s encrypted key
secrets.gtts.PasswordKey K8s secret password key for GTTS password Valid password key
resources.requests.memeory Guaranteed memory allocation for SD container 128Mi A valid k8s memory size value
resources.requests.cpu Guaranteed CPU allocation for SD container 100m A valid k8s CPU unit value
resources.limits.memory Maximum amount of Memory K8s allocates for SD container 2Gi A valid k8s memory size value
resources.limits.cpu Maximum amount of CPU K8s allocates for SD container 1000m A valid k8s CPU unit value
podSecurityContext.fsGroup Pod SecurityContext GID for volumes 500 A valid GID number
podSecurityContext.runAsUser Pod SecurityContext user ID for processes 500 A valid UID number
podSecurityContext.runAsGroup Pod SecurityContext primary group ID for processes 500 A valid GID number
podSecurityContext.runAsNonRoot Pod SecurityContext flag to require running as non-root true true or false
securityContext.* Same as podSecurityContext settings above but for containers (See above)
priorityClassName K8s priorityClassName for the pod (optional parameter, but recommended) (none) Valid priority class name
affinity Affinity for pod assignment (optional parameter) (none) Valid affinity settings
nodeSelector Node selector labels (none) Valid nodeSelector settings
tolerations Settings for tolerations (none) Valid name:value pairs
prometheus.enabled Whether to enable Prometheus scraping or not true true or false
prometheus.podMonitor.enabled Whether to enable Prometheus podMonitor rules or not true true or false
networkPolicies.enabled Whether to enable network policies or not false true or false
dnsConfig.options.ndots Required number of dots in an FQDN to trigger a DNS query 3 A valid number of dots

Reporting Server

The following tables list the configurable parameters of the GVP Reporting Server chart and their default values.

Parameter Description Default Valid values Notes
replicaCount Number of replicas in deployment 1
image.gvprsrepository Image repository location for RS container pureengage-docker-staging.jfrog.io/gvp/gvp_rs <repo_location>
image.snmprepository Image repository location for snmp container pureengage-docker-staging.jfrog.io/gvp/multicloud/gvp_snmp <repo_location>
image.dbinitrepository Image repository location for RS init container pureengage-docker-staging.jfrog.io/gvp/gvp_rs_init <repo_location>
imagePullSecrets.name Image pull secret pureengage-docker-staging <repo_name>
namespace Namespace where the component is deployed gvp Per environment
prometheus.metric.port SNMP exporter port at which Prometheus would scrape data 9116 Same as default/fixed
service.restapiport The RS rest API port 8080 Standard Port range : 1 to 65535. Changing this would require RS application configuration changes.
service.activemqport The RS ActiveMQ port 61616 Standard Port range : 1 to 65535. Changing this would require RS application configuration changes.
service.envinjectport Port used for reading secret details 443 Fixed
service.dnsport Port used for DNS resolution 53 Per environment
service.configserverport The port of the GVP Configuration Server 8888 Per environment
service.snmpport The SNMP container port to which RS sends mib data 1705 Same as default/fixed
livenessValues.initialDelaySeconds Initial delay before the first liveness probe 30 Same as default/fixed. It is not advisable to change the values unless instructed by Genesys.
livenessValues.periodSeconds The interval between each liveness probe request 120 Same as default/fixed. It is not advisable to change the values unless instructed by Genesys.
livenessValues.timeoutSeconds The timeout for each liveness probe request 3 Same as default/fixed. It is not advisable to change the values unless instructed by Genesys.
livenessValues.failureThreshold Threshold for liveness check failure and container restart 3 Same as default/fixed. It is not advisable to change the values unless instructed by Genesys.
readinessValues.path Readiness probe URI path /ems-rs/readiness Same as default/fixed. It is not advisable to change the values unless instructed by Genesys.
readinessValues.initialDelaySeconds Initial delay before the first readiness probe 10 Same as default/fixed. It is not advisable to change the values unless instructed by Genesys.
readinessValues.periodSeconds The interval between each readiness probe request 60 Same as default/fixed. It is not advisable to change the values unless instructed by Genesys.
readinessValues.timeoutSeconds The timeout for each readiness probe request 3 Same as default/fixed. It is not advisable to change the values unless instructed by Genesys.
readinessValues.failureThreshold Threshold for readiness check failure 3 Same as default/fixed. It is not advisable to change the values unless instructed by Genesys.
pvc.activemqAndLocalConfigPath ActiveMQ and local config cache path /billing/gvp-rs Same as default/fixed. It is not advisable to change the values unless instructed by Genesys.
resourceForRS.requests.memory Guaranteed Memory allocation for RS container 4Gi
resourceForRS.requests.cpu Guaranteed CPU allocation for RS container 600m
resourceForRS.limits.memory Maximum amount of Memory K8s allocates for RS container 13Gi
resourceForRS.limits.cpu Maximum amount of CPU K8s allocates for RS container 1000m
resoueceForSnmp.requests.memory Guaranteed Memory allocation for snmp container 500Mi
resoueceForSnmp.requests.cpu Guaranteed CPU allocation for snmp container 1000m
resoueceForSnmp.limits.memory Maximum amount of Memory K8s allocates for snmp container 8Gi
resoueceForSnmp.limits.cpu Maximum amount of CPU K8s allocates for snmp container 1500m
env.CFGAPP The GVP configuration Server application name default Per environment
env.GVP_RS_SERVICE_HOSTNAME Hostname of the RS gvp-rs.gvp.svc.cluster.local Per environment - eg : <application_name>.gvp.svc.cluster.local
env.CFG_HOST The Hostname of the GVP Configuration Server gvp-configserver.gvp.svc.cluster.local Per environment
env.CFG_PORT The port of the GVP Configuration Server 8888 Per environment
env.CMDLINE Command line set in the Start info tab of RS application ./rs_startup.sh Same as default / fixed
env.DBNAME The name of the RS DB to be used gvp-rs Per environment
env.DBUSER RSDB user which has read and write access on the DB mssql Per environment
env.rsDbSharedUsername RSDB username which has read-only access on the DB mssqlreader Per environment
env.DBPORT RS SQl server DB port 1433 Per environment
env.ENVTYPE Environment on which RS is going to be deployed ""
env.GenesysIURegion The region on which RS is going to be deployed ""
env.localconfigcachepath The local GVP Configuration Server cache path /billing/gvp-rs/data/cache <valid_path>. Changing this would require RS application configuration changes.
env.HOSTFOLDER The RS host object folder in GVP Configuration Server Hosts <valid_path>
env.HOSTOS The OS of the Host on which RS is going to be deployed CFGRedHatLinux fixed
env.LCAPORT The LCA port to be set on the RS Host object 4999
env.MSSQLHOST The Hostname of the MSSQL server which contains the RS DB mssql00-gvp-dev-westus2.privatelink.database.windows.net mssql00-gvp-<environment>-<region>.privatelink.database.windows.net privatelink.database.windows.net
env.RSAPP The name of the RS application object azure_rs <rs_application_name>
env.RSJVM_INITIALHEAPSIZE The initial and minimum JVM heap size 500m Per environment
env.RSJVM_MAXHEAPSIZE The maximum JVM heap size 1536m Per environment
env.RSFOLDER The RS application folder in GVP Configuration Server Applications <valid_path>
env.RS_VERSION The RS version to be set in the RS application 9.0.032.22 <valid_version>
env.STDOUT Determines whether init container writes console logs or not true
env.WRKDIR The RS working directory to be set on the RS application /usr/local/genesys/rs/ <valid_path>. Changing this would require RS application configuration changes.
env.SNMPAPP The RS SNMP application name azure_rs_snmp <snmp_application_name>
env.SNMP_WORKDIR The SNMP working directory to be set on the SNMP application /usr/sbin <valid_path>
env.SNMP_CMDLINE The SNMP command line to be set in the snmp application snmpd Same as default/fixed
env.SNMPFOLDER The snmp application folder in GVP Configuration Server Applications <valid_path>
Reporting Server configuration options can be modified using values.yaml in the section RS config. For example, as below:
RSCONFIG:
  log:
    verbose: "trace"
    trace: "stdout"
Genesys recommends using the below configuration option for RS in values.yaml:
RSCONFIG:
  persistence:
    rs.storage.metricsfilter: "0-15,25,36,52-55,74,136-141,148-151"

Resource Manager

The following tables list the configurable parameters of the GVP RM chart and their default values.

Note: There is a typo in names of a few parameters in the table. "resource" is spelt "resouece". Regardless of the typo, the parameters function correctly. The typo will be corrected in a future version.

Parameter Description Default Valid values Notes
replicaCount Number of replicas in deployment 2 <fixed>
image.gvprmrepository Image repository location for RM container pureengage-docker-staging.jfrog.io/gvp/gvp_rm <repo_location>
image.cfghandlerrepository Image repository location for cfghandler container pureengage-docker-staging.jfrog.io/gvp/gvp_rm_cfghandler <repo_location>
image.snmprepository Image repository location for snmp container pureengage-docker-staging.jfrog.io/gvp/multicloud/gvp_snmp <repo_location>
image.gvprmtestrepository Image repository location for gvprmtest container pureengage-docker-staging.jfrog.io/gvp/gvp_rm_test <repo_location>
image.pullSecret Image pull secret pureengage-docker-staging <repo_name>
namespace Namespace where the component is deployed gvp As per Environment
prometheus.metric.port SNMP exporter port at which Prometheus would scrape data 9116 same as default/fixed
prometheus.log.port Log exporter port at which Prometheus would scrape data 8200
service.port RM service port 5060 Changing this would require RM application configuration changes.
service.rmHealthCheckAPIPort Node JS server port for liveness and readiness probes 8300
livenessValues.path Liveness probe URI path /rm/liveness Same as default/fixed. The values are not advisable to be changed unless instructed by genesys.
livenessValues.initialDelaySeconds Initial delay before the first liveness probe 60 Same as default/fixed. The values are not advisable to be changed unless instructed by genesys.
livenessValues.periodSeconds The interval between each liveness probe request 90 Same as default/fixed. The values are not advisable to be changed unless instructed by genesys.
livenessValues.timeoutSeconds The timeout for each liveness probe request 20 Same as default/fixed. The values are not advisable to be changed unless instructed by genesys.
livenessValues.failureThreshold Threshold for liveness check failure and container restart 3 Same as default/fixed. The values are not advisable to be changed unless instructed by genesys.
readinessValues.path Readiness probe URI path /rm/readiness Same as default/fixed. The values are not advisable to be changed unless instructed by genesys.
readinessValues.initialDelaySeconds Initial delay before the first readiness probe 10 Same as default/fixed. The values are not advisable to be changed unless instructed by genesys.
readinessValues.periodSeconds The interval between each readiness probe request 60 Same as default/fixed. The values are not advisable to be changed unless instructed by genesys.
readinessValues.timeoutSeconds The timeout for each readiness probe request 20 Same as default/fixed. The values are not advisable to be changed unless instructed by genesys.
readinessValues.failureThreshold Threshold for readiness check failure 3 Same as default/fixed. The values are not advisable to be changed unless instructed by genesys.
env.cfghandler.CFGSERVER Primary Configuration Server gvp-configserver.gvp.svc.cluster.local Per environment
env.cfghandler.CFGSERVERBACKUP Backup Configuration Server gvp-configserver.gvp.svc.cluster.local Per environment
env.cfghandler.CFGPORT Configuration Server port 8888 Per environment
env.cfghandler.CFGAPP Configuration Server name for login default Per environment
env.cfghandler.RMAPP Prefix to RM application name azure_rm <rm_application_name>
env.cfghandler.RMFOLDER RM application folder in Configuration Server Applications\RM_MicroService\RM_Apps <valid_path>
env.cfghandler.HOSTFOLDER RM host folder in Configuration Server Hosts\RM_MicroService <valid_path>
env.cfghandler.MCPFOLDER MCP CU and LRG folder to which RM points to MCP_Configuration_Unit\MCP_LRG <valid_path>
env.cfghandler.SNMPFOLDER SNMP application folder in Configuraion Server Applications\RM_MicroService\SNMP_Apps <valid_path>
env.cfghandler.EnvironmentType Environment on which RM is going to be deployed prod
env.cfghandler.CONFSERVERAPP Configuration server application to be tied to RM confserv Per environment
env.cfghandler.RSAPP RS application to be tied to RM azure_rs <rs_application_name>
env.cfghandler.SNMPAPP SNMP application name prefix to be tied to RM azure_rm_snmp <snmp_application_name>
env.cfghandler.STDOUT Determines whether init container writes console logs or not true
env.cfghandler.VOICEMAILSERVICEDIDNUMBER voicemail number configuration for tenant creation 55551111
resourceForRM.requests.memory Guaranteed Memory allocation for RM container 4Gi
resourceForRM.requests.cpu Guaranteed CPU allocation for RM container 2000m
resourceForRM.limits.memory Maximum amount of Memory K8s allocates for RM container 14Gi
resourceForRM.limits.cpu Maximum amount of CPU K8s allocates for RM container 4000m
resoueceForSnmp.requests.memory Guaranteed Memory allocation for snmp container 500Mi
resoueceForSnmp.requests.cpu Guaranteed CPU allocation for snmp container 1000m
resoueceForSnmp.limits.memory Maximum amount of Memory K8s allocates for snmp container 8Gi
resoueceForSnmp.limits.cpu Maximum amount of CPU K8s allocates for snmp container 1500m
fluentBitSidecar.enabled Enable/disable Fluent-Bit sidecar for console logging false true or false Warning: The fluent-bit sidecar feature is being provided as-is w/o support and requires a third-party container image that Genesys does not provide or support.
rmLogStorage.volumeType.persistentVolume.enabled Enable/disable Persistent Volume (PV) for logging false true or false
rmLogStorage.volumeType.persistentVolume.storageClass Storage class for PV claim of log storage disk-preminum A valid PVC storage class name
rmLogStorage.volumeType.persistentVolume.accessMode Log storage PVC access mode ReadWriteOnce A valid PVC storage access mode
rmLogStorage.volumeType.persistentVolume.claimSize Size of log storage of PVC type 50Gi A valid storage size
rmLogStorage.volumeType.hostPath.enabled Enable/disable host path for logging true true or false
rmLogStorage.volumeType.hostPath.path Enable/disable host path for logging true true or false
rmLogStorage.volumeType.hostPath.path Log storage host path for RM logs /mnt/log A valid storage path Do not change, as other resources may depend on this.
rmLogStorage.volumeType.emptyDir.enabled Enable/disable emptyDir for logging false true or false


Resource Manager configuration options can be modified using values.yaml in the section RM config. For example, as below:
RMCONFIG:
   log:
      verbose: "trace"

Media Control Platform

The following tables list the configurable parameters of the GVP MCP chart, their default values, etc.

Note:

  • There may be other parameters that could be changed, but changing them is not recommended, unless you know exactly what you are doing.
  • You must set mcp.sipPort to 5070. This limitation will be addressed in a future release.
  • All the necessary overrides exist allowing for integration with Nuance V11 running on VMs. Using overrides in this manner requires network connectivity between the Kubernetes cluster and host(s) running Nuance. For more details on this integration option, refer to Nuance 11 GVP case study.
Parameter Description Default Value Valid Values Notes
podLabels Custom labels to be added for each pod (none) Valid set of labels as "name: value"
podAnnotations Custom annotations to be added for each pod (none) Valid set of annotations as "name: value"
deploymentEnv Name of environment - should start with dev, stage, or prod "UPDATE_ENV" (dummy) A valid environment name The prefix is used to determine the configuration map to use. It may also be used by the deployment pipeline.
replicaCount Number of minimum replicas required in the deployment 2 A number > 0 2 or higher is recommended for HPA or rolling upgrade with podDisruptionBudget
podManagementPolicy Pod Management Policy for Launch/Termination Parallel Parallel or OrderedReady
terminationGracePeriod Time to wait for graceful shutdown 3600 seconds A valid time value
dashboardReplicaStatefulsetFilterOverride This value is used to filter MCP replica sets or PVCs in Grafana dashboards. The default is the full Chart name. (none) A valid filter string
partOf Namespace where the application is deployed gvp A string value
image.<container>.registry Image registry URL for the container genesysengagedev.azurecr.io A valid registry URI
image.<container>.repository Repository path for the container in the above registry gvp/multicloud/gvp_mcp, gvp/multicloud/gvp_mcp_servicehandler, gvp/multicloud/gvp_mcp_confighandler, gvp/multicloud/gvp_snmp, or cce/recording-provider A valid repository path/name
image.<container>.pullPolicy Pull policy for the container IfNotPresent IfNotPresent or Always
image.<container>.tag Container version tag {{.Chart.AppVersion }}, or a particular tag for some containers - see values.yaml A valid tag string
mcp.sipPort SIP port used by MCP 5070 A valid port number This has to match MCP configuration
mcp.sipProtocol SIP transport Protocol used by MCP TCP A valid transport protocol Has to match MCP configuration
mcp.logicalResourceGroup Name of the LRG in the Config Server MCP_Configuration_Unit_Test A valid LRG name
mcp.alerts.* Threshold value for each MCP alert A number A number > 0 This value may require tuning
mcpsnmp.logPrefixName Prefix of the MCP log files to query, should be MCP MCP A valid MCP log file prefix
rup.rupVolume.storageClass Storage class for PV claim of RUP volume disk-premium A valid PVC storage class name
rup.rupVolume.accessModes PVC access mode of RUP volume ReadWriteOnce A valid PVC storage access mode
rup.rupVolume.volumeSize Size of RUP volume 40Gi A valid storage size
rup.recordingsFolder RUP recordings folder /pvolume/recordings Recordings folder used MCP and RUP Do not change
rup.recordingsCache Recordings cache folder, where MCP creates recordings files /pvolume/recording_cache Recordings cache folder used MCP and RUP Do not change
rup.decommisionDestType Destination type for RUP recordings on decommision/shutdown WebDAV A valid destination type
rup.decommisionDestWebdavUrl WebDAV destination URL to be used on decommision http://gvp-central-rup:8180 A valid URL
rup.diskFullDestType Destination type for RUP recordings on disk-full condition WebDAV A valid destination type
rup.diskFullDestWebdavUrl WebDAV destination URL to be used on disk-full condition http://gvp-central-rup:8180 A valid URL
rup.cpUrl RUP Conversation Provider URL http://cce-conversation-provider.cce.svc.cluster.local A valid URL
rup.unrecoverableLostAction Action for unrecoverable/lost recordings uploadtodefault A valid action type
rup.unrecoverableDestType Destination type for RUP unrecoverable/lost recordings Azure A valid destination type
rup.unrecoverableDestAzureAccountName Account name for RUP lost recordings for Azure dest type gvpwestus2dev Azure account name
rup.unrecoverableDestAzureContainerName Container name for RUP lost recordings for Azure dest type ccerp-unrecoverable A container name
rup.logJsonEnable Enable RUP logging in Json format true true or false
rup.logLevel Log level for RUP file logging INFO A valid Java log level string
rup.logConsoleLevel Log level for RUP console logging INFO A valid Java log level string
rup.resources.requests.memeory Guaranteed memory allocation for RUP container 120Mi A valid k8s memory size value
rup.resources.requests.cpu Guaranteed CPU allocation for RUP container 100m A valid k8s CPU unit value
rup.resources.requests.ephemeral-storage Ephemeral storage size for RUP container 10Gi A valid k8s storage size
rup.resources.limits.memory Maximum amount of Memory K8s allocates for RUP container 2Gi A valid k8s memory size value
rup.resources.limits.cpu Maximum amount of CPU K8s allocates for RUP container 1000m A valid k8s CPU unit value
recordingStorage.storageClass Storage class for PV claim of recording storage disk-preminum A valid PVC storage class name
recordingStorage.accessModes PVC access mode of recording storage ReadWriteOnce A valid PVC storage access mode
recordingStorage.volumeSize Size of recording storage of PVC type 40Gi A valid storage size
fluentBitSidecar.enabled Enable/disable Fluent-Bit sidecar for console logging false true or false Warning: The fluent-bit sidecar feature is being provided as-is w/o support and requires a third-party container image that Genesys does not provide or support.
mcpLogStorage.volumeType.persistentVolume.enabled Enable/disable Persistent Volume (PV) for logging false true or false
mcpLogStorage.volumeType.persistentVolume.storageClass Storage class for PV claim of log storage disk-preminum A valid PVC storage class name
mcpLogStorage.volumeType.persistentVolume.accessModes Log storage PVC access mode ReadWriteOnce A valid PVC storage access mode
mcpLogStorage.volumeType.persistentVolume.volumeSize Size of log storage of PVC type 50Gi A valid storage size
mcpLogStorage.volumeType.hostPath.enabled Enable/disable host path for logging true true or false
mcpLogStorage.volumeType.hostPath.path Log storage host path for MCP logs /mnt/log A valid storage path Do not change, as other resources may depend on this
mcpLogStorage.volumeType.emptyDir.enabled Enable/disable emptyDir for logging false true or false
serviceHandler.serviceHandlerPort Port of serviceHandler 8300 A valid port Do not change, as other resources may depend on this
serviceHandler.consulExternalHost External Consul host name, if one used `` A valid host FQDN or address
serviceHandler.consulPort Consul service port 8501 A valid port Do not change, as other resources may depend on this
serviceHandler.registrationInterval Consul registration interval in ms 10000 Time in milliseconds
serviceHandler.mcpHealthCheckInterval Consul Health Check interval 30s A time value
serviceHandler.mcpHealthCheckTimeout Consul Health Check timeout 10s A time value
configServer.host GVP Config Server host name gvp-configserver Name of Config Server
configServer.port GVP Config Server port number 8888 Service port of Config Server
configServer.app GVP Config Server application name default A valid Config Server application name
secrets.imagePull Secret names used for container image pulls pureengage-docker-dev, pureengage-docker-staging Valid secret names
secrets.configServer.k8s Whether k8s secret is used or csi/vault is used for CS true true or false
secrets.configServer.secretName K8s secret name for Config Server configserver-secret A valid secret name
secrets.configServer.dbUserKey K8s secret DB user key for Config Server username A valid user key
secrets.configServer.dbPasswordKey K8s secret DB password key for Config Server password A valid password key
secrets.configServer.csiSecretProviderClass CSI secret provider class for Config Server keyvault-gvp-gvp-configserver-secret A valid csiSecretProviderClass attribute string
secrets.consul.k8s Whether k8s secret is used or csi/vault is used for Consul true true or false
secrets.consul.secretName K8s secret name for Consul shared-consul-consul-gvp-token A valid secret name
secrets.consul.secretKey K8s secret key for Consul consul-consul-gvp-token A valid secret key
secrets.consul.csiSecretProviderClass CSI secret provider class for Consul keyvault-consul-consul-gvp-token A valid csiSecretProviderClass attribute string
resourcesMcp.requests.memeory Guaranteed memory allocation for MCP container 500Mi A valid k8s memory size value
resourcesMcp.requests.cpu Guaranteed CPU allocation for MCP container 250m A valid k8s CPU unit value
resourcesMcp.requests.ephemeral-storage Ephemeral storage size for MCP container 10Gi A valid storage size
resourcesMcp.limits.memory Maximum amount of Memory K8s allocates for MCP container 8Gi A valid k8s memory size value
resourcesMcp.limits.cpu Maximum amount of CPU K8s allocates for MCP container 4000m A valid k8s CPU unit value
resourcesDefault.requests.memeory Guaranteed memory allocation for other/default container 120Mi A valid k8s memory size value
resourcesDefault.requests.cpu Guaranteed CPU allocation for default container 100m A valid k8s CPU unit value
resourcesDefault.limits.memory Maximum amount of Memory K8s allocates for default container 128Mi A valid k8s memory size value
resourcesDefault.limits.cpu Maximum amount of CPU K8s allocates for default container 100m A valid k8s CPU unit value
podSecurityContext.fsGroup Pod SecurityContext GID for volumes 500 A valid GID number
podSecurityContext.runAsUser Pod SecurityContext User ID for processes 500 A valid UID number
podSecurityContext.runAsGroup Pod SecurityContext primary Group ID for processes 500 A valid GID number
podSecurityContext.runAsNonRoot Pod SecurityContext flag to require running as non-root true true or false
securityContext.* Same as podSecurityContext settings above but for containers (See above)
priorityClassName K8s priorityClassName for the pod (optional parameter, but recommended) (none) A valid priority class name
affinity Affinity for pod assignment (optional parameter) (none) Valid affinity settings
nodeSelector Node selector labels genesysengage.com/nodepool: realtime Valid nodeSelector settings
tolerations Settings for tolerations key: "k8s.genesysengage.com/nodepool", operator: Exists, effect: NoSchedule Valid name:value pairs
hpa.enabled A 'true' value enables HPA (HPA needs to be enabled when Keda is enabled) true true or false
hpa.maxReplicas Number of maximum replicas 4 A number >= replicaCount
hpa.targetCPUAverageUtilization CPU utilization target value in percentage 20 A number 1 to 100
hpa.scaleupPeriod Time period in seconds to use with "scaleupPods" as well as "scaleupPercent" 15 A number >= 1
hpa.scaleupPercent Maximum percentage of replicas allowed to be scaled up in "scaleupPeriod" 50 A number 1 to 100
hpa.scaleupPods Maximum number of replicas allowed to be scaled up in "scaleupPeriod" 4 A number >= 1
hpa.scaleupStabilizationWindow Stabilization window in seconds for scale-ups 0 A number >= 0 0 is recommended
hpa.scaleupPolicy Scale-up policy allowing minimum or maximum change in replica count Max Min, Max, or Disabled
hpa.scaledownPeriod Time period in seconds to use with "scaledownPods" as well as "scaledownPercent" 300 A number >= 1
hpa.scaledownPercent Maximum percentage of replicas allowed to be scaled down in "scaledownPeriod" 10 A number 1 to 100
hpa.scaledownPods Maximum number of replicas allowed to be scaled down in "scaledownPeriod" 2 A number >= 1
hpa.scaledownStabilizationWindow Stabilization window in seconds for scale-downs 3600 A number >= 0
hpa.scaledownPolicy Scale-down policy allowing minimum or maximum change in replica count Min Min, Max, or Disabled
hpa.keda.enabled Whether to enable Keda with HPA for auto scaling or not. true true or false HPA must be enabled when Keda is enabled
hpa.keda.preScaleStart Cron schedule for starting Keda scaling 0 14 * * * A valid string with cron schedule
hpa.keda.preScaleEnd Cron schedule for ending Keda scaling 0 2 * * * A valid string with cron schedule
hpa.keda.preScaleDesiredReplicas Number of desired replicas for Keda scaling 4 A valid number > 1
hpa.keda.pollingInterval Interval for polling Keda trigger source, in seconds 15 Number of seconds
hpa.keda.cooldownPeriod Seconds to wait after last trigger before scaling down 300 Number of seconds
prometheus.enabled Whether to enable Prometheus scraping or not true true or false
prometheus.podMonitor.enabled Whether to enable Prometheus podMonitor rules or not true true or false
grafana.enabled Whether to enable Grafana dashboard or not false true or false
podDisruptionBudget.enabled Enable or disable podDisruptionBudget true true or false
podDisruptionBudget.maxUnavailable Maximum number of pods that can be unavailable during a rolling update 1 A number >= 1
networkPolicies.enabled Whether to enable network policies or not false true or false
dnsConfig.options.ndots Required number of dots in an FQDN to trigger a DNS query 3 A valid number of dots


The following chart parameters are MCP configurable options in the ConfigMap that can be overridden.

Parameter Description Default Value Valid Values Notes
mcpConfig.mcp.ems.dc.default.metricsfilter Specifies the default filter for metrics to be delivered to the Reporting Server for Call Events reporting. 0-15,25,36,52-55,74,136-141,148-151 Comma separated list of metric values or ranges. A metric value must be between 0 and 151 inclusive. The values * and blank are also allowed.
mcpConfig.mcp.ems.dc.enableSQA This flag determines if the Data Collection Sink is configured to perform Service Quality analysis. false True or false
mcpConfig.mcp.mpc.numdispatchthreads Number of media dispatching threads 4 A number >= 1 2 or more matching CPU cores is recommended
mcpConfig.mcp.log.verbose MCP log verbose level interaction all, debug, trace, interaction, or standard
mcpConfig.mcp.mpc.codec List of codecs to support pcmu pcma telephone-event Any combination of: pcmu, pcma, g722, opus, g726, g729, gsm, amr, amr-wb, tfci, h263, h263-1998, h264, vp8 or telephone-event
mcpConfig.mcp.mpc.transcoders List of trancoders to enable PCM MP3 Any combination of: G722, GSM, G726, G729, AMR, AMR-WB, MP3, OPUS, H263, H264 and VP8, or "none"
mcpConfig.mcp.mpc.playcache.enable Enable or disable media play cache 1 0 or 1 0 - disable, 1 - enable
mcpConfig.mcp.fm.http_proxy Address of HTTP proxy to be used (none) A valid address, possibly with port
mcpConfig.mcp.fm.https_proxy Address of HTTPS proxy to be used (none) A valid address, possibly with port
mcpConfig.nexus_asr1.pool.size Size of Nexus ASR1 pool 0 `0` or a positive number A `0` value disables this resource pool
mcpConfig.nexus_asr1.provision.vrm.client.resource.uri A list/array of URIs within square brackets delimited by commas [\"ws://nexus-production.nexus.svc.cluster.local/nexus/v3/bot/connection\"] A valid list of URIs
mcpConfig.nexus_asr1.provision.vrm.client.resource.type The type of resource ASR ASR Do not change
mcpConfig.nexus_asr1.provision.vrm.client.resource.name The name of the resource ASRC ASRC Do not change
mcpConfig.nexus_asr1.provision.vrm.client.resource.engines A list of engine names nexus nexus This name is used by the application
mcpConfig.nexus_asr1.provision.vrm.client.resource.engine.nexus.audio.codec Name of the audio codec used mulaw mulaw Only "mulaw" supported currently
mcpConfig.nexus_asr1.provision.vrm.client.resource.engine.nexus.audio.samplerate Audio sampling rate 8000 8000 Do not change
mcpConfig.nexus_asr1.provision.vrm.client.resource.engine.nexus.enableMaxSpeechTimeout Whether to enable "maxspeechtimeout" or not true `true` or `false` Do not change
mcpConfig.nexus_asr1.provision.vrm.client.resource.engine.nexus.serviceAccountKey The string value of service account key (none) A valid key, or empty if not needed
mcpConfig.nexus_asr1.provision.vrm.client.resource.privatekey The private key to use with the resource, if needed (none) A valid key
mcpConfig.nexus_asr1.provision.vrm.client.resource.proxy The proxy URI to use (none) A valid URI
mcpConfig.nexus_asr1.provision.vrm.client.TransportProtocol Transport protocol used with the server WEBSOCKET WEBSOCKET Do not change


Configuring MCPs to connect to Nexus (for Bot use cases)

  • Set one or more URIs for Nexus service using parameter `mcpConfig.nexus_asr1.provision.vrm.client.resource.uri`, separated by commas.
  • Set the value of `mcpConfig.nexus_asr1.pool.size`  to the number of Nexus service URIs in the previous step.

Note: To test the connectivity between the MCP's network and the Nexus service, you could use a program like 'curl'. Though the service would return a 404 error for the HTTP request, this would tell you if a connection could be made between the two. Here is an example of a curl request to Nexus:

<tt>$ curl -v https://nex-2.genhtcc.com/api/v1beta/asrConnector/openConnection
...
* Connected to nex-2.genhtcc.com (xx.yyy.zzz.172) port 443 (#0)
...
> GET /api/v1beta/asrConnector/openConnection HTTP/2
> Host: nex-2.genhtcc.com
> User-Agent: curl/7.61.1
> Accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 404</tt>


Configure Kubernetes

Media Control Platform

Secrets

Secrets used by MCP:

Secret Name Secret key Type of secret Notes
secrets.configServer.secretName secrets.configServer.dbUserKey Kubernetes GVP Configuration Server username
secrets.configServer.dbPasswordKey Kubernetes GVP Configuration Server password
secrets.consul.secretName secrets.consul.secretKey Kubernetes Consul token

ConfigMaps

The following ConfigMaps are used:

ConfigMap Used by Notes
<deployment>-mcp-config confighandler, gvp-mcp Template for MCP configuration
<deployment>-log-alerts-dashboard Grafana Dashboard for MCP alerts based on parsing MCP logs
<deployment>-utilization-dashboard Grafana Dashboard for MCP utilization

Resource Manager

ConfigMaps

ConfigMap Used by Notes
<deployment>-configmap cfghandler, gvp-rm Template for RM configuration

Secrets

Secret Name Secret key Type of secret Notes
secrets.configserverProviderClassName cfgSecretFileNameForCfgUsername Kubernetes GVP Configuration Server username
cfgSecretFileNameForCfgPassword Kubernetes GVP Configuration Server password

Service Discovery

ConfigMaps

The following config maps are used:

ConfigMap Used by Notes
tenant-inventory gvp-sd Tenant information to be synced in GVP Configuration Server

Secrets

Secret Name Secret key Type of secret Notes
secrets.configServer.secretName secrets.configServer.dbUserKey Kubernetes GVP Configuration Server username
secrets.configServer.dbPasswordKey Kubernetes GVP Configuration Server password
secrets.consul.k8sTokenName secrets.consul.k8sTokenKey Kubernetes Consul token in k8s
secrets.consul.vaultSecretName secrets.consul.vaultSecretKey CSI Consul token in CSI

Reporting Server

ConfigMaps

ConfigMap Used by Notes
<deployment-name> init, gvp-rs Template for RS configuration

Secrets

Secret Name Secret key Type of secret Notes
secrets.configserverProviderClassName cfgSecretFileNameForCfgUsername Kubernetes GVP Configuration Server username
cfgSecretFileNameForCfgPassword Kubernetes GVP Configuration Server password

Secret Name Secret key Type of secret Notes
secret.rsSecretName dbadminsecretFileName Kubernetes RS DB Password
dbreadersecretFileName Kubernetes RS DB Password

SQLServer password is created as Kubernetes secrets and is used by Reporting Server for connecting with SQL DB. They  will be mounted as a Volume in RS init / RS container for DB initialization and DB connection

  1. SQL secrets should be created in the Cluster with admin and reader passwords.
    1. RS admin file name - RS admin password created during DB deployment which will be used reporting server.
    2. RS reader file name - Random password string which will be associated to 'read-only' user created by RS init container. They will be shared to BDS namespace for billing purposes

To use Kubernetes secret, set the following parameter to 'false'.

secret: keyVaultSecret: false

GVP Configuration Server

ConfigMaps

N/A

Secrets

Secrets used by GVP Configuration Server:

Secret Name Secret key Type of secret Notes
secrets.postgres.secretName secrets.postgres.secretHostnameKey Kubernetes Database hostname
secrets.postgres.secretDbNameKey Kubernetes Database name
secrets.postgres.secretAdminUserKey Kubernetes Database admin user
secrets.postgres.secretAdminPwdKey Kubernetes Database password


Secrets to be created after GVP Configuration Server deployment:

Secret Name Secret key Type of secret Notes
secrets.configServer.secretName secrets.configServer.dbUserKey Kubernetes GVP Configuration Server username
secrets.configServer.dbPasswordKey Kubernetes GVP Configuration Server password

Configure security


Retrieved from "https://all.docs.genesys.com/GVP/Current/GVPPEGuide/Configure (2024-11-03 07:35:10)"
Comments or questions about this documentation? Contact us for support!