feat: use custom env var to disable pull actions

This commit is contained in:
Jose Diaz-Gonzalez
2018-04-11 15:11:58 -04:00
parent 2af6966c4b
commit bd2e292e1e
3 changed files with 17 additions and 0 deletions

View File

@@ -267,3 +267,9 @@ custom certificate by overwriting the `server.crt` and `server.key` files in
`/var/lib/dokku/services/postgres/<DB_NAME>/data`. `/var/lib/dokku/services/postgres/<DB_NAME>/data`.
The `server.key` must be chmoded to 600 and must be owned by the postgres user The `server.key` must be chmoded to 600 and must be owned by the postgres user
or root. or root.
## Disabling `docker pull` calls
If you wish to disable the `docker pull` calls that the plugin triggers, you may set the `POSTGRES_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.

View File

@@ -30,6 +30,12 @@ service_create() {
service_parse_args "${@:2}" service_parse_args "${@:2}"
if ! docker images | grep -e "^$PLUGIN_IMAGE " | grep -q " $PLUGIN_IMAGE_VERSION " ; then if ! docker images | grep -e "^$PLUGIN_IMAGE " | grep -q " $PLUGIN_IMAGE_VERSION " ; then
if [[ "$POSTGRES_DISABLE_PULL" == "true" ]]; then
dokku_log_warn "POSTGRES_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" docker pull "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION" || dokku_log_fail "$PLUGIN_SERVICE image $PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION pull failed"
fi fi

View File

@@ -5,6 +5,11 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
plugin-install() { plugin-install() {
pull-docker-image() { pull-docker-image() {
declare IMAGE="$1" declare IMAGE="$1"
if [[ "$POSTGRES_DISABLE_PULL" == "true" ]]; then
echo " ! POSTGRES_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 if [[ "$(docker images -q "${IMAGE}" 2> /dev/null)" == "" ]]; then
docker pull "${IMAGE}" docker pull "${IMAGE}"
fi fi