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.
 

Issue/Introduction

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

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

 

Additional Information

Docker, Consul