43 lines
1.3 KiB
Bash
Executable File
43 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
|
|
|
apps_destroy_cmd() {
|
|
local desc="destroys an app"
|
|
local cmd="apps:destroy"
|
|
[[ -z $2 ]] && dokku_log_fail "Please specify an app to run the command on"
|
|
[[ "$2" == "tls" ]] && dokku_log_fail "Unable to destroy tls directory"
|
|
[[ "$3" == "force" ]] && export DOKKU_APPS_FORCE_DELETE=1
|
|
local APP="$2"; local IMAGE_TAG=$(get_running_image_tag "$APP")
|
|
verify_app_name "$APP"
|
|
|
|
if [[ -z "$DOKKU_APPS_FORCE_DELETE" ]]; then
|
|
dokku_log_warn "WARNING: Potentially Destructive Action"
|
|
dokku_log_warn "This command will destroy $APP (including all add-ons)."
|
|
dokku_log_warn "To proceed, type \"$APP\""
|
|
echo ""
|
|
|
|
read -rp "> " app_name
|
|
if [[ "$app_name" != "$APP" ]]; then
|
|
dokku_log_fail "Confirmation did not match $APP. Aborted."
|
|
fi
|
|
fi
|
|
|
|
echo "Destroying $APP (including all add-ons)"
|
|
|
|
plugn trigger pre-delete "$APP" "$IMAGE_TAG"
|
|
local DOKKU_APP_CIDS=$(get_app_container_ids "$APP")
|
|
local cid
|
|
|
|
if [[ -n $DOKKU_APP_CIDS ]]; then
|
|
for cid in $DOKKU_APP_CIDS; do
|
|
docker stop "$cid" > /dev/null || true
|
|
docker rm "$cid" > /dev/null || true
|
|
done
|
|
fi
|
|
|
|
plugn trigger post-delete "$APP" "$IMAGE_TAG"
|
|
}
|
|
|
|
apps_destroy_cmd "$@"
|