Skip to main content
Skip table of contents

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.

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

2. Change to the directory.

CODE
cd gc_k3s_deployment/cti-voice

Step 2: Create Namespace

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

CODE
kubectl create namespace ef-cti-voice

ActiveMQ

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

CODE
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.

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

ConfigMaps

apply  the configmap in ConfigMaps folder using

CODE
kubectl apply -f Configmap/

Services

Create service for  deployment of generic components

CODE
kubectl apply -f Services/

Deployments

apply the Deployment manifests 

CODE
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

CODE
kubectl apply -f Ingress/nginx

Run this command for Traefik

CODE
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


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.