Document toolboxDocument toolbox

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.

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.

ConfigMaps

apply  the configmap in ConfigMaps folder using

Services

Create service for  deployment of generic components

Deployments

apply the Deployment manifests 

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

Run this command for 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