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:
|
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 | Primary Finesse URL for Site A | |
Finesse_2 | Primary Finesse URL for Site B | |
ACCESS_TOKEN_URL | ||
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 | ||
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 | ||
AOP_CALLBACK | /ef-voice/fnb-cme/submit-gc-event/v1 | |
AXL_URL | ||
AXL_USER | administrator | |
AXL_PASSWORD | Expertflow464 | |
THREAD_POOL_COUNT | 2000 | |
LD_LIBRARY_PATH | /app | |
TZ | Asia/Karachi |