From 71ac3e20fbd8fb216ccea5ec571b0f2d8123aa33 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 18 Oct 2023 22:59:34 +0000 Subject: [PATCH] Updating deployment to use Secrets --- alerting/docker-compose.yml | 4 ++-- api/README.md | 8 ++++---- api/docker-compose.deploy.yml | 2 +- api/set_envs.sh | 10 +++++++++- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/alerting/docker-compose.yml b/alerting/docker-compose.yml index 78beb6179..9f392179d 100644 --- a/alerting/docker-compose.yml +++ b/alerting/docker-compose.yml @@ -26,5 +26,5 @@ services: - POSTGRES_DB=postgres - POSTGRES_PASSWORD=!ChangeMe! - DATABASE_URL - - EMAIL_PASSWORD - - EMAIL_USER + - EMAIL_PASSWORD=${ALERTING_EMAIL_PASSWORD} # Set from secrets in api/set_envs.sh + - EMAIL_USER=${ALERTING_EMAIL_USER} diff --git a/api/README.md b/api/README.md index bbdce7ea9..79ad4e3f2 100644 --- a/api/README.md +++ b/api/README.md @@ -106,13 +106,13 @@ Generate a geotiff for any wfp raster using the stac API and saves it in S3. It To run the api locally, run: ``` -make api +source set_envs.sh && make api ``` To run flask api together with database within same network, run: ``` -docker-compose -f ./docker-compose.develop.yml -f ../alerting/docker-compose.yml up +source set_envs.sh && docker-compose -f ./docker-compose.develop.yml -f ../alerting/docker-compose.yml up ``` ### Tests @@ -120,7 +120,7 @@ docker-compose -f ./docker-compose.develop.yml -f ../alerting/docker-compose.yml To run linting and tests, run: ``` -make test +source set_envs.sh && make test ``` ## Deployments @@ -132,7 +132,7 @@ Specifically, update `info@ovio.org` with a domain admin email and `prism-api.ov To deploy, run: ``` -make deploy +source set_envs.sh && make deploy ``` There are a few known issues happening from time to time diff --git a/api/docker-compose.deploy.yml b/api/docker-compose.deploy.yml index a9ed050f2..2e0e6559f 100644 --- a/api/docker-compose.deploy.yml +++ b/api/docker-compose.deploy.yml @@ -40,7 +40,7 @@ services: - "80:80" labels: - "traefik.enable=true" - - "traefik.http.routers.whoami.rule=Host(`prism-api.ovio.org`)" + - "traefik.http.routers.whoami.rule=Host(${HOSTNAME:?'Must provide hostname'})" - "traefik.http.routers.whoami.entrypoints=websecure" - "traefik.http.routers.whoami.tls.certresolver=myresolver" environment: diff --git a/api/set_envs.sh b/api/set_envs.sh index e99c0b6be..1fb3c923c 100644 --- a/api/set_envs.sh +++ b/api/set_envs.sh @@ -10,4 +10,12 @@ export KOBO_PASSWORD=$(aws secretsmanager get-secret-value --secret-id KOBO_ export PRISM_ALERTS_DATABASE_URL=$(aws secretsmanager get-secret-value --secret-id PRISM_ALERTS_DATABASE_URL | jq .SecretString | jq fromjson | jq .PRISM_ALERTS_DATABASE_URL) # HDC Token -export HDC_TOKEN=$(aws secretsmanager get-secret-value --secret-id HDC_TOKEN | jq .SecretString | jq fromjson | jq .HDC_TOKEN) \ No newline at end of file +export HDC_TOKEN=$(aws secretsmanager get-secret-value --secret-id HDC_TOKEN | jq .SecretString | jq fromjson | jq .HDC_TOKEN) + +# Alerting Email +export ALERTING_EMAIL_USER=$(aws secretsmanager get-secret-value --secret-id ALERTING_EMAIL | jq .SecretString | jq fromjson | jq .ALERTING_EMAIL_USER) +export ALERTING_EMAIL_PASSWORD=$(aws secretsmanager get-secret-value --secret-id ALERTING_EMAIL | jq .SecretString | jq fromjson | jq .ALERTING_EMAIL_PASSWORD) + +# Commenting out for now while I get Eric's advice on deploying +# HOSTNAME_SUFFIX=${1:?"Must set deployment env as first arg"} +# export HOSTNAME=prism-api${HOSTNAME_SUFFIX}.ovio.org \ No newline at end of file