Document toolboxDocument toolbox

(4.4.12) Deployment Guide Kubernetes

Introduction

This document illustrates the procedure and steps to deploy Expertflow Generic Connector on any Kubernetes distribution (K3s or RKE2).

Step 1: Clone the Experflow Generic Connector Repository

1. Start with cloning the repository from GitLab.

git clone -b 4.4.12 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cti/gc_k3s_deployment.git

2. Change to the directory.

cd gc_k3s_deployment/cti-voice

Step 2: Create Namespace

 Run the following command on the master node. Create the namespace using the command.

kubectl create namespace ef-cti-voice

ActiveMQ

1. If you want to use ActiveMQ then Run the following command for ActiveMQ implementation.

kubectl apply -f StatefulSet/

2. Update Communication_Format from REST to JMS in the configmap file.

3. Update ActiveMQ Url in the confgimap file with your ActiveMQ service name and port number.

<service-name>:Port Number // e.g- ef-cti-amq-svc:61616

ConfigMaps

apply  the configmap in ConfigMaps folder using

kubectl apply -f Configmap/

Services

Create service for  deployment of generic components

kubectl apply -f Services/

Deployments

apply the Deployment manifests 

kubectl apply -f Deployment/

Step 3: Update the FQDN

1. Decide the FQDN to be used in your solution and change the <FQDN> to your actual FQDN as given in the following command:

sed -i 's/devops[0-9]*.ef.com/<FQDN>/g' Ingress/nginx/* Ingress/traefik/*

Ingress

Run this command for RKE

kubectl apply -f Ingress/nginx

Run this command for Traefik

kubectl apply -f Ingress/traefik

Connector Configuration Parameters (Environment Variables)

Parameter

Default Value

Description

NUMBER_OF_LICENSES

1000



CUSTOMER_NAME

Haseeb



KEY

ASDFGHJKLZXCVBNM234RFGHUIOKJMNBFEWSDFGHNJMNBV

License key. Must be obtained from EF Team

Finesse_1

https://Finesse-X-DN/finesse/api/

Primary Finesse URL for Site A 

Finesse_2

https://Finesse-X-DN/finesse/api/

Primary Finesse URL for Site B 

ACCESS_TOKEN_URL

https://192.168.1.104:1126/getaccesstoken



FINESSE_REQUEST_TIMEOUT

3000

Finesse requested a timeout (in mili-seconds)

FINESSE_HEARTBEAT_SLEEP

5

Delay in ping to finesse servers (seconds) 

ByPass_SSL

ture

Bypass SSL Certificate if finesse url is https and self signed certificate is used, in case of false Import SSL certificate to JVM if needed

ACTIVEMQ1

localhost:61616

ActiveMQ Primary URL

ACTIVEMQ1

localhost:61616

ActiveMQ Secondary URL

ACTIVEMQ_TIMEOUT

30000

ActiveMQ connection timeout (in milliseconds)

GRC_CONSUMER_PRIORITY

127

Connector1 Queue consumer priority (Used for primary, secondary deployment of GC)(0-127)

PRIORITY_BACKUP

true

To connect with its primary GC

RANDOMIZE

false

for failover url

PREFETCH_SIZE

20000

Prefect Size of the messages

AGENT_STATES_PUBLISHER_DURATION

5000

Time after which, states of all agents would be published on topic (In Milliseconds)

GC_HEARTBEAT_TIMEOUT

10000

GC heartbeat timeout

AGENT_INACTIVITY_DURATION

30

Agent inactivity time (in seconds)

GC_HEARTBEAT_SLEEP

10000

gc heartbeat thread sleep time

AGENT_INACTIVITY_TIME_SWITCH

false

Agent inactivity switch

DEFAULT_NOT_READY_REASON

19

default reason code for not ready (Must be defined in finesse)

DEFAULT_LOGOUT_REASON

70

Default reason code for force logout

AGENT_XMPP_SUBS_TIME

10000

Agent XMPP Subscription Time

USE_ENCRYPTED_PASSWORDS

false

Use encrypted password

CHANGE_STATE_ON_WRAPUP

true

Automatically change the state when wrap-up occurs

MESSAGE_FORMAT

JSON

Message Format for communication. Expected formats DEFAULT, JSON, XML

AGENT_LOGS_PATH

/app/logs/agents/

Agent Logs Storage path

AGENT_LOGS_LEVEL

TRACE

Agent Logs Level

AGENT_LOGS_MAX_FILES

10

Max No of Files per agent for logs

AGENT_LOGS_FILE_SIZE

10MB

Max file size for agent logs

XMPP_PING_INTERVAL

3

Interval in seconds between XMPP server pings

ADMIN_ID

Administrator

The username of the administrator account the would be used for phonebook and contact APIs

ADMIN_PASSWORD

Expertflow464

The password of the administrator account would be used for phonebook and contact APIs

SUPERVISOR_INITIATED_NOTRAADYREASONCODE

19

Reason code for supervisor state change to Not_Ready

SUPERVISOR_INITIATED_LOGOUTREASONCODE

20

Reason code for supervisor state change to Log_Out

UCCX_SERVER_IP

192.168.1.29

For queue stats in case of UCCX

UCCX_SERVER_USERNAME

Administrator



UCCX_SERVER_PASSWORD

Expertflow464



UCCX_DB_USERNAME

uccxhruser



UCCX_DB_PASSWORD

12345



UCCX_DB_RETRY_ATTEMPTS

2



UCCX_DB_TIMEOUT_CONNECTION

1800



COMMUNICATION_FORMAT

REST | JMS



SPRING_PORT

8112



REDIS_URL

redis-master.ef-cti.svc



REDIS_PORT

6379



REDIS_PASSWORD

Expertflow123



GET_SKILL_AND_SUP_FORMAT

API || DB



UCCE_SERVER_IP

192.168.1.72

UCCE Server IP for Skill Group

DOMAIN_ADMINISTRATOR_USER

administrator@ucce.ipcc



DOMAIN_ADMINISTRATOR_PASSWORD

Expertflow464



SKILL_GROUP_ALL_RESULT

false

if it is false, we will return 25 skills

SQL_SERVER

192.168.1.89

For Skill groups and supervisor list

DATABASE

uc12_awdb



DATABASE_TABLE

Skill_Group



DATABASE_USER_NAME

sa



DATABASE_USER_PASSWORD

Expertflow464



KEY_STORE_TYPE

PKCS12



KEY_STORE

D:\\EF_Project\\GC4.4\\Generic Connector\\certs\\store\\clientkeystore.p12



TRUST_STORE

D:\\EF_Project\\GC4.4\\Generic Connector\\certs\\store\\client.truststore



KEY_STORE_PASSWORD

changeit



TRUST_STORE_PASSWORD

changeit



PRIVATE_KEY_STRING

key_value



ISSUER

ef-chat



EXPIRY

300



PEP_BASE_PATH

http://192.168.50.31:8113



AOP_CALLBACK

/ef-voice/fnb-cme/submit-gc-event/v1



AXL_URL

https://192.168.1.26:8443/axl/



AXL_USER

administrator



AXL_PASSWORD

Expertflow464



THREAD_POOL_COUNT

2000



LD_LIBRARY_PATH

/app



TZ

Asia/Karachi