From b4f818ac1a1854e940b5edf9109ce10f8fcf4478 Mon Sep 17 00:00:00 2001 From: Oleg Sheynin Date: Fri, 13 Dec 2024 20:01:45 -0500 Subject: [PATCH] added musvcs:oe_gateway --- microservices/docker-compose.yml | 44 +++++++++-------------- microservices/md_gateway/run_mdgw.sh | 2 +- microservices/oe_gateway/.dockerignore | 3 ++ microservices/oe_gateway/Dockerfile | 25 ++++++++++++++ microservices/oe_gateway/run_oegw.sh | 48 ++++++++++++++++++++++++++ 5 files changed, 94 insertions(+), 28 deletions(-) create mode 100644 microservices/oe_gateway/.dockerignore create mode 100644 microservices/oe_gateway/Dockerfile create mode 100755 microservices/oe_gateway/run_oegw.sh diff --git a/microservices/docker-compose.yml b/microservices/docker-compose.yml index aaa33ca..ef17e00 100644 --- a/microservices/docker-compose.yml +++ b/microservices/docker-compose.yml @@ -2,48 +2,38 @@ version: "3.9" services: md_gateway: - image: md_gateway:latest + image: cloud21.cvtt.vpn:5500/md_gateway:latest container_name: md_gateway environment: - REDIS_HOST=redis volumes: - - ./config:/shared/config - - ./logs:/shared/logs + - ./config:/config + - ./logs:/logs - ./data:/data depends_on: - redis + tester: + image: cloud21.cvtt.vpn:5500/tester:latest + container_name: tester + environment: + - REDIS_HOST=redis + volumes: + - ./config:/config + - ./logs:/logs + - ./data:/data + depends_on: + - redis + - md_gateway + redis: image: redis:latest container_name: redis ports: - "6379:6379" volumes: - - redis_data:/data/redis + - ./data/redis:/data -volumes: - redis_data: -# version: "3.9" - -# services: -# redis: -# image: redis:latest -# container_name: redis -# ports: -# - "6379:6379" -# volumes: -# - redis_data:/data - -# market_data_gateway: -# image: your_market_data_gateway_image:latest -# container_name: market_data_gateway -# environment: -# - REDIS_HOST=redis -# volumes: -# - ./config:/shared/config -# - ./logs:/shared/logs -# depends_on: -# - redis # test_program: # image: your_test_program_image:latest diff --git a/microservices/md_gateway/run_mdgw.sh b/microservices/md_gateway/run_mdgw.sh index e278787..95c11ca 100755 --- a/microservices/md_gateway/run_mdgw.sh +++ b/microservices/md_gateway/run_mdgw.sh @@ -34,7 +34,7 @@ while getopts "c:a:z" opt; do done Cmd="python3.12" -Cmd="${Cmd} cvttpy/apps/microservices/mkt_data_gateway/md_gateway.py" +Cmd="${Cmd} cvttpy/apps/microservices/market_gateways/md_gateway.py" Cmd="${Cmd} --config=${Config}" Cmd="${Cmd} --credentials_file=/.creds" Cmd="${Cmd} --admin_port=${AdminPort}" diff --git a/microservices/oe_gateway/.dockerignore b/microservices/oe_gateway/.dockerignore new file mode 100644 index 0000000..a4f7c14 --- /dev/null +++ b/microservices/oe_gateway/.dockerignore @@ -0,0 +1,3 @@ +.git +**/__pycache__ +.pipenv \ No newline at end of file diff --git a/microservices/oe_gateway/Dockerfile b/microservices/oe_gateway/Dockerfile new file mode 100644 index 0000000..3a6649e --- /dev/null +++ b/microservices/oe_gateway/Dockerfile @@ -0,0 +1,25 @@ +FROM python:3.12-slim + +ARG ROOT_MCRSVC_DIR=docker_dev/microservices +ARG FROM_DIR=${ROOT_MCRSVC_DIR}/oe_gateway + +COPY ${ROOT_MCRSVC_DIR}/requirements.txt / +RUN pip install --upgrade pip --root-user-action=ignore +RUN pip install -r /requirements.txt --root-user-action=ignore + +COPY cvttpy /cvttpy +COPY ${ROOT_MCRSVC_DIR}/.creds /.creds + + +COPY ${FROM_DIR}/run_oegw.sh /run_oegw.sh +RUN chmod +x /run_oegw.sh + +RUN mkdir /logs +RUN mkdir -p /config + + +WORKDIR / +SHELL ["/bin/bash", "-c"] +ENV PYTHONPATH=/ +ENTRYPOINT [ "/run_oegw.sh" ] + diff --git a/microservices/oe_gateway/run_oegw.sh b/microservices/oe_gateway/run_oegw.sh new file mode 100755 index 0000000..af7f658 --- /dev/null +++ b/microservices/oe_gateway/run_oegw.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +# runs in container + +# runs on host to start container +usage() { + echo -n "Usage: ${0}" + echo -n " [-c ]" + echo -n " [-a ]" + echo -n " [-z (compress log)"] + echo + exit 1 +} + +Config=/config/cvtt.cfg +AdminPort=7220 +COMPRESS_LOG=false + + +while getopts "c:a:z" opt; do + case ${opt} in + c ) Config=$OPTARG ;; + a ) AdminPort=$OPTARG ;; + z ) COMPRESS_LOG=true ;; + \? ) + echo "Invalid option: -$OPTARG" >&2 + usage + ;; + : ) + echo "Option -$OPTARG requires an argument." >&2 + usage + ;; + esac +done + +Cmd="python3.12" +Cmd="${Cmd} cvttpy/apps/microservices/market_gateways/order_entry_gateway.py" +Cmd="${Cmd} --config=${Config}" +Cmd="${Cmd} --credentials_file=/.creds" +Cmd="${Cmd} --admin_port=${AdminPort}" +Cmd="${Cmd} --log_file=/logs/%T.md_gateway.log" +if ${COMPRESS_LOG} ; then + Cmd="${Cmd} --compress_log" +fi +echo ${Cmd} +eval ${Cmd} + +