The Containerized Flow Engine¶
The services composing a titan Flow Engine deployment are containerized into docker images. They can be used for production or testing environments as well as for development.
Available image labels:
stable: Images built from the master branch
latest: Images built from the development branch
The Flow Engine on Docker Hub:
Control Peer Service Image¶
Images provided for running the services are based on Debian Buster (Slim) mainly for reasons of image size.
The Control Peer image is built in a two step Docker build process. The first stepp is equipped with a gcc build environment that enables building all necessary Python packages that are required for running the flow engine.
gcc
Further the ZeroMQ Python site-package is installed.
The second Docker build step then packages the Python titan Flow Engine using the build artifacts from the first step.
The titan Control Peer requires a Python 3.7 runtime and the Python site package: ujotypes-py. It is installed as titanfe Python site-package.
Configuration files for the processe are expected to be at
/etc/titanfe/flowengine/config.yaml
and should be mounted from a folder on
the host to the running container:
docker run -v /titanfe/flowengine:/etc/titanfe/flowengine industrialdevops/flow-engine
When using the Flow Engine with docker-compose
the configuration file should
be mounted from a location on the host. Additionally the file controling how the
Control Peer and Brickrunner log can me mounted to replace the config file that
comes with the titanfe Python site-package
titan-controlpeer:
image: industrialdevops/flow-engine:stable
restart: always
volumes:
- ./etc/titanfe/flowengine:/etc/titanfe/flowengine
- ./etc/titanfe/flowengine-log/log_config.yml:/usr/local/lib/python3.7/site-packages/titanfe/log_config.yml
environment:
SVC_CONFIG: /etc/titanfe/flowengine/config.yaml