From 25a262b01ff13b0f63c0b4bed5d620990d904c3c Mon Sep 17 00:00:00 2001 From: Oleg Sheynin Date: Thu, 3 Apr 2025 22:56:06 -0400 Subject: [PATCH] DEV-98 improved build.sh for microservices --- VERSION | 2 +- microservices/.env | 18 ++++++ microservices/ac_gateway/build.sh | 41 ------------ microservices/ac_gateway/entrypoint.sh | 9 ++- microservices/ac_gateway/requirements.txt | 3 +- microservices/build.sh | 79 +++++++++++++++++++++++ microservices/docker-compose.yml | 12 ++++ microservices/md_gateway/build.sh | 41 ------------ microservices/md_gateway/entrypoint.sh | 9 ++- microservices/md_gateway/requirements.txt | 2 +- microservices/oe_gateway/build.sh | 41 ------------ microservices/oe_gateway/entrypoint.sh | 9 ++- microservices/oe_gateway/requirements.txt | 2 +- 13 files changed, 125 insertions(+), 143 deletions(-) create mode 100644 microservices/.env delete mode 100755 microservices/ac_gateway/build.sh create mode 100755 microservices/build.sh delete mode 100755 microservices/md_gateway/build.sh delete mode 100755 microservices/oe_gateway/build.sh diff --git a/VERSION b/VERSION index 8e6b67e..80db2c2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.2.5,microservices initial \ No newline at end of file +0.2.6,improved build.sh for microservices \ No newline at end of file diff --git a/microservices/.env b/microservices/.env new file mode 100644 index 0000000..d85fac7 --- /dev/null +++ b/microservices/.env @@ -0,0 +1,18 @@ +CVTT_USER=1000:1000 +CVTT_VERSION=0.0.1 + +# MDGW_CONFIG_FILE=config_musvc.cfg +# MDGW_CREDS_FILE=.creds +MDGW_LOG_FILE=%D.md_gateway.log +MDGW_ADD_ARGS= + +# OEGW_CONFIG_FILE=config_musvc.cfg +# OEGW_CREDS_FILE=.creds +OEGW_LOG_FILE=%D.oe_gateway.log +#OEGW_ADD_ARGS="--log_level=DEBUG --debug_mode" +OEGW_ADD_ARGS="--debug_mode" + +# ACGW_CONFIG_FILE=config_musvc.cfg +# ACGW_CREDS_FILE=.creds +ACGW_LOG_FILE=%D.ac_gateway.log +ACGW_ADD_ARGS= diff --git a/microservices/ac_gateway/build.sh b/microservices/ac_gateway/build.sh deleted file mode 100755 index 17e519b..0000000 --- a/microservices/ac_gateway/build.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -function usage { - echo "Usage: ${0} " - exit -} - -CvttpyVersion=${1} - -if [ "${CvttpyVersion}" == "" ] -then - usage -fi - -# --- Settings -ImageName=ac_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/ac_gateway/entrypoint.sh b/microservices/ac_gateway/entrypoint.sh index fc42a99..5c6e64c 100755 --- a/microservices/ac_gateway/entrypoint.sh +++ b/microservices/ac_gateway/entrypoint.sh @@ -1,14 +1,13 @@ #!/bin/bash ConfigDir=/config -Config="${ConfigDir}/cvtt_musvc.cfg" -Creds="${ConfigDir}/.creds" +LogDir=/logs Cmd="python3.12" Cmd+=" cvttpy/apps/microservices/market_gateways/accounting_gateway.py" -Cmd+=" --config=${Config}" -Cmd+=" --credentials_file=${Creds}" -Cmd+=" --log_file=/logs/%T.ac_gateway.log" +Cmd+=" --config=${ConfigDir}/${ACGW_CONFIG_FILE:-cvtt_musvc.cfg}" +Cmd+=" --credentials_file=${ConfigDir}/${ACGW_CREDS_FILE:-.creds}" +Cmd+=" --log_file=${LogDir}/${ACGW_LOG_FILE:-%T.ac_gateway.log}" Cmd+=" ${ACGW_ADD_ARGS}" echo ${Cmd} exec ${Cmd} diff --git a/microservices/ac_gateway/requirements.txt b/microservices/ac_gateway/requirements.txt index 433ffc3..e840a84 100644 --- a/microservices/ac_gateway/requirements.txt +++ b/microservices/ac_gateway/requirements.txt @@ -6,5 +6,4 @@ redis>=5.0.8 python-dateutil>=2.8.2 types-python-dateutil>=2.8.19.6 cryptography>=43.0.0 -jwt>=1.3.1 - +PyJWT>=2.10.1 diff --git a/microservices/build.sh b/microservices/build.sh new file mode 100755 index 0000000..15de65c --- /dev/null +++ b/microservices/build.sh @@ -0,0 +1,79 @@ +#!/bin/bash + + +usage() { + echo "Usage: $0 -I -V -L :" + exit 1 +} + +# --- Settings +RegistryService=cloud21.cvtt.vpn:5500 +# --- Settings + + +# ---------------- cmdline +while getopts "I:V:L:" opt; do + case ${opt} in + I ) + ImageName=$OPTARG + ;; + V ) + ImageVersion=$OPTARG + ;; + L ) + Library=$OPTARG + ;; + \? ) + echo "Invalid option: -$OPTARG" >&2 + usage + ;; + : ) + echo "Option -$OPTARG requires an argument." >&2 + usage + ;; + esac +done +# ---------------- cmdline + +if [ "${ImageName}" == "" ] +then + usage +fi + +if [ "${ImageVersion}" == "" ] +then + usage +fi + +Project= +ProjectVersion= +if [ "${Library}" != "" ] ; then + IFS=':' read -ra parts <<< "${Library}" + Project=${parts[0]} + ProjectVersion=${parts[1]} +fi +# exit + +DockerDir=$(realpath $(dirname ${0})/${ImageName}) + +cd ${DockerDir} + +source ../mu_svc_functions.sh +if [ "${Project}" != "" ]; then + get_project_version ${Project} ${ProjectVersion} +fi + + +function cleanup { + cd ${DockerDir} + rm -rf cvttpy +} +trap cleanup EXIT + +build_docker_image ${ImageName} ${RegistryService} ${ImageVersion} + + +# echo "**** D E B U G E X I T" && exit +echo "***** ${0} D O N E" + + diff --git a/microservices/docker-compose.yml b/microservices/docker-compose.yml index 37c0635..2b11228 100644 --- a/microservices/docker-compose.yml +++ b/microservices/docker-compose.yml @@ -3,8 +3,12 @@ services: md_gateway: image: cloud21.cvtt.vpn:5500/md_gateway:${CVTT_VERSION} container_name: md_gateway + user: ${CVTT_USER:-1001:1001} environment: CONFIG_SERVICE: ${CONFIG_SERVICE:-cloud16.cvtt.vpn:6789} + MDGW_CONFIG_FILE: ${MDGW_CONFIG_FILE:-cvtt_musvc.cfg} + MDGW_CREDS_FILE: ${MDGW_CONFIG_FILE:-.creds} + MDGW_LOG_FILE: ${MDGW_LOG_FILE:-%T.md_gateway.log} MDGW_ADD_ARGS: ${MDGW_ADD_ARGS:-} volumes: - ./config:/config @@ -15,8 +19,12 @@ services: oe_gateway: image: cloud21.cvtt.vpn:5500/oe_gateway:${CVTT_VERSION} container_name: oe_gateway + user: ${CVTT_USER:-1001:1001} environment: CONFIG_SERVICE: ${CONFIG_SERVICE:-cloud16.cvtt.vpn:6789} + OEGW_CONFIG_FILE: ${OEGW_CONFIG_FILE:-cvtt_musvc.cfg} + OEGW_CREDS_FILE: ${OEGW_CONFIG_FILE:-.creds} + OEGW_LOG_FILE: ${OEGW_LOG_FILE:-%T.oe_gateway.log} OEGW_ADD_ARGS: ${OEGW_ADD_ARGS:-} volumes: - ./config:/config @@ -27,8 +35,12 @@ services: ac_gateway: image: cloud21.cvtt.vpn:5500/ac_gateway:${CVTT_VERSION} container_name: ac_gateway + user: ${CVTT_USER:-1001:1001} environment: CONFIG_SERVICE: ${CONFIG_SERVICE:-cloud16.cvtt.vpn:6789} + ACGW_CONFIG_FILE: ${ACGW_CONFIG_FILE:-cvtt_musvc.cfg} + ACGW_CREDS_FILE: ${ACGW_CONFIG_FILE:-.creds} + ACGW_LOG_FILE: ${ACGW_LOG_FILE:-%T.ac_gateway.log} ACGW_ADD_ARGS: ${ACGW_ADD_ARGS:-} volumes: - ./config:/config diff --git a/microservices/md_gateway/build.sh b/microservices/md_gateway/build.sh deleted file mode 100755 index 6c4ca24..0000000 --- a/microservices/md_gateway/build.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -function usage { - echo "Usage: ${0} " - exit -} - -CvttpyVersion=${1} - -if [ "${CvttpyVersion}" == "" ] -then - usage -fi - -# --- Settings -ImageName=md_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/md_gateway/entrypoint.sh b/microservices/md_gateway/entrypoint.sh index ade2a96..69ed4ec 100755 --- a/microservices/md_gateway/entrypoint.sh +++ b/microservices/md_gateway/entrypoint.sh @@ -1,14 +1,13 @@ #!/bin/bash ConfigDir=/config -Config="${ConfigDir}/cvtt_musvc.cfg" -Creds="${ConfigDir}/.creds" +LogDir=/logs Cmd="python3.12" Cmd+=" cvttpy/apps/microservices/market_gateways/md_gateway.py" -Cmd+=" --config=${Config}" -Cmd+=" --credentials_file=${Creds}" -Cmd+=" --log_file=/logs/%T.md_gateway.log" +Cmd+=" --config=${ConfigDir}/${MDGW_CONFIG_FILE:-cvtt_musvc.cfg}" +Cmd+=" --credentials_file=${ConfigDir}/${MDGW_CREDS_FILE:-.creds}" +Cmd+=" --log_file=${LogDir}/${MDGW_LOG_FILE:-%T.md_gateway.log}" Cmd+=" ${MDGW_ADD_ARGS}" echo ${Cmd} exec ${Cmd} diff --git a/microservices/md_gateway/requirements.txt b/microservices/md_gateway/requirements.txt index d837c8c..e840a84 100644 --- a/microservices/md_gateway/requirements.txt +++ b/microservices/md_gateway/requirements.txt @@ -6,4 +6,4 @@ redis>=5.0.8 python-dateutil>=2.8.2 types-python-dateutil>=2.8.19.6 cryptography>=43.0.0 -jwt>=1.3.1 +PyJWT>=2.10.1 diff --git a/microservices/oe_gateway/build.sh b/microservices/oe_gateway/build.sh deleted file mode 100755 index e65da61..0000000 --- a/microservices/oe_gateway/build.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/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 index 4f7409b..af08fa4 100755 --- a/microservices/oe_gateway/entrypoint.sh +++ b/microservices/oe_gateway/entrypoint.sh @@ -1,14 +1,13 @@ #!/bin/bash ConfigDir=/config -Config="${ConfigDir}/cvtt_musvc.cfg" -Creds="${ConfigDir}/.creds" +LogDir=/logs 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+=" --config=${ConfigDir}/${OEGW_CONFIG_FILE:-cvtt_musvc.cfg}" +Cmd+=" --credentials_file=${ConfigDir}/${OEGW_CREDS_FILE:-.creds}" +Cmd+=" --log_file=${LogDir}/${OEGW_LOG_FILE:-%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 index 3b39e97..d23f46d 100644 --- a/microservices/oe_gateway/requirements.txt +++ b/microservices/oe_gateway/requirements.txt @@ -6,6 +6,6 @@ redis>=5.0.8 python-dateutil>=2.8.2 types-python-dateutil>=2.8.19.6 cryptography>=43.0.0 -jwt>=1.3.1 +PyJWT>=2.10.1