Before you begin deploying GCXI
Contents
Find out what to do before deploying Genesys Customer Experience Insights (GCXI).
Limitations and assumptions
GCXI can provide meaningful reports only if Genesys Info Mart and Reporting and Analytics Aggregates (RAA) are deployed and available; deploy GCXI only after Genesys Info Mart and RAA.
Download the Helm charts
For information about how to download the Helm charts in Jfrog Edge, see the suite-level documentation: Downloading your Genesys Multicloud CX containers
To learn what Helm chart version you must download for your release, see Helm charts and containers for Genesys Customer Experience Insights
GCXI Containers
- GCXI Helm chart makes use of the following containers.
- gcxi - main GCXI container, runs as a StatefulSet. This container is roughly 12 GB; ensure that you have enough space to allocate it.
- gcxi-control - supplementary container, used for GCXI first-install initialization and for cleanup
GCXI Helm Chart Download the latest yaml files from the repository, or examine the attached files: Sample GCXI yaml files
Third-party prerequisites
For information about setting up your Genesys Multicloud CX private edition platform, including Kubernetes, Helm, and other prerequisites, see Software requirements.
| Name | Version | Purpose | Notes |
|---|---|---|---|
| A container image registry and Helm chart repository | Used for downloading Genesys containers and Helm charts into the customer's repository to support a CI/CD pipeline. You can use any Docker OCI compliant registry. | ||
| PostgreSQL 12 | 12 | Relational database (Genesys Customer Experience Insights meta requires this version) | |
| MicroStrategy | Genesys Customer Experience Insights provides this software but requires replacement of MicroStrategy 3rd party keys. |
Storage requirements
GCXI installation requires a set of local Persistent Volumes (PVs). Kubernetes 'local' volumes are simply directories on the host, with specific properties: https://kubernetes.io/docs/concepts/storage/volumes/#local
Example usage: https://zhimin-wen.medium.com/local-volume-provision-242affd5efe2
Kubernetes provides a powerful volume plugin system that enables Kubernetes workloads to use a wide variety of block and file storage to persist data.
The GCXI Helm chart offers a simple solution that you can use to set up your own PVs, or you can configure PV Dynamic Provisioning in your cluster (so that PVs are created automatically by Kubernetes).
Volumes Design
GCXI installation uses the following PVC:
| Mount Name | Mount Path
(inside container) |
Description | Access Type | Approx Size | Default Mount Point on Host
(may be changed thru values) These directories MUST pre-exist on your host. That is how the local provisioner works. |
Must be Shared across Nodes? | Required Node Label
(applies to deafult Local PVs setup) |
|---|---|---|---|---|---|---|---|
| gcxi-backup | /genesys/gcxi_shared/backup | Backups
Used by control container / jobs. |
RWX | Depends on backup frequency.
5gb+ |
/genesys/gcxi/backup
May be overwritten by: Values.gcxi.local.pv.backup.path |
Only in multiple concurrent installs scenarios. | gcxi/local-pv-gcxi-backup = "true" |
| gcxi-log | /mnt/log | MSTR logs
Used by main container. The GCXI Helm chart allows log volumes of legacy |
RWX | Depends on rotation scheme.
5gb+ |
/mnt/log/gcxi
subPathExpr: $(POD_NAME) May be overwritten by: Values.gcxi.local.pv.log.path |
Not necessarily. | gcxi/local-pv-gcxi-log = "true"
You don't need node label if you are using hostPath volumes for logs. |
| gcxi-postgres | /var/lib/postgresql/data
(if using Postgres in container) or disk space in Postgres RDBMS |
Meta DB volume
Used by Postgres container, if deployed. |
RWO | Depends on usage.
10gb+ |
/genesys/gcxi/shared
May be overwritten by: Values.gcxi.local.pv.postgres.path |
Yes, unless you tie Postgres container to some particular node. | gcxi/local-pv-postgres-data = "true" |
| gcxi-share | /genesys/gcxi_share | MSTR shared caches and cubes
Used by main container. |
RWX | Depends on usage.
5gb+ |
/genesys/gcxi/data
subPathExpr: $(POD_NAME) May be overwritten by: Values.gcxi.local.pv.share.path |
Yes. | gcxi/local-pv-gcxi-share = "true" |
Preparing the environment
Complete the following steps to prepare your environment.
- For GKE deployments, execute the following command to log in to the gcloud cluster:
gcloud container clusters get-credentials gke1
- Execute the following command to log in to the cluster:
oc login --token <token> --server <url of api server>
- For OpenShift deployments, execute the following command to check the cluster version:
oc get clusterversion
- Execute the following command to create a new project:
- OpenShift:
oc new-project gcxi
- GKE:
- Edit the create-gcxi-namespace.json, adding the following values:
{ "apiVersion": "v1", "kind": "Namespace", "metadata": { "name": "gcxi", "labels": { "name": "gcxi" } } }
- Execute the following command to apply the changes:
kubectl apply -f apply create-gcxi-namespace.json
- OpenShift:
- For GKE, execute the following command to confirm namespace creation:
kubectl describe namespace gcxi
- Create a secret for docker-registry in order to pull images from the Genesys JFrog repository:
kubectl create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gim
- Create the file values-test.yaml, and populate it with appropriate override values. For a simple deployment using PostgreSQL inside the container, this includes PersistentVolumes named gcxi-log-pv, gcxi-backup-pv, gcxi-share-pv, and gcxi-postgres-pv. Override GCXI_GIM_DB with the name of your Genesys Info Mart data source.
Network requirements
Ingress
Ingress annotations are supported in the values.yaml file (see line 317). Genesys recommends session stickiness, to improve user experience.
ingress:
# http path and annotations may be overriden for external and internal access separately
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/affinity: cookie
nginx.ingress.kubernetes.io/affinity-mode: persistent
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
domain:
external:
annotations:
host:
tls:
enabled: false
secretName:
internal:
annotations:
host:
tls:
enabled: false
secretName:
path: /Allowlisting is required for GCXI.
WAF Rules
WAF rules are defined in the variables.tf file (see line 245).
SMTP
The environment variable EMAIL_SERVER is supported by the GCXI container and Helm chart.
TLS
The GCXI container does not serve TLS natively. Your environment should be configured to use proxy with HTTPS offload.
Browser requirements
MicroStrategy Web is the user interface most often used for accessing, managing, and running the Genesys CX Insights reports. MicroStrategy Web certifies the latest versions, at the time of release, for the following web browsers:
- Apple Safari
- Google Chrome (Windows and iOS)
- Microsoft Edge
- Microsoft Internet Explorer (Versions 9 and 10 are supported, but are not certified)
- Mozilla Firefox
To view updated information about supported browsers, see the MicroStrategy ReadMe.
| Name | Version | Notes |
|---|---|---|
| Firefox | Current release or one version previous | Genesys also supports the current ESR release. Genesys supports the transitional ESR release only during the time period in which the new ESR release is tested and certified. For more information, see Firefox ESR release cycle. Firefox updates itself automatically. Versions of Firefox are only an issue if your IT department restricts automatic updates. |
| Microsoft Edge (Legacy) | Current release | |
| Chrome | Current release or one version previous | Chrome updates itself automatically. Versions of Chrome are only an issue if your IT department restricts automatic updates. |
Genesys dependencies
GCXI requires the following services:
- Reporting and Analytics Aggregates (RAA) is required to aggregate Genesys Info Mart data.
- Genesys Info Mart and / or Intelligent Workload Distribution (IWD) Data Mart. GCXI can run without these services, but cannot produce meaningful output without them.
- GWS Auth/Environment service
- Genesys Platform Authentication thru Config Server (GAuth). Alternatively, GCXI includes a native internal login, which you can use to authorize users, instead of GAuth. This document assumes you are using GAuth (the recommended solution), which gives ConfigServer users access to GCXI.
- GWS client id/client secret
GDPR support
GCXI can store Personal Identifiable Information (PII) in logs, history files, and in reports (in scenarios where customers include PII data in reports). Genesys recommends that you do not capture PII in reports, however, if you do so, it is your responsibility to remove any such report data within 21 days or less, if required by General Data Protection Regulation (GDPR) standards.
For more information and relevant procedures, see: Genesys CX Insights Support for GDPR and the suite-level Link to come documentation.