From 6dd31615c5c2e8905f340a31bfc9d4746d9f0503 Mon Sep 17 00:00:00 2001 From: Oleg Sheynin Date: Thu, 27 Mar 2025 18:09:40 -0400 Subject: [PATCH] oe_gateway docker image build --- microservices/docker-compose.yml | 12 +++++ microservices/md_gateway/Dockerfile | 4 +- microservices/oe_gateway/Dockerfile | 22 ++++----- microservices/oe_gateway/build.sh | 41 +++++++++++++++++ microservices/oe_gateway/entrypoint.sh | 15 +++++++ microservices/oe_gateway/requirements.txt | 7 +++ microservices/oe_gateway/run_oegw.sh | 48 -------------------- microservices/tester/.dockerignore | 3 -- microservices/tester/Dockerfile | 26 ----------- microservices/tester/run_tester.sh | 55 ----------------------- 10 files changed, 85 insertions(+), 148 deletions(-) create mode 100755 microservices/oe_gateway/build.sh create mode 100755 microservices/oe_gateway/entrypoint.sh create mode 100644 microservices/oe_gateway/requirements.txt delete mode 100755 microservices/oe_gateway/run_oegw.sh delete mode 100644 microservices/tester/.dockerignore delete mode 100644 microservices/tester/Dockerfile delete mode 100755 microservices/tester/run_tester.sh diff --git a/microservices/docker-compose.yml b/microservices/docker-compose.yml index 182d7d4..003cd34 100644 --- a/microservices/docker-compose.yml +++ b/microservices/docker-compose.yml @@ -12,6 +12,18 @@ services: depends_on: - redis + oe_gateway: + image: cloud21.cvtt.vpn:5500/oe_gateway:latest + container_name: oe_gateway + environment: + CONFIG_SERVICE: ${CONFIG_SERVICE:-cloud16.cvtt.vpn:6789} + OEGW_ADD_ARGS: ${OEGW_ADD_ARGS:-} + volumes: + - ./config:/config + - ./logs:/logs + depends_on: + - redis + redis: image: redis:latest container_name: redis diff --git a/microservices/md_gateway/Dockerfile b/microservices/md_gateway/Dockerfile index f0d0692..33e3bc2 100644 --- a/microservices/md_gateway/Dockerfile +++ b/microservices/md_gateway/Dockerfile @@ -2,8 +2,8 @@ FROM python:3.12-slim COPY requirements.txt / -RUN pip install --upgrade pip --root-user-action=ignore \ - pip install -r /requirements.txt --root-user-action=ignore +RUN pip install --upgrade pip --root-user-action=ignore +RUN pip install -r /requirements.txt --root-user-action=ignore COPY cvttpy /cvttpy diff --git a/microservices/oe_gateway/Dockerfile b/microservices/oe_gateway/Dockerfile index 3a6649e..33e3bc2 100644 --- a/microservices/oe_gateway/Dockerfile +++ b/microservices/oe_gateway/Dockerfile @@ -1,25 +1,19 @@ FROM python:3.12-slim -ARG ROOT_MCRSVC_DIR=docker_dev/microservices -ARG FROM_DIR=${ROOT_MCRSVC_DIR}/oe_gateway +COPY requirements.txt / -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 +RUN mkdir -p /logs /config -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" ] +ENV PYTHONPATH=/ + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/microservices/oe_gateway/build.sh b/microservices/oe_gateway/build.sh new file mode 100755 index 0000000..e65da61 --- /dev/null +++ b/microservices/oe_gateway/build.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +function usage { + echo "Usage: ${0} " + exit +} + +CvttpyVersion=${1} + +if [ "${CvttpyVersion}" == "" ] +then + usage +fi + +# --- Settings +ImageName=oe_gateway +RegistryService=cloud21.cvtt.vpn:5500 +# --- Settings + + +DockerDir=$(realpath $(dirname ${0})) +Version=${CvttpyVersion} + +cd ${DockerDir} + +source ../mu_svc_functions.sh +get_project_version cvttpy ${Version} + +function cleanup { + cd ${DockerDir} + rm -rf cvttpy +} +trap cleanup EXIT + +build_docker_image ${ImageName} ${RegistryService} ${Version} + + +# echo "**** D E B U G E X I T" && exit +echo "***** ${0} D O N E" + + diff --git a/microservices/oe_gateway/entrypoint.sh b/microservices/oe_gateway/entrypoint.sh new file mode 100755 index 0000000..4f7409b --- /dev/null +++ b/microservices/oe_gateway/entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +ConfigDir=/config +Config="${ConfigDir}/cvtt_musvc.cfg" +Creds="${ConfigDir}/.creds" + +Cmd="python3.12" +Cmd+=" cvttpy/apps/microservices/market_gateways/order_entry_gateway.py" +Cmd+=" --config=${Config}" +Cmd+=" --credentials_file=${Creds}" +Cmd+=" --log_file=/logs/%T.oe_gateway.log" +Cmd+=" ${OEGW_ADD_ARGS}" +echo ${Cmd} +exec ${Cmd} + diff --git a/microservices/oe_gateway/requirements.txt b/microservices/oe_gateway/requirements.txt new file mode 100644 index 0000000..852e647 --- /dev/null +++ b/microservices/oe_gateway/requirements.txt @@ -0,0 +1,7 @@ +aiohttp>=3.7.4.post0 +nest-asyncio>=1.5.5 +hjson>=3.1.0 +sortedcontainers>=2.4.0 +redis>=5.0.8 +python-dateutil>=2.8.2 +types-python-dateutil>=2.8.19.6 diff --git a/microservices/oe_gateway/run_oegw.sh b/microservices/oe_gateway/run_oegw.sh deleted file mode 100755 index af7f658..0000000 --- a/microservices/oe_gateway/run_oegw.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/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} - - diff --git a/microservices/tester/.dockerignore b/microservices/tester/.dockerignore deleted file mode 100644 index a4f7c14..0000000 --- a/microservices/tester/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -**/__pycache__ -.pipenv \ No newline at end of file diff --git a/microservices/tester/Dockerfile b/microservices/tester/Dockerfile deleted file mode 100644 index 4f8e8ed..0000000 --- a/microservices/tester/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -FROM python:3.12-slim - -ARG ROOT_MUSVC_DIR=docker_dev/microservices -ARG FROM_DIR=${ROOT_MUSVC_DIR}/tester - -COPY ${ROOT_MUSVC_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_MUSVC_DIR}/.creds /.creds - - -COPY ${FROM_DIR}/run_tester.sh /run_tester.sh -RUN chmod +x /run_tester.sh - -RUN mkdir /logs -RUN mkdir -p /config -RUN mkdir -p /data - - -WORKDIR / -SHELL ["/bin/bash", "-c"] -ENV PYTHONPATH=/ -ENTRYPOINT [ "/run_tester.sh" ] - diff --git a/microservices/tester/run_tester.sh b/microservices/tester/run_tester.sh deleted file mode 100755 index 748ff4a..0000000 --- a/microservices/tester/run_tester.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash - -# runs in container - -# runs on host to start container -usage() { - echo -n "Usage: ${0}" - echo -n " [-c ]" - echo -n " [-i ]" - echo -n " [-d ]" - echo -n " [-a ]" - echo -n " [-z (compress log (false))"] - echo - exit 1 -} - -Config=/config/cvtt.cfg -AdminPort=7221 -COMPRESS_LOG=false -Instruments="COINBASE:PAIR-BTC-USD,BNBFUT:PERP-BTC-USDT" -DataTypes="TRADES" - -while getopts "a:c:d:i:z" opt; do - case ${opt} in - c ) Config=$OPTARG ;; - a ) AdminPort=$OPTARG ;; - i ) Instruments=$OPTARG ;; - d ) DataTypes=$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/tester/musvc_tester.py" -Cmd="${Cmd} --config=${Config}" -Cmd="${Cmd} --credentials_file=/.creds" -Cmd="${Cmd} --admin_port=${AdminPort}" -Cmd="${Cmd} --data_types=${DataTypes}" -Cmd="${Cmd} --instruments=${Instruments}" -Cmd="${Cmd} --log_file=/logs/%T.tester.log" -if ${COMPRESS_LOG} ; then - Cmd="${Cmd} --compress_log" -fi -echo ${Cmd} -eval ${Cmd} - -