TIBCO BusinessEvents (BE) Docker Container - Steps to use Consul for GVs

TIBCO BusinessEvents (BE) Docker Container - Steps to use Consul for GVs

book

Article ID: KB0075510

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition 5.6.1.

Description

This article provides configuration and startup commands to use Consul to manage global variables in BE Docker container.
 

Environment

All Operating Systems (Docker)

Resolution

See also:
https://docs.tibco.com/pub/businessevents-enterprise/5.6.1/doc/html/GUID-57668596-829C-4D24-B671-6667EB99CA30.html

1. Create BE Docker image for your application.

- Download latest Cloud files from github
https://github.com/TIBCOSoftware/be-tools/tree/v1.0

2. Create a new folder in docker directory (e.g. "installFiles")
3. Download and copy TIBCO ActiveSpaces (AS) and BE install files (*.zip) to the new created folder.
4. Create a new folder for the application related data files like EAR, CDD file, external JARs etc (e.g. FDAppFiles)
5. Open a command window cd to docker/bin folder and build the docker image (parameter "--gv-providers consul" is required)
e.g. (Windows)

set WORKHOME=D:\BE\dockerBE561\dockerscripts
cd %WORKHOME%\docker\bin
build_app_image.bat -l %WORKHOME%\installfiles -a %WORKHOME%\FDAppFiles -r fd:latest --gv-providers consul


6. Start/Create Consul docker container
e.g.
set NETWORKNAME=TestSupportConsul

# create network bridge (if it does not exist)
docker network create %NETWORKNAME%

::starting consul container first time
docker run  -d -p 8500:8500 -p 8600:8600/udp --name=consul --net=%NETWORKNAME% consul agent -server -ui -node=server-1 -bootstrap-expect=1 -client=0.0.0.0

:: Start command when container exists already
docker start consul


7. Connect to Consul server and create GlobalVariables for your application(s) and the profile
Format:
<application>/<profile>/<GVURL>=<value>

e.g.:
User-added image

8. Start BE application docker container

e.g. (windows):
set ENGINE_NAME=IA1_FDSample
set DOCKIMAGE=fd:latest
set CONSULURL=http://consul:8500
set CONSUL_PROFILE=prod
set DOCKIMAGE=fd:latest
set APPNAME=FraudDetection
set PU=default
set NETWORKNAME=TestSupportConsul


# create network bridge (if not exist)
docker network create %NETWORKNAME%
docker run -it --rm --net=%NETWORKNAME% -p 8108:8108 -e CONSUL_SERVER_URL=%CONSULURL% -e APP_CONFIG_PROFILE=%CONSUL_PROFILE% -e BE_APP_NAME=%APPNAME% -e PU=%PU% -e ENGINE_NAME=%ENGINE_NAME% %DOCKIMAGE%



- Returned GV(s) returned in log (before BE startup sequence)
-----------------
...
# GV values from Consul
tibco.clientVar.GVTestSupport=value1
...

 

Issue/Introduction

Steps to build BE and Consul container to load GVs from Consul

Additional Information

Docker, Consul