Software requirements
Prerequisite software and third-party dependencies required for the Genesys Engage cloud private edition environment.
Prerequisites
This article describes the prerequisites and third-party infrastructure services (dependencies) you need to deploy before deploying Genesys Engage services.
- Domain Name System (DNS)
- Helm 3.0+
- Ingress Controller
- JFrog Edge Artifactory account
- Kubernetes 1.18.x - 1.19.x
- Session Border Controller (SBC)
- Web Application Firewall (WAF) - optional, but recommended.
Third-party dependencies
See the table below for details about the prerequisite third party dependencies. Genesys has tested the OpenShift Operators, but you can use any compatible version of these services.
Name | Version | OpenShift Operator Hub | OpenShift Operator URL | Purpose |
---|---|---|---|---|
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. | |||
An SMTP relay | Facilitates email communications in an environment where GCXI reports or voicemails are sent as emails to contact center personnel. Genesys recommends PostFix, but you can use any SMTP relay that supports standard mail libraries. | |||
Command Line Interface | OpenShift CLI (oc) | https://cloud.redhat.com/products/container-platform | The command line interface tools to log in and work with the Kubernetes clusters. | |
HTTPS certificates - cert-manager | Use with Let's Encrypt to provide free rotating TLS certificates for NGINX Ingress Controller. | |||
HTTPS certificates - Let's Encrypt | Use with cert-manager to provide free rotating TLS certificates for NGINX Ingress Controller. Note: Let's Encrypt is a suite-wide requirement if you choose an Ingress Controller that needs it. | |||
Ingress controller | Ingress Operator | https://docs.openshift.com/container-platform/4.8/networking/ingress-operator.html | HTTPS ingress controller. | |
Load balancer | VPC ingress. For NGINX Ingress Controller, a single regional Google external network LB with a static IP and wildcard DNS entry will pass HTTPS traffic to NGINX Ingress Controller which will terminate SSL traffic and will be setup as part of the platform setup. | |||
Object storage | Persistent or shared data storage, such as Amazon S3, Azure Blob Storage, or Google Cloud Storage. | |||
Kafka | 2.x | Banzai Cloud Kafka Operator | https://operatorhub.io/operator/banzaicloud-kafka-operator | Message bus. |
Keda | 2.0 | KEDA Operator | https://operatorhub.io/operator/keda | Custom metrics for scaling. Use of Keda or HPA is configurable through Helm charts. |
Redis | 6.x | Redis Enterprise Operator | https://operatorhub.io/operator/redis-enterprise | Used for caching. Only distributions of Redis that support Redis cluster mode are supported, however, some services may not support cluster mode. |
Consul | 1.13.x | Service discovery, service mesh, and key/value store. | ||
Elasticsearch | 7.x | Elasticsearch (ECK) Operator | https://operatorhub.io/operator/elastic-cloud-eck | Used for text searching and indexing. Deployed per service that needs Elasticsearch during runtime. |
MS SQL Server | 2016 or later | Relational database. Required only for GVP. | ||
PostgreSQL | 11.x | Relational database. |
Permissions
OpenShift controls the pod permissions (including user access) through a security feature called security context constraints (SCCs). Genesys has created a customized SCC called genesys-restricted SCC which covers the user access as one of the constraints. See OpenShift security settings for a detailed procedure.
- If you are a Cluster Administrator, you must create a cluster role, create a user group called genesys-restricted-group, assign the cluster role to the user group, and then add users to the group. These users have appropriate permissions to manage Genesys Engage services.
- If you are deploying Genesys Engage services, make sure your user ID is part of the genesys-restricted-group group. Contact your Cluster Administrator to set this for you.