Eleveo Middleware Deployment Guide
Step 1: Install EF CX
Follow the guide for install EFCX through Helm.
Step 2: Create custom values.yaml
Create and Customise cx-middleware-custom-values.yaml
Create and Customise cx-middleware-cronjob-custom-values.yaml
Step 3: Update the Configurations
Navigate to the Helm deployment folder of EFCX.
cd <CX-Folder>/kubernetes/
Open the helm-values/cx-middleware-custom-values.yaml
file and update the variables:
Under global
set the following value:
ingressRouter: The FQDN of the host VM.
Under siteEnvVars
set the values as follows:
RECORDING_BACKEND: The mechanism for recording files. Leave at default ELEVEO.
LOG_LEVEL: The amount of detail in the logs. Default is INFO, and for more detailed logs the value should be DEBUG.
ELEVEO_ADMIN: The administrator username for Eleveo.
ELEVEO_PASSWORD: The administrator password for Eleveo.
ELEVEO_URL: The IP address of the Eleveo deployment in format http://IP-address.
ELEVEO_ADMIN_PASSWORD: Password of Eleveo administrator.
ELEVEO_USERNAME: Eleveo user
CX_FQDN: The address of EF CX. https://EFCX-FQDN. This is set automatically via https://{{ .Values.global.ingressRouter }}
Open the helm-values/cx-middleware-cronjob-custom-values.yaml
file and update the variables:
Under global
set the following value:
ingressRouter: The FQDN of the host VM.
Under siteEnvVars
set the values as follows:
RECORDING_BACKEND: The mechanism for recording files. Leave at default ELEVEO.
LOG_LEVEL: The amount of detail in the logs. Default is INFO, and for more detailed logs the value should be DEBUG.
CX_FQDN: The address of EF CX. https://EFCX-FQDN. This is set automatically via https://{{ .Values.global.ingressRouter }}
MIDDLEWARE_API: The API link of the recording middle-ware that will provide recording files. Format: http://EFCX-FQDN/recording-middleware. This is set automatically.
RETRIEVAL_INTERVAL: The number of past days to push recording links for on startup.
ELEVEO_MAX_CALL_TIME: The maximum possible time in minutes a call is assumed to last.
ELEVEO_PASSWORD: The administrator password for Eleveo.
ELEVEO_PROCESSING_TIME: The time in minutes it takes for a call to appear in Eleveo after ending.
ELEVEO_TIMEZONE: The timezone of the Eleveo deployment e.g. Asia/Karachi
ELEVEO_URL: The IP address of the Eleveo deployment in format http://IP-address.
ELEVEO_USERNAME: The username of the Eleveo deployment.
TRUST_STORE_PASSWORD: Taken from the file
CX-<cx-version-tag>/cim-solution/kubernetes/helm/Core/values.yml
under the efConnectionVars section.KEY_STORE_PASSWORD: Taken from the file
CX-<cx-version-tag>/cim-solution/kubernetes/helm/Core/values.yml
under the efConnectionVars section.AUTH_ENABLED: true or false depending on whether APISIX authentication is enabled in EFCX. The four settings below are set if this value is true.
API_USERNAME: The username created in Keycloak for API authentication.
On Keycloak create a user in the Expertflow realm.
Assign the admin and default roles, and have Email-Verified option enabled.
Assign a non-temporary password to this user as well.
API_PASS: The password for the above user created in Keycloak for API authentication
CLIENT_ID: Should always be cim.
CLIENT_SECRET: Found on Keycloak in the cim client.
Step 3: Deploy the Eleveo Middleware Helm Chart
Deploy the helm chart using the following command
helm upgrade --install --namespace expertflow --set global.efCxReleaseName="ef-cx" eleveo-middleware --values helm-values/cx-middleware-custom-values.yaml expertflow/eleveo-middleware --version <cx-version>
Check the pods by running the following command
kubectl get pods -n expertflow | grep eleveo-middleware
Step 4: Deploy the Eleveo Middleware Cronjob Helm Chart
Deploy the Eleveo Middleware Cronjob helm chart using the following command
helm upgrade --install --namespace expertflow --set global.efCxReleaseName="ef-cx" middleware-cronjob --debug --values helm-values/cx-middleware-cronjob-custom-values.yaml expertflow/middleware-cronjob --version <cx-version>