← back to Dw Signup Fulfillment

verification/tk11114/tk11114-durable-fix.sh

29 lines

#!/usr/bin/env bash
set -e
cd /root/Projects/dw-signup-fulfillment
ts=$(date +%s)
cp ecosystem.config.js ecosystem.config.js.bak.$ts
cp .env .env.bak.$ts
echo "backups: .bak.$ts"
sed -i "s/DRY_RUN: '1'/DRY_RUN: '0'/" ecosystem.config.js
WT=$(grep -E "^WEBHOOK_URL_TOKEN=" /root/Projects/secrets-manager/.env | head -1 | cut -d= -f2- | tr -d '"')
if grep -qE "^WEBHOOK_URL_TOKEN=" .env; then
  sed -i "s#^WEBHOOK_URL_TOKEN=.*#WEBHOOK_URL_TOKEN=$WT#" .env
else
  echo "WEBHOOK_URL_TOKEN=$WT" >> .env
fi
echo "DRY_RUN line: $(grep -E 'DRY_RUN: ' ecosystem.config.js | head -1)"
echo "env token last4: $(grep '^WEBHOOK_URL_TOKEN=' .env | cut -d= -f2- | tr -d '"' | tail -c 5)"
echo "GEORGE_BASIC_AUTH in ecosystem? $(grep -c GEORGE_BASIC_AUTH ecosystem.config.js) (want 0)"
env -u GEORGE_BASIC_AUTH -u WEBHOOK_URL_TOKEN -u DRY_RUN pm2 reload ecosystem.config.js --update-env
pm2 save
sleep 2
echo "== healthz (after persist) =="
curl -s http://127.0.0.1:9862/healthz; echo
curl -s -o /dev/null -w "badtoken=%{http_code} (want 401)\n" -X POST http://127.0.0.1:9862/webhooks/customers/create/bogus -H "Content-Type: application/json" -d "{}"
curl -s -o /dev/null -w "e9c9=%{http_code} (want 200)\n" -X POST "http://127.0.0.1:9862/webhooks/customers/create/$WT" -H "Content-Type: application/json" -d "{}"
echo "== DURABILITY re-check: reload again, must STILL be dry_run:false =="
pm2 reload dw-signup-fulfillment >/dev/null 2>&1
sleep 2
curl -s http://127.0.0.1:9862/healthz; echo