From 50ade9cd23e6f9cea7f59f6e8e5bedf2777d1149 Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Tue, 7 Apr 2020 18:17:41 +1000 Subject: [PATCH] www: log cdn purge calls Ref: #2264 --- ansible/www-standalone/resources/scripts/build-site.sh | 3 ++- ansible/www-standalone/resources/scripts/cdn-purge.sh.j2 | 4 ++++ .../www-standalone/resources/scripts/queue-cdn-purge.sh | 4 ++-- ansible/www-standalone/tools/promote/_promote.sh | 7 ++++++- ansible/www-standalone/tools/promote/resha_release.sh | 2 +- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/ansible/www-standalone/resources/scripts/build-site.sh b/ansible/www-standalone/resources/scripts/build-site.sh index 215524f82..a6543ca93 100755 --- a/ansible/www-standalone/resources/scripts/build-site.sh +++ b/ansible/www-standalone/resources/scripts/build-site.sh @@ -44,6 +44,7 @@ docker run \ -v /home/nodejs/.npm:/npm/ \ node:latest \ bash -c " \ + apt-get update && apt-get install -y rsync && \ addgroup nodejs --gid ${nodeuid} && \ adduser nodejs --uid ${nodeuid} --gid ${nodegid} --gecos nodejs --disabled-password && \ su nodejs -c ' \ @@ -57,4 +58,4 @@ docker run \ rsync -avz --delete --exclude .git ${clonedir}/${rsync_from} /home/www/${site}/ -/home/nodejs/queue-cdn-purge.sh $site +/home/nodejs/queue-cdn-purge.sh $site build-site diff --git a/ansible/www-standalone/resources/scripts/cdn-purge.sh.j2 b/ansible/www-standalone/resources/scripts/cdn-purge.sh.j2 index 4717b8b3a..d91c0c654 100644 --- a/ansible/www-standalone/resources/scripts/cdn-purge.sh.j2 +++ b/ansible/www-standalone/resources/scripts/cdn-purge.sh.j2 @@ -27,6 +27,8 @@ if ! [ -f /tmp/cdnpurge.$site ]; then exit 0 fi +reason="$(cat /tmp/cdnpurge.$site | tr '\n' ' ')" + rm -f /tmp/cdnpurge.$site # list zones: @@ -36,6 +38,8 @@ rm -f /tmp/cdnpurge.$site # -H "X-Auth-Email: ${api_email}" \ # -H "X-Auth-Key: ${api_key}" +echo "$(date -u --iso-8601=s), ${zone_id}, ${reason}" >> /home/nodejs/cdn-purge.log + # purge full cache curl -X DELETE \ "https://api.cloudflare.com/client/v4/zones/${zone_id}/purge_cache" \ diff --git a/ansible/www-standalone/resources/scripts/queue-cdn-purge.sh b/ansible/www-standalone/resources/scripts/queue-cdn-purge.sh index 05f7094d9..311f67570 100644 --- a/ansible/www-standalone/resources/scripts/queue-cdn-purge.sh +++ b/ansible/www-standalone/resources/scripts/queue-cdn-purge.sh @@ -5,9 +5,9 @@ set -e site=$1 if [ "X$site" != "Xiojs" ] && [ "X$site" != "Xnodejs" ]; then - echo "Usage: queue-cdn-purge.sh < iojs | nodejs >" + echo "Usage: queue-cdn-purge.sh < iojs | nodejs > [reason]" exit 1 fi umask 000 -touch /tmp/cdnpurge.$site +echo ${2:-unknown} >> /tmp/cdnpurge.$site diff --git a/ansible/www-standalone/tools/promote/_promote.sh b/ansible/www-standalone/tools/promote/_promote.sh index 98121a594..a27cbae7e 100755 --- a/ansible/www-standalone/tools/promote/_promote.sh +++ b/ansible/www-standalone/tools/promote/_promote.sh @@ -19,6 +19,7 @@ fi site=$1 version=$2 +purge=no for subdir in $(cd $srcdir && ls); do @@ -39,6 +40,7 @@ for subdir in $(cd $srcdir && ls); do cp -a "${srcdir}/${subdir}/${doneref}" "${dstdir}/${subdir}/${doneref}" rm -rf "${srcdir}/${subdir}/${doneref}" resha=yes + purge=yes fi rm -f "${srcdir}/${subdir}/${donefile}" @@ -49,7 +51,10 @@ for subdir in $(cd $srcdir && ls); do ${__dirname}/_resha.sh $site $dstdir $subdir fi - /home/nodejs/queue-cdn-purge.sh $site fi done + +if [ "$purge" == "yes" ]; then + /home/nodejs/queue-cdn-purge.sh $site promote +fi diff --git a/ansible/www-standalone/tools/promote/resha_release.sh b/ansible/www-standalone/tools/promote/resha_release.sh index cdd46b495..8bd6f4a1f 100755 --- a/ansible/www-standalone/tools/promote/resha_release.sh +++ b/ansible/www-standalone/tools/promote/resha_release.sh @@ -25,4 +25,4 @@ fi ${__dirname}/_resha.sh $site $dstdir $2 -/home/nodejs/queue-cdn-purge.sh $site \ No newline at end of file +/home/nodejs/queue-cdn-purge.sh $site resha_release