pipline build v52. inline secrets

This commit is contained in:
Josh 2025-07-31 17:35:37 +00:00
parent b72e5f2ebe
commit 79b95cf87b

View File

@ -32,29 +32,50 @@ steps:
-i ~/.ssh/id_ed25519 \ -i ~/.ssh/id_ed25519 \
jcoakley@10.128.0.12 \ jcoakley@10.128.0.12 \
'set -euo pipefail; \ 'set -euo pipefail; \
ENV=dev; \
PROJECT=aptivaai-dev; \ PROJECT=aptivaai-dev; \
ENV=dev; \
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; \
echo "📦 IMG_TAG=$IMG_TAG"; \ JWT_SECRET=$(gcloud secrets versions access latest --secret=JWT_SECRET_dev --project=$PROJECT); \
export JWT_SECRET; \
# ── Pull all secrets ──────────────────────────────────────── OPENAI_API_KEY=$(gcloud secrets versions access latest --secret=OPENAI_API_KEY_dev --project=$PROJECT); \
for S in JWT_SECRET OPENAI_API_KEY ONET_USERNAME ONET_PASSWORD \ export OPENAI_API_KEY; \
STRIPE_SECRET_KEY STRIPE_PUBLISHABLE_KEY STRIPE_WH_SECRET \ ONET_USERNAME=$(gcloud secrets versions access latest --secret=ONET_USERNAME_dev --project=$PROJECT); \
STRIPE_PRICE_PREMIUM_MONTH STRIPE_PRICE_PREMIUM_YEAR \ export ONET_USERNAME; \
STRIPE_PRICE_PRO_MONTH STRIPE_PRICE_PRO_YEAR \ ONET_PASSWORD=$(gcloud secrets versions access latest --secret=ONET_PASSWORD_dev --project=$PROJECT); \
DB_HOST DB_PORT DB_USER DB_PASSWORD \ export ONET_PASSWORD; \
TWILIO_ACCOUNT_SID TWILIO_AUTH_TOKEN TWILIO_MESSAGING_SERVICE_SID; do \ STRIPE_SECRET_KEY=$(gcloud secrets versions access latest --secret=STRIPE_SECRET_KEY_dev --project=$PROJECT); \
export "$S"="$(gcloud secrets versions access latest --secret=${S}_${ENV} --project=$PROJECT)"; \ export STRIPE_SECRET_KEY; \
echo "🔐 $S length = $(echo -n "${!S}" | wc -c)"; \ STRIPE_PUBLISHABLE_KEY=$(gcloud secrets versions access latest --secret=STRIPE_PUBLISHABLE_KEY_dev --project=$PROJECT); \
done; \ export STRIPE_PUBLISHABLE_KEY; \
STRIPE_WH_SECRET=$(gcloud secrets versions access latest --secret=STRIPE_WH_SECRET_dev --project=$PROJECT); \
export STRIPE_WH_SECRET; \
STRIPE_PRICE_PREMIUM_MONTH=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PREMIUM_MONTH_dev --project=$PROJECT); \
export STRIPE_PRICE_PREMIUM_MONTH; \
STRIPE_PRICE_PREMIUM_YEAR=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PREMIUM_YEAR_dev --project=$PROJECT); \
export STRIPE_PRICE_PREMIUM_YEAR; \
STRIPE_PRICE_PRO_MONTH=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PRO_MONTH_dev --project=$PROJECT); \
export STRIPE_PRICE_PRO_MONTH; \
STRIPE_PRICE_PRO_YEAR=$(gcloud secrets versions access latest --secret=STRIPE_PRICE_PRO_YEAR_dev --project=$PROJECT); \
export STRIPE_PRICE_PRO_YEAR; \
DB_HOST=$(gcloud secrets versions access latest --secret=DB_HOST_dev --project=$PROJECT); \
export DB_HOST; \
DB_PORT=$(gcloud secrets versions access latest --secret=DB_PORT_dev --project=$PROJECT); \
export DB_PORT; \
DB_USER=$(gcloud secrets versions access latest --secret=DB_USER_dev --project=$PROJECT); \
export DB_USER; \
DB_PASSWORD=$(gcloud secrets versions access latest --secret=DB_PASSWORD_dev --project=$PROJECT); \
export DB_PASSWORD; \
TWILIO_ACCOUNT_SID=$(gcloud secrets versions access latest --secret=TWILIO_ACCOUNT_SID_dev --project=$PROJECT); \
export TWILIO_ACCOUNT_SID; \
TWILIO_AUTH_TOKEN=$(gcloud secrets versions access latest --secret=TWILIO_AUTH_TOKEN_dev --project=$PROJECT); \
export TWILIO_AUTH_TOKEN; \
TWILIO_MESSAGING_SERVICE_SID=$(gcloud secrets versions access latest --secret=TWILIO_MESSAGING_SERVICE_SID_dev --project=$PROJECT); \
export TWILIO_MESSAGING_SERVICE_SID; \
export FROM_SECRETS_MANAGER=true; \ export FROM_SECRETS_MANAGER=true; \
cd /home/jcoakley/aptiva-staging-app; \ cd /home/jcoakley/aptiva-staging-app; \
echo "→ Pulling containers"; \
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_HOST,DB_PORT,DB_USER,DB_PASSWORD,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_HOST,DB_PORT,DB_USER,DB_PASSWORD,TWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKEN,TWILIO_MESSAGING_SERVICE_SID \
docker compose pull; \ docker compose pull; \
echo "→ Recreating services"; \
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_HOST,DB_PORT,DB_USER,DB_PASSWORD,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_HOST,DB_PORT,DB_USER,DB_PASSWORD,TWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKEN,TWILIO_MESSAGING_SERVICE_SID \
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"'