mirror of
https://github.com/dokku/dokku.git
synced 2025-12-29 00:25:08 +01:00
In some cases, the cache directory may exist but there may be no app image to use for cache purging. This may be the case if the app was never deployed. Instead of failing, we can simply use the configured herokuish image for clearing cache, as that image is the base image for anything that would have modified cache.
22 lines
684 B
Bash
Executable File
22 lines
684 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail
|
|
[[ $DOKKU_TRACE ]] && set -x
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
|
|
|
apps_pre_delete() {
|
|
declare desc="apps pre-delete plugin trigger"
|
|
local trigger="apps_pre_delete"
|
|
local APP="$1"
|
|
local IMAGE_TAG="$2"
|
|
local CACHE_DIR="$DOKKU_ROOT/$APP/cache"
|
|
local CACHE_HOST_DIR="$DOKKU_HOST_ROOT/$APP/cache"
|
|
verify_app_name "$APP"
|
|
|
|
if [[ -d $CACHE_DIR ]]; then
|
|
DOKKU_IMAGE="$(config_get "$APP" DOKKU_IMAGE || echo "$DOKKU_IMAGE")"
|
|
"$DOCKER_BIN" run "$DOKKU_GLOBAL_RUN_ARGS" --rm -v "$CACHE_HOST_DIR:/cache" "$DOKKU_IMAGE" find /cache -depth -mindepth 1 -maxdepth 1 -exec rm -Rf {} \; || true
|
|
fi
|
|
}
|
|
|
|
apps_pre_delete "$@"
|