From b19433c58058b400115377b339bd1530368c161f Mon Sep 17 00:00:00 2001 From: Dmitriy Safronov <zimniy@cyberbrain.pw> Date: Wed, 26 Jan 2022 14:55:18 +0300 Subject: [PATCH] rsync_webhoook --- Dockerfile | 8 ++++++-- README.md | 7 +++++++ rsync-sync | 9 +++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1b1b8de..2fc260f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,13 +3,17 @@ FROM registry.cyberbrain.pw/docker/git-sync:latest ENV GIT_SYNC_ROOT='/tmp/git' \ GIT_SYNC_DEST='sync' \ GIT_SYNC_EXECHOOK_COMMAND='/rsync-sync' \ - GIT_SYNC_ADD_USER='true' + GIT_SYNC_ADD_USER='true' \ + RSYNC_SYNC_WEBHOOK_METHOD='POST' \ + RSYNC_SYNC_WEBHOOK_TIMEOUT=1 \ + RSYNC_SYNC_WEBHOOK_BACKOFF=3 \ + RSYNC_SYNC_WEBHOOK_ATTEMPTS=3 USER root:root RUN set -ex \ && apt-get update -y \ - && apt-get install --no-install-recommends -y rsync \ + && apt-get install --no-install-suggests --no-install-recommends -y rsync curl \ && apt-get clean -y \ && rm -rf /var/lib/apt/lists/* \ && chmod -Rv 0777 "${GIT_SYNC_ROOT:-/tmp/git}/" diff --git a/README.md b/README.md index 72109ac..9697c97 100644 --- a/README.md +++ b/README.md @@ -11,3 +11,10 @@ Preset env vars: - GIT_SYNC_DEST='sync' - GIT_SYNC_EXECHOOK_COMMAND='/rsync-sync' - GIT_SYNC_ADD_USER='true' +- RSYNC_SYNC_WEBHOOK_METHOD='POST' +- RSYNC_SYNC_WEBHOOK_TIMEOUT=1 +- RSYNC_SYNC_WEBHOOK_BACKOFF=3 +- RSYNC_SYNC_WEBHOOK_ATTEMPTS=3 + +Custom env vars: +- RSYNC_SYNC_WEBHOOK_URL diff --git a/rsync-sync b/rsync-sync index 1df8a19..a98e412 100644 --- a/rsync-sync +++ b/rsync-sync @@ -6,3 +6,12 @@ rsync -a \ --delete-after \ "${GIT_SYNC_ROOT:-/tmp/git}/${GIT_SYNC_DEST:-sync}/" \ /sync + +if test -n "${RSYNC_SYNC_WEBHOOK_URL}"; then + curl -I -L \ + -X ${RSYNC_SYNC_WEBHOOK_METHOD:-POST} \ + -m ${RSYNC_SYNC_WEBHOOK_TIMEOUT:-1} \ + --retry ${RSYNC_SYNC_WEBHOOK_ATTEMPTS:-3} \ + --retry-delay ${RSYNC_SYNC_WEBHOOK_BACKOFF:-3} \ + "${RSYNC_SYNC_WEBHOOK_URL}" +fi -- GitLab