Provision UCS

From Genesys Documentation
Jump to: navigation, search
This topic is part of the manual Work with Genesys CX Insights Reports for version Current of Reporting.

Learn how to provision Universal Contact Service (UCS).

UCS provisioning is executed automatically during deployment procedure.

Tenant provisioning

1. Create and configure a values-override.yaml file:

# * Images
# Replace for your values: registry and secret
image:
  pullPolicy: IfNotPresent
  pullSecrets: [name: <docker-registry-secret-name>]
  registry: <docker-registry>
  repository: deploy_ucsx
 
# * Command
# "register_ucsx_tenant" or "unregister_ucsx_tenant"
command: "register_ucsx_tenant"
 
# * Tenant info
tenant:
  id: "<tenant-sid>"
  ccid: "<tenant-uuid>"
 
# * UCSX configuration
ucsx:
  addr: "<ucsx-host-internal>:8500"
  restaddr: "http://<ucsx-host-internal>:8080"
 
# * K8s secret and configmap
configNameBase: ucsx-config
secretNameBase: ucsx-secret
 
# * Authentication
# Set your values.
gauth:
  auth:
    url: "http://<gauth-auth-url-internal>"
    # regions:
    clientId: "<gauth-client-id>"
    clientSecret: "<gauth-client-secret>"
  env:
    url: "http://<gauth-env-url-internal>"
 
# * DB Parameters
# Set your values.
db:
  ssl:  "<db-ssl-mode>"
  name: "<db-name>"
  host: "<db-host>"
  port: "<db-port>"
  user: "<db-user>"
  password: "<db-password>"
 
# * WWE
# wwe: {}
wwe:
  skipRegistration: 'true'
 
# * Pod configuration
podSecurityContext: {}
 
securityContext: {}
 
nodeSelector: {}
 priorityClassName: ''
 keepPod: true

2. Install the tenant using the ucsx-addtenant Helm chart:

helm install ucsx-addtenant-<tenant-sid> ucsxhelmrepo/ucsx-addtenant --version=<chart-version> --namespace=ucsx --wait --timeout 300s -f values-override.yaml

Configure WWE (Workspace API) to consume UCSX service

If the wwe: skipRegistration values is set as true in the Helm chart,

1. Get a bearer token from the GAUTH service:

curl -X POST "https://<gauth-auth-url-external>/auth/v3/oauth/token?grant_type=client_credentials&client_id=<gauth-client-id>&client_secret=<gauth-client-secret>"

2. Get the current settings of Workspace API.

curl -X GET "https://<gauth-auth-url-external>/environment/v3/contact-centers/<tenant-uuid>/settings" -H "Authorization: Bearer <access-token>" -H "Content-Type: application/json"

3. Configure the Workspace API to consume UCSX service.

curl -X POST "https://<gauth-auth-url-external>/environment/v3/contact-centers/<tenant-uuid>/settings"
     -H "Authorization: Bearer <access-token>"
     -H "Content-Type: application/json"
     --data-raw '{
         "data":
            {"name":"workspace-service.ucsservice-uri",
             "location":"/",
             "value":"http://<ucsx-host>",
             "shared":false }
       }'

4. Configure CORS.

curl -X POST "https://<gauth-auth-url-external>/environment/v3/cors"
     -H "Authorization: Bearer <access-token>"
     -H "Content-Type: application/json"
     --data-raw '{
         "data":
            {
              "origin": "https://<ucsx-host>",
              "contactCenterId": "<tenant-uuid>"
            }
       }'

Validate the provisioning

To check the logs:

kubectl get pods ucsx
kubectl logs <ucsx-addtenant-<tenant-sid>-pod-id>

curl requests

To get a bearer token:

curl -X POST "https://<gauth-auth-url-external>/auth/v3/oauth/token?grant_type=client_credentials&client_id=<gauth-client-id>&client_secret=<gauth-client-secret>"

To get a cluster version:

curl --request POST http://<ucsx-host>/ucs/v3/rest/request/get-version -H "Authorization: Bearer <access-token>" -H "Content-Type: application/json"

To get the tenant information:

curl -X GET http://<ucsx-host>/ucs/v3/config/tenants -H "Authorization: Bearer <access-token>" -H 'Content-Type: application/json'

To show the tenant information using the cmxctrl command from the ucsx pod:

cmxctrl -g <access-token> info <tenant-uuid>

Managing Tenants

To unregister a tenant:

helm install ucsx-addtenant-<tenant-sid> ucsxhelmrepo/ucsx-addtenant --version=<chart-version> --namespace=ucsx --wait --timeout 300s --set command=unregister_ucsx_tenant -f values-override.yaml

To uninstall a Helm chart:

helm uninstall ucsx-addtenant-<tenant-sid> --namespace=ucsx

To delete a tenant usingthe cmxctrl command from the ucsx pod:

cmxctrl rm -g <access-token> <tenant-uuid>


Retrieved from "https://all.docs.genesys.com/UCS/Current/UCSPEGuide/Provision (2025-07-10 15:23:08)"
Comments or questions about this documentation? Contact us for support!