Configure Webphone

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

Learn how to configure Webphone.

Override Helm chart values

Download the Webphone Helm charts from JFrog using your credentials. Override the configuration parameters in the values.yaml file to provide deployment-specific values for certain parameters. You can override values in the Helm charts to configure Private Edition. For more information about overriding Helm chart values, see the "suite-level" documentation about how to override Helm chart values: Overriding Helm chart values.
The following table includes the Helm chart values required for configuring Webphone service.

Option Name Description Is Mandatory? Default Value Valid Value
image.repository Webphone image repository/directory. mandatory string
image.tag Version of Webphone container. mandatory string
image.pullPolicy Kubernetes pull policy of all containers. mandatory string
image.imagePullSecrets Secrets to pull image. optional list
replicaCount Number of desired Webphone pods. optional integer
webphone.cfgService GWS9.x environment service address for configuring Webphone service. mandatory string
webphone.authService GAuth service address. mandatory string
webphone.webrtcService WebRTC service address. mandatory string
webphone.webphoneService Webphone service address. mandatory string
webphone.authRedirectUri GWS/WEE redirect URI for WWE authentication. mandatory
secrets.gwsClientId GWS client ID injected as environment variable. mandatory "webrtc_secret_client"
k8s.gws Name of Kubernetes Secret object that contains secret for GWS client ID. optional
k8s.gwsSecretPath File path in Kubernetes Secret object  that contains the GWS secret. optional
secrets.env.gws Secret for GWS client ID, injected as environment variable. optional string
service.enabled To enable deployment of Kubernetes Service for Webphone pods. mandatory true true/false
service.type Type of Webphone Service object. optional ClusterIP string
service.port Port of Webphone Service object. optional 80 integer
ingress.enabled To enable deployment of Kubernetes Ingress for Webphone

Ingress. This parameter can be enabled only if Webphone service is enabled.

mandatory true true/false
ingress.annotations Any additional annotations applied for Webphone Ingress. optional
ingress:
  annotations:
    nginx.ingress.kubernetes.io/affinity: cookie
    nginx.ingress.kubernetes.io/affinity-mode: persistent
    nginx.ingress.kubernetes.io/session-cookie-name: webphonesession
    nginx.ingress.kubernetes.io/session-cookie-path: /; Secure
    nginx.ingress.kubernetes.io/session-cookie-secure: "true"
    nginx.ingress.kubernetes.io/session-cookie-samesite: None
ingress.host FQDNs of Webphone. This field is mandatory, if ingress is enabled. optional string
ingress.ingressClassName Classname of ingress. optional string
resources Resources requested for Webphone pods. optional
resources:
  limits:
    cpu: 500m
    memory: 1024Mi
  requests:
    cpu: 50m
    memory: 128M
list
podAnnotations Any additional annotations applied for Webphone pods. optional array
podSecurityContext Security context for Webphone pod. optional array
securityContext Security context for Webphone container. optional array
nodeSelector Node selector for Webphone pods. optional array
tolerations If toleration exists, this parameter is inserted into toleration of Webphone pods. optional array
affinity Pod affinity descriptions.
serviceAccountName Name of the Service Account used to run the Webphone pods. optional default
priorityClassName Name of the priority class for pods that indicates the importance of a pod relative to other pods. optional string
dnsPolicy Kubernetes DNS Policy applied in the pods. optional
dnsConfig All DNS settings are provided using this field in the Pod Spec. optional
autoscaling.enabled To enable autoscaling of Webphone. mandatory false true/false
autoscaling.minReplicas Minimal number of Webphone pods. optional 1 integer
autoscaling.maxReplicas Maximum number of Webphone pods. optional 2 integer
autoscaling.targetCPUUtilizationPercentage CPU usage threshold to trigger autoscaling. optional 80 integer
autoscaling.targetMemoryUtilizationPercentage Memory usage threshold to trigger autoscaling. optional integer
monitoring.enabled To enable monitoring of Webphone service. mandatory false true/false
monitoring.scrapeInterval optional


Configure the service

Before proceeding with the deployment process, perform the following pre-steps:

  1. Review values-template.yaml in helm charts: It provides all the available options with comments and explanations.
  2. Configure all the options in your own values file: Configure/overwrite values for options that you need. Use the values template.yaml file from the package that displays the list of available options with their description.
Sample values.yaml file:
image:
  repository: pureengageuse1-docker-multicloud.jfrog.io
  tag:        100.0.007.0000
  pullPolicy: IfNotPresent
  
webphone:
  cfgService:      "https://gws.<domain>"
  authService:     "https://gauth.<domain>"
  webrtcService:   "https://webrtc.<domain>"
  webphoneService: "https://webphone.<domain>"
  
secrets:
  gwsClientId: "webrtc_service_client"
  env:
    gws: "secret"
  
ingress:
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/ingress.allow-http: "true"
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/affinity: cookie
    nginx.ingress.kubernetes.io/affinity-mode: persistent
    nginx.ingress.kubernetes.io/session-cookie-name: webphonesession
    nginx.ingress.kubernetes.io/session-cookie-path: /; Secure
    nginx.ingress.kubernetes.io/session-cookie-secure: "true"
    nginx.ingress.kubernetes.io/session-cookie-samesite: None
    nginx.ingress.kubernetes.io/session-cookie-conditional-samesite-none: "true"
    nginx.ingress.kubernetes.io/session-cookie-max-age: "86400"
    nginx.ingress.kubernetes.io/session-cookie-change-on-failure: "true"
  hosts:
    - host: webphone.apps.qrtph6qa.westus2.aroapp.io
      paths:
        - path: "/"
  
monitoring:
  enabled: false
  
serviceAccount:
  create: false
  name: default
  
podSecurityContext:
  runAsGroup: 0
  runAsNonRoot: true
  
rbac:
  create: false

Comments or questions about this documentation? Contact us for support!