#!/usr/bin/env bash source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/config" source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/common-functions" set -eo pipefail [[ $DOKKU_TRACE ]] && set -x plugin-install() { pull-docker-image() { declare IMAGE="$1" if [[ "$PLUGIN_DISABLE_PULL" == "true" ]]; then echo " ! ${PLUGIN_DISABLE_PULL_VARIABLE} environment variable detected. Not running pull command." 1>&2 echo " ! docker image pull ${IMAGE}" 1>&2 return fi if [[ "$("$DOCKER_BIN" image ls -q "${IMAGE}" 2>/dev/null)" == "" ]]; then "$DOCKER_BIN" image pull "${IMAGE}" fi } pull-docker-image "${PLUGIN_IMAGE}:${PLUGIN_IMAGE_VERSION}" pull-docker-image "$PLUGIN_BUSYBOX_IMAGE" pull-docker-image "$PLUGIN_AMBASSADOR_IMAGE" pull-docker-image "$PLUGIN_S3BACKUP_IMAGE" pull-docker-image "$PLUGIN_WAIT_IMAGE" mkdir -p "$PLUGIN_DATA_ROOT" || echo "Failed to create $PLUGIN_SERVICE data directory" chown "${DOKKU_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$PLUGIN_DATA_ROOT" mkdir -p "$PLUGIN_CONFIG_ROOT" || echo "Failed to create $PLUGIN_SERVICE config directory" chown "${DOKKU_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$PLUGIN_CONFIG_ROOT" rm -f "/etc/sudoers.d/dokku-${PLUGIN_COMMAND_PREFIX}*" _SUDOERS_FILE="/etc/sudoers.d/dokku-${PLUGIN_COMMAND_PREFIX}" touch "$_SUDOERS_FILE" cat >"$_SUDOERS_FILE" <"$SERVICE_ROOT/IMAGE" echo "${image##*:}" >"$SERVICE_ROOT/IMAGE_VERSION" fi fi chown "${DOKKU_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$SERVICE_ROOT/IMAGE" "$SERVICE_ROOT/IMAGE_VERSION" if [[ -f "$SERVICE_ROOT/${PLUGIN_VARIABLE}_CONFIG_OPTIONS" ]]; then mv "$SERVICE_ROOT/${PLUGIN_VARIABLE}_CONFIG_OPTIONS" "$SERVICE_ROOT/CONFIG_OPTIONS" chown "${DOKKU_SYSTEM_USER}:${DOKKU_SYSTEM_GROUP}" "$SERVICE_ROOT/CONFIG_OPTIONS" fi done } plugin-install "$@"