From 956e22962e085445c70e284a2190d32546f70c04 Mon Sep 17 00:00:00 2001 From: Jody McIntyre Date: Tue, 27 Mar 2018 12:58:40 -0400 Subject: [PATCH] feat: allow skipping pulling an image for the redis plugin when REDIS_DISABLE_PULL=true --- README.md | 6 ++++++ functions | 6 ++++++ install | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/README.md b/README.md index 0a58217..ffe8fe0 100644 --- a/README.md +++ b/README.md @@ -221,3 +221,9 @@ dokku redis:backup-auth lolipop AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_REGI # more specific example for minio auth dokku redis:backup-auth lolipop MINIO_ACCESS_KEY_ID MINIO_SECRET_ACCESS_KEY us-east-1 s3v4 https://YOURMINIOSERVICE ``` + +## Disabling `docker pull` calls + +If you wish to disable the `docker pull` calls that the plugin triggers, you may set the `REDIS_DISABLE_PULL` environment variable to `true`. Once disabled, you will need to pull the service image you wish to deploy as shown in the `stderr` output. + +Please ensure the proper images are in place when `docker pull` is disabled. diff --git a/functions b/functions index 239afd3..ca5c0c0 100755 --- a/functions +++ b/functions @@ -30,6 +30,12 @@ service_create() { service_parse_args "${@:2}" if ! docker images | grep -e "^$PLUGIN_IMAGE " | grep -q " $PLUGIN_IMAGE_VERSION " ; then + if [[ "$REDIS_DISABLE_PULL" == "true" ]]; then + dokku_log_warn "REDIS_DISABLE_PULL environment variable detected. Not running pull command." 1>&2 + dokku_log_warn " docker pull ${IMAGE}" 1>&2 + dokku_log_warn "$PLUGIN_SERVICE service creation failed" + exit 1 + fi docker pull "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION" || dokku_log_fail "$PLUGIN_SERVICE image $PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION pull failed" fi diff --git a/install b/install index 57f8833..35f808a 100755 --- a/install +++ b/install @@ -5,6 +5,11 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x plugin-install() { pull-docker-image() { declare IMAGE="$1" + if [[ "$REDIS_DISABLE_PULL" == "true" ]]; then + echo " ! REDIS_DISABLE_PULL environment variable detected. Not running pull command." 1>&2 + echo " ! docker pull ${IMAGE}" 1>&2 + return + fi if [[ "$(docker images -q "${IMAGE}" 2> /dev/null)" == "" ]]; then docker pull "${IMAGE}" fi