11#! /usr/bin/env bash
22
3- # Deployment script - intended to run on Brood servers
3+ # Deployment script - intended to run on Brood API server
4+
5+ # Colors
6+ C_RESET=' \033[0m'
7+ C_RED=' \033[1;31m'
8+ C_GREEN=' \033[1;32m'
9+ C_YELLOW=' \033[1;33m'
10+
11+ # Logs
12+ PREFIX_INFO=" ${C_GREEN} [INFO]${C_RESET} [$( date +%d-%m\ %T) ]"
13+ PREFIX_WARN=" ${C_YELLOW} [WARN]${C_RESET} [$( date +%d-%m\ %T) ]"
14+ PREFIX_CRIT=" ${C_RED} [CRIT]${C_RESET} [$( date +%d-%m\ %T) ]"
415
516# Main
617APP_DIR=" ${APP_DIR:-/ home/ ubuntu/ brood} "
@@ -13,24 +24,31 @@ PARAMETERS_SCRIPT="${SCRIPT_DIR}/parameters.py"
1324SECRETS_DIR=" ${SECRETS_DIR:-/ home/ ubuntu/ brood-secrets} "
1425PARAMETERS_ENV_PATH=" ${SECRETS_DIR} /app.env"
1526AWS_SSM_PARAMETER_PATH=" ${AWS_SSM_PARAMETER_PATH:-/ brood/ prod} "
27+
28+ # API server service file
1629SERVICE_FILE=" ${SCRIPT_DIR} /brood.monolith.service"
1730
1831set -eu
1932
2033echo
2134echo
22- echo " Updating Python dependencies"
23- " ${PIP} " install -r " ${APP_DIR} /requirements.txt"
35+ echo -e " ${PREFIX_INFO} Upgrading Python pip and setuptools"
36+ " ${PIP} " install --upgrade pip setuptools
37+
38+ echo
39+ echo
40+ echo -e " ${PREFIX_INFO} Installing Python dependencies"
41+ " ${PIP} " install -e " ${APP_BACKEND_DIR} /"
2442
2543echo
2644echo
27- echo " Retrieving deployment parameters"
45+ echo -e " ${PREFIX_INFO} Retrieving deployment parameters"
2846mkdir -p " ${SECRETS_DIR} "
2947AWS_DEFAULT_REGION=" ${AWS_DEFAULT_REGION} " " ${PYTHON} " " ${PARAMETERS_SCRIPT} " " ${AWS_SSM_PARAMETER_PATH} " -o " ${PARAMETERS_ENV_PATH} "
3048
3149echo
3250echo
33- echo " Replacing existing Brood service definition with ${SERVICE_FILE} "
51+ echo -e " ${PREFIX_INFO} Replacing existing Brood service definition with ${SERVICE_FILE} "
3452chmod 644 " ${SERVICE_FILE} "
3553cp " ${SERVICE_FILE} " /etc/systemd/system/brood.service
3654systemctl daemon-reload
0 commit comments