Deploy Digital Channels

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

Learn how to deploy Digital Channels into a private edition environment.


  • The instructions on this page assume you are deploying the service in a service-specific namespace or OpenShift project, named in accordance with the requirements on Creating namespaces. If you are using a single namespace for all private edition services, replace the namespace element in the commands on this page with the name of your single namespace or project.
  • Similarly, the configuration and environment setup instructions assume you need to create namespace-specific (in other words, service-specific) secrets. If you are using a single namespace for all private edition services, you might not need to create separate secrets for each service, depending on your credentials management requirements. However, if you do create service-specific secrets in a single namespace, be sure to avoid naming conflicts.
Make sure to review Before you begin for the full list of prerequisites required to deploy Digital Channels.

Prepare your environment

To prepare your environment for the deployment, complete the steps in this section for either OpenShift or Google Kubernetes Engine (GKE).


Log in to the OpenShift cluster from the host where you will run the deployment:
oc login --token <token> --server <url of api server>
First confirm the cluster is running:
oc get clusterversion
Create a new project for Digital Channels:
oc new-project nexus


Log in to the GKE cluster from the host where you will run the deployment:
gcloud container clusters get-credentials <cluster>


Log in to the GKE cluster from the host where you will run the deployment:
az aks get-credentials --resource-group <rsgroup> --name <name> --admin
Create a JSON file called create-nexus-namespace.json with the following content:
  "apiVersion": "v1",
  "kind": "Namespace",
  "metadata": {
    "name": "nexus",
    "labels": {
      "name": "nexus"
Use the JSON file to create a new namespace for Digital Channels:
kubectl apply -f apply create-nexus-namespace.json
Now, confirm the created namespace:
kubectl describe namespace nexus
Add Helm repo and execute Helm upgrade to create persistent volumes and persistent volume claims
helm repo add nexushelmrepo   --username={jfrog_user} --password={jfrog_token}

Configure a secret to access JFrog

If you haven't done so already, create a secret for accessing the JFrog registry:

kubectl create secret docker-registry <credential-name> --docker-server=<docker repo> --docker-username=<jfrog_username> --docker-password=<API_key_from_jfrog>

For OpenShift deployments, map the secret to the default service account (this is an optional step):

oc secrets link default <credential-name> --for=pull


To deploy Digital Channels, you need the Helm package and override files you downloaded in a previous step. Copy values.yaml and the Helm package (nexus-<version>.tgz) to the installation location.

You must override the following key sections in values.yaml:

Here's an example of how your values.yaml file might look:
deploymentType: Deployment
replicaCount: 1
  repository: nexus/nexus
  pullPolicy: IfNotPresent
imagePullSecrets: [ mycred ]
nameOverride: ""
fullnameOverride: ""
  fqdn: "http://digital.<your-cluster>"
  redirectProtocol: "http://"
    enabled: true
    nodes: "redis://<redis-url>:<redis-port>"
    useCluster: true
    enableTls: false
    password: $nexus_redis_password
    host: "<postgres-host>"
    port: <postgres-port>
    user: "<db-user>"
    password: nexus_db_password
    enableSsl: false
    apikey: ""
    retryTimeout: 10000
  enabled: true
  type: ClusterIP
    - hosts:
      - digital.<your-cluster>
      secretName: letsencrypt 
  enabled: true
    - host: digital.<your-cluster>
        - path: '/chat/v3/'
          port: http
        - path: '/nexus/v3/'
          port: http
        - path: '/ux/'
          port: http
        - path: '/admin/'
          port: http
        - path: '/auth/'
          port: http
  enabled: true
  alarms: true
Run the following command to install Digital Channels:
helm install nexus ./nexus-<version>.tgz --set version=<version> -f values.yaml

Validate the deployment

To validate the deployment, send the following GET request:


Where $nexusURL is the fully qualified domain name (FQDN) for Digital Channels.

The response should look like this:
	"buildInfo": {
		"@genesys/nexus-admin-ux": "^1.0.21",
		"@genesys/nexus-ux": "^2.2.46",
		"version": "",
		"changeset": "8c3a2b34888d41b318d949a4bda2903368cf3bda",
		"timestamp": "Thu Oct 21 13:55:13 UTC 2021"
	"startTime": "2021-10-22T10:40:27.456Z",
	"os": {
		"upTime": 1142897,
		"freemem": 105664512,
		"loadavg": [1.32, 0.68, 0.43],
		"totalmem": 2052542464
	"upTime": 279363374,
	"memoryUsage": {
		"rss": 306659328,
		"heapTotal": 196685824,
		"heapUsed": 162114568,
		"external": 2490373,
		"arrayBuffers": 818214
	"cache": {
		"ready": true,
		"state": "READY"
	"db": {
		"ready": true
	"state": "green"
The deployment was successful if state="green". You can also confirm that db.ready=true and cache.ready=true.

Next steps

Complete the steps in the "Integrate and provision" chapter to finish deploying Digital Channels. See Provisioning overview for details.

Retrieved from " (2023-02-09 03:04:56)"
Comments or questions about this documentation? Contact us for support!