updated pipeline for ENV variables vs. hardcoded

This commit is contained in:
Josh 2025-08-07 00:39:12 +00:00
parent 80d6133450
commit c6e6713cc8

View File

@ -4,7 +4,7 @@ type: docker
name: ssh-test name: ssh-test
steps: steps:
- name: ssh-test - name: staging-deploy
image: google/cloud-sdk:latest image: google/cloud-sdk:latest
entrypoint: entrypoint:
- bash - bash
@ -33,63 +33,63 @@ steps:
jcoakley@10.128.0.12 \ jcoakley@10.128.0.12 \
'set -euo pipefail; \ 'set -euo pipefail; \
PROJECT=aptivaai-dev; \ PROJECT=aptivaai-dev; \
ENV=dev; \ ENV=staging; \
IMG_TAG=$(gcloud secrets versions access latest --secret=IMG_TAG --project=$PROJECT); \ IMG_TAG=$(gcloud secrets versions access latest --secret=IMG_TAG --project=$PROJECT); \
export IMG_TAG; \ export IMG_TAG; \
JWT_SECRET=$(gcloud secrets versions access latest --secret=JWT_SECRET_dev --project=$PROJECT); \ JWT_SECRET=$(gcloud secrets versions access latest --secret=JWT_SECRET_${ENV} --project=$PROJECT); \
export JWT_SECRET; \ export JWT_SECRET; \
OPENAI_API_KEY=$(gcloud secrets versions access latest --secret=OPENAI_API_KEY_dev --project=$PROJECT); \ OPENAI_API_KEY=$(gcloud secrets versions access latest --secret=OPENAI_API_KEY_${ENV} --project=$PROJECT); \
export OPENAI_API_KEY; \ export OPENAI_API_KEY; \
ONET_USERNAME=$(gcloud secrets versions access latest --secret=ONET_USERNAME_dev --project=$PROJECT); \ ONET_USERNAME=$(gcloud secrets versions access latest --secret=ONET_USERNAME_${ENV} --project=$PROJECT); \
export ONET_USERNAME; \ export ONET_USERNAME; \
ONET_PASSWORD=$(gcloud secrets versions access latest --secret=ONET_PASSWORD_dev --project=$PROJECT); \ ONET_PASSWORD=$(gcloud secrets versions access latest --secret=ONET_PASSWORD_${ENV} --project=$PROJECT); \
export ONET_PASSWORD; \ export ONET_PASSWORD; \
STRIPE_SECRET_KEY=$(gcloud secrets versions access latest --secret=STRIPE_SECRET_KEY_dev --project=$PROJECT); \ STRIPE_SECRET_KEY=$(gcloud secrets versions access latest --secret=STRIPE_SECRET_KEY_${ENV} --project=$PROJECT); \
export STRIPE_SECRET_KEY; \ export STRIPE_SECRET_KEY; \
STRIPE_PUBLISHABLE_KEY=$(gcloud secrets versions access latest --secret=STRIPE_PUBLISHABLE_KEY_dev --project=$PROJECT); \ STRIPE_PUBLISHABLE_KEY=$(gcloud secrets versions access latest --secret=STRIPE_PUBLISHABLE_KEY_${ENV} --project=$PROJECT); \
export STRIPE_PUBLISHABLE_KEY; \ export STRIPE_PUBLISHABLE_KEY; \
STRIPE_WH_SECRET=$(gcloud secrets versions access latest --secret=STRIPE_WH_SECRET_dev --project=$PROJECT); \ STRIPE_WH_SECRET=$(gcloud secrets versions access latest --secret=STRIPE_WH_SECRET_${ENV} --project=$PROJECT); \
export STRIPE_WH_SECRET; \ export STRIPE_WH_SECRET; \
STRIPE_PRICE_PREMIUM_MONTH=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PREMIUM_MONTH_dev --project=$PROJECT); \ STRIPE_PRICE_PREMIUM_MONTH=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PREMIUM_MONTH_${ENV} --project=$PROJECT); \
export STRIPE_PRICE_PREMIUM_MONTH; \ export STRIPE_PRICE_PREMIUM_MONTH; \
STRIPE_PRICE_PREMIUM_YEAR=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PREMIUM_YEAR_dev --project=$PROJECT); \ STRIPE_PRICE_PREMIUM_YEAR=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PREMIUM_YEAR_${ENV} --project=$PROJECT); \
export STRIPE_PRICE_PREMIUM_YEAR; \ export STRIPE_PRICE_PREMIUM_YEAR; \
STRIPE_PRICE_PRO_MONTH=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PRO_MONTH_dev --project=$PROJECT); \ STRIPE_PRICE_PRO_MONTH=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PRO_MONTH_${ENV} --project=$PROJECT); \
export STRIPE_PRICE_PRO_MONTH; \ export STRIPE_PRICE_PRO_MONTH; \
STRIPE_PRICE_PRO_YEAR=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PRO_YEAR_dev --project=$PROJECT); \ STRIPE_PRICE_PRO_YEAR=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PRO_YEAR_${ENV} --project=$PROJECT); \
export STRIPE_PRICE_PRO_YEAR; \ export STRIPE_PRICE_PRO_YEAR; \
DB_NAME=$(gcloud secrets versions access latest --secret=DB_NAME_dev --project=$PROJECT); \ DB_NAME=$(gcloud secrets versions access latest --secret=DB_NAME_${ENV} --project=$PROJECT); \
export DB_NAME; export DB_NAME;
DB_HOST=$(gcloud secrets versions access latest --secret=DB_HOST_dev --project=$PROJECT); \ DB_HOST=$(gcloud secrets versions access latest --secret=DB_HOST_${ENV} --project=$PROJECT); \
export DB_HOST; \ export DB_HOST; \
DB_PORT=$(gcloud secrets versions access latest --secret=DB_PORT_dev --project=$PROJECT); \ DB_PORT=$(gcloud secrets versions access latest --secret=DB_PORT_${ENV} --project=$PROJECT); \
export DB_PORT; \ export DB_PORT; \
DB_USER=$(gcloud secrets versions access latest --secret=DB_USER_dev --project=$PROJECT); \ DB_USER=$(gcloud secrets versions access latest --secret=DB_USER_${ENV} --project=$PROJECT); \
export DB_USER; \ export DB_USER; \
DB_PASSWORD=$(gcloud secrets versions access latest --secret=DB_PASSWORD_dev --project=$PROJECT); \ DB_PASSWORD=$(gcloud secrets versions access latest --secret=DB_PASSWORD_${ENV} --project=$PROJECT); \
export DB_PASSWORD; \ export DB_PASSWORD; \
DB_SSL_CA=$(gcloud secrets versions access latest --secret=DB_SSL_CA_dev --project=$PROJECT); \ DB_SSL_CA=$(gcloud secrets versions access latest --secret=DB_SSL_CA_${ENV} --project=$PROJECT); \
export DB_SSL_CA; \ export DB_SSL_CA; \
DB_SSL_CERT=$(gcloud secrets versions access latest --secret=DB_SSL_CERT_dev --project=$PROJECT); \ DB_SSL_CERT=$(gcloud secrets versions access latest --secret=DB_SSL_CERT_${ENV} --project=$PROJECT); \
export DB_SSL_CERT; \ export DB_SSL_CERT; \
DB_SSL_KEY=$(gcloud secrets versions access latest --secret=DB_SSL_KEY_dev --project=$PROJECT); \ DB_SSL_KEY=$(gcloud secrets versions access latest --secret=DB_SSL_KEY_${ENV} --project=$PROJECT); \
export DB_SSL_KEY; \ export DB_SSL_KEY; \
TWILIO_ACCOUNT_SID=$(gcloud secrets versions access latest --secret=TWILIO_ACCOUNT_SID_dev --project=$PROJECT); \ TWILIO_ACCOUNT_SID=$(gcloud secrets versions access latest --secret=TWILIO_ACCOUNT_SID_${ENV} --project=$PROJECT); \
export TWILIO_ACCOUNT_SID; \ export TWILIO_ACCOUNT_SID; \
TWILIO_AUTH_TOKEN=$(gcloud secrets versions access latest --secret=TWILIO_AUTH_TOKEN_dev --project=$PROJECT); \ TWILIO_AUTH_TOKEN=$(gcloud secrets versions access latest --secret=TWILIO_AUTH_TOKEN_${ENV} --project=$PROJECT); \
export TWILIO_AUTH_TOKEN; \ export TWILIO_AUTH_TOKEN; \
TWILIO_MESSAGING_SERVICE_SID=$(gcloud secrets versions access latest --secret=TWILIO_MESSAGING_SERVICE_SID_dev --project=$PROJECT); \ TWILIO_MESSAGING_SERVICE_SID=$(gcloud secrets versions access latest --secret=TWILIO_MESSAGING_SERVICE_SID_${ENV} --project=$PROJECT); \
export TWILIO_MESSAGING_SERVICE_SID; \ export TWILIO_MESSAGING_SERVICE_SID; \
KMS_KEY_NAME=$(gcloud secrets versions access latest --secret=KMS_KEY_NAME_dev --project=$PROJECT); \ KMS_KEY_NAME=$(gcloud secrets versions access latest --secret=KMS_KEY_NAME_${ENV} --project=$PROJECT); \
export KMS_KEY_NAME; \ export KMS_KEY_NAME; \
DEK_PATH=$(gcloud secrets versions access latest --secret=DEK_PATH_dev --project=$PROJECT); \ DEK_PATH=$(gcloud secrets versions access latest --secret=DEK_PATH_${ENV} --project=$PROJECT); \
export DEK_PATH; \ export DEK_PATH; \
export FROM_SECRETS_MANAGER=true; \ export FROM_SECRETS_MANAGER=true; \
cd /home/jcoakley/aptiva-staging-app; \ cd /home/jcoakley/aptiva-staging-app; \
sudo --preserve-env=IMG_TAG,FROM_SECRETS_MANAGER,JWT_SECRET,OPENAI_API_KEY,ONET_USERNAME,ONET_PASSWORD,STRIPE_SECRET_KEY,STRIPE_PUBLISHABLE_KEY,STRIPE_WH_SECRET,STRIPE_PRICE_PREMIUM_MONTH,STRIPE_PRICE_PREMIUM_YEAR,STRIPE_PRICE_PRO_MONTH,STRIPE_PRICE_PRO_YEAR,DB_NAME,DB_HOST,DB_PORT,DB_USER,DB_PASSWORD,DB_SSL_CA,DB_SSL_CERT,DB_SSL_KEY,TWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKEN,TWILIO_MESSAGING_SERVICE_SID \ sudo --preserve-env=IMG_TAG,FROM_SECRETS_MANAGER,JWT_SECRET,OPENAI_API_KEY,ONET_USERNAME,ONET_PASSWORD,STRIPE_SECRET_KEY,STRIPE_PUBLISHABLE_KEY,STRIPE_WH_SECRET,STRIPE_PRICE_PREMIUM_MONTH,STRIPE_PRICE_PREMIUM_YEAR,STRIPE_PRICE_PRO_MONTH,STRIPE_PRICE_PRO_YEAR,DB_NAME,DB_HOST,DB_PORT,DB_USER,DB_PASSWORD,DB_SSL_CA,DB_SSL_CERT,DB_SSL_KEY,TWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKEN,TWILIO_MESSAGING_SERVICE_SID, KMS_KEY_NAME, DEK_PATH \
docker compose pull; \ docker compose pull; \
sudo --preserve-env=IMG_TAG,FROM_SECRETS_MANAGER,JWT_SECRET,OPENAI_API_KEY,ONET_USERNAME,ONET_PASSWORD,STRIPE_SECRET_KEY,STRIPE_PUBLISHABLE_KEY,STRIPE_WH_SECRET,STRIPE_PRICE_PREMIUM_MONTH,STRIPE_PRICE_PREMIUM_YEAR,STRIPE_PRICE_PRO_MONTH,STRIPE_PRICE_PRO_YEAR,DB_NAME,DB_HOST,DB_PORT,DB_USER,DB_PASSWORD,DB_SSL_CA,DB_SSL_CERT,DB_SSL_KEY,TWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKEN,TWILIO_MESSAGING_SERVICE_SID \ sudo --preserve-env=IMG_TAG,FROM_SECRETS_MANAGER,JWT_SECRET,OPENAI_API_KEY,ONET_USERNAME,ONET_PASSWORD,STRIPE_SECRET_KEY,STRIPE_PUBLISHABLE_KEY,STRIPE_WH_SECRET,STRIPE_PRICE_PREMIUM_MONTH,STRIPE_PRICE_PREMIUM_YEAR,STRIPE_PRICE_PRO_MONTH,STRIPE_PRICE_PRO_YEAR,DB_NAME,DB_HOST,DB_PORT,DB_USER,DB_PASSWORD,DB_SSL_CA,DB_SSL_CERT,DB_SSL_KEY,TWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKEN,TWILIO_MESSAGING_SERVICE_SID, KMS_KEY_NAME, DEK_PATH \
docker compose up -d --force-recreate --remove-orphans; \ docker compose up -d --force-recreate --remove-orphans; \
echo "✅ Staging stack refreshed with tag $IMG_TAG"' echo "✅ Staging stack refreshed with tag $IMG_TAG"'