diff --git a/docs/appendices/0.23.0-migration-guide.md b/docs/appendices/0.23.0-migration-guide.md new file mode 100644 index 000000000..453bdd3f8 --- /dev/null +++ b/docs/appendices/0.23.0-migration-guide.md @@ -0,0 +1,5 @@ +# 0.23.0 Migration Guide + +## Changes + +- The `plugin:list` command no longer outputs the version for the `plugn` binary. diff --git a/docs/development/plugin-triggers.md b/docs/development/plugin-triggers.md index 571ddaf14..bbffd181f 100644 --- a/docs/development/plugin-triggers.md +++ b/docs/development/plugin-triggers.md @@ -2108,6 +2108,21 @@ DOKKU_SCHEDULER="$1"; APP="$2"; IMAGE_REPO="$3"; IMAGE_TAG="$4"; # TODO ``` +### `storage-list` + +- Description: Returns a list of storage mounts +- Invoked by: `dokku storage:list` and `dokku deploy` +- Arguments: `$APP` +- Example: + +```shell +#!/usr/bin/env bash + +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x +APP="$1" + +# TODO +``` ### `tags-create` - Description: Allows you to run commands once a tag for an app image has been added diff --git a/docs/getting-started/upgrading.md b/docs/getting-started/upgrading.md index 9229e590a..01236cdbb 100644 --- a/docs/getting-started/upgrading.md +++ b/docs/getting-started/upgrading.md @@ -19,6 +19,7 @@ Docker releases updates periodically to their engine. We recommend reading their Before upgrading, check the migration guides to get comfortable with new features and prepare your deployment to be upgraded. +- [Upgrading to 0.23](/docs/appendices/0.23.0-migration-guide.md) - [Upgrading to 0.22](/docs/appendices/0.22.0-migration-guide.md) - [Upgrading to 0.21](/docs/appendices/0.21.0-migration-guide.md) - [Upgrading to 0.20](/docs/appendices/0.20.0-migration-guide.md) diff --git a/dokku b/dokku index 18ab80921..8317c395f 100755 --- a/dokku +++ b/dokku @@ -240,14 +240,7 @@ case "$1" in ;; version | -v | --version) - if [[ -f "$DOKKU_LIB_ROOT/STABLE_VERSION" ]]; then - DOKKU_VERSION=$(cat "${DOKKU_LIB_ROOT}/STABLE_VERSION") - elif [[ -f "$DOKKU_LIB_ROOT/VERSION" ]]; then - DOKKU_VERSION=$(cat "${DOKKU_LIB_ROOT}/VERSION") - else - dokku_log_fail "Unable to determine dokku's version" - fi - echo "dokku version ${DOKKU_VERSION}" + dokku_version ;; *) diff --git a/plugins/00_dokku-standard/subcommands/report b/plugins/00_dokku-standard/subcommands/report index da1f10fc6..7a882a408 100755 --- a/plugins/00_dokku-standard/subcommands/report +++ b/plugins/00_dokku-standard/subcommands/report @@ -20,9 +20,10 @@ cmd-report() { dokku_log_info1 "sigil version: $(sigil -v)" dokku_log_info1 "herokuish version: " "$DOCKER_BIN" container run $DOKKU_GLOBAL_RUN_ARGS --rm "$DOKKU_IMAGE" herokuish version | sed "s/^/ /" - dokku_log_info1 "dokku version: $(dokku version)" + dokku_log_info1 "dokku version: $(dokku_version)" + dokku_log_info1 "plugn version: $(plugn version)" dokku_log_info1 "dokku plugins: " - dokku plugin:list | sed "s/^/ /" + plugn list | sed "s/^/ /" if [[ "$APP" == "--all" ]]; then for app in $(dokku_apps); do diff --git a/plugins/20_events/storage-list b/plugins/20_events/storage-list new file mode 120000 index 000000000..5178a749f --- /dev/null +++ b/plugins/20_events/storage-list @@ -0,0 +1 @@ +hook \ No newline at end of file diff --git a/plugins/common/functions b/plugins/common/functions index 45fa2998f..9c107192e 100755 --- a/plugins/common/functions +++ b/plugins/common/functions @@ -17,6 +17,17 @@ dokku_apps() { [[ $INSTALLED_APPS ]] && echo "$INSTALLED_APPS" } +dokku_version() { + if [[ -f "$DOKKU_LIB_ROOT/STABLE_VERSION" ]]; then + DOKKU_VERSION=$(cat "${DOKKU_LIB_ROOT}/STABLE_VERSION") + elif [[ -f "$DOKKU_LIB_ROOT/VERSION" ]]; then + DOKKU_VERSION=$(cat "${DOKKU_LIB_ROOT}/VERSION") + else + dokku_log_fail "Unable to determine dokku's version" + fi + echo "dokku version ${DOKKU_VERSION}" +} + dokku_log_quiet() { declare desc="log quiet formatter" if [[ -z "$DOKKU_QUIET_OUTPUT" ]]; then diff --git a/plugins/plugin/internal-functions b/plugins/plugin/internal-functions index 08e2ead4d..b8312d162 100755 --- a/plugins/plugin/internal-functions +++ b/plugins/plugin/internal-functions @@ -8,7 +8,6 @@ cmd-plugin-list() { declare cmd="plugin" [[ "$1" == "$cmd" ]] && shift 1 - plugn version plugn list } diff --git a/plugins/scheduler-docker-local/pre-deploy b/plugins/scheduler-docker-local/pre-deploy index 8052e0806..04683217f 100755 --- a/plugins/scheduler-docker-local/pre-deploy +++ b/plugins/scheduler-docker-local/pre-deploy @@ -31,7 +31,7 @@ scheduler-docker-local-pre-deploy-chown-app() { DOKKU_APP_TYPE=$(config_get "$APP" DOKKU_APP_TYPE || true) DOKKU_APP_USER=$(config_get "$APP" DOKKU_APP_USER || true) DOKKU_APP_USER=${DOKKU_APP_USER:="herokuishuser"} - APP_PATHS=$(dokku --quiet storage:list "$APP" || true) + APP_PATHS=$(plugn trigger storage-list "$APP" "deploy") if [[ -n "$APP_PATHS" ]]; then CONTAINER_PATHS=$(echo "$APP_PATHS" | awk -F ':' '{ print $2 }' | xargs) diff --git a/plugins/storage/internal-functions b/plugins/storage/internal-functions index 6215b09f8..d69566208 100755 --- a/plugins/storage/internal-functions +++ b/plugins/storage/internal-functions @@ -81,9 +81,9 @@ cmd-storage-list() { declare cmd="storage:list" [[ "$1" == "$cmd" ]] && shift 1 declare APP="$1" - local passed_phases="deploy" + local phase="deploy" verify_app_name "$APP" dokku_log_quiet "$APP volume bind-mounts:" - get_bind_mounts "$(get_phase_file_path "$passed_phases")" + plugn trigger storage-list "$APP" "$phase" } diff --git a/plugins/storage/storage-list b/plugins/storage/storage-list new file mode 100755 index 000000000..554336baa --- /dev/null +++ b/plugins/storage/storage-list @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +set -eo pipefail +[[ $DOKKU_TRACE ]] && set -x +source "$PLUGIN_AVAILABLE_PATH/docker-options/functions" +source "$PLUGIN_AVAILABLE_PATH/storage/functions" + +trigger-storage-storage-list() { + declare desc="storage storage-list trigger" + declare trigger="storage-list" + declare APP="$1" PHASE="$2" + + get_bind_mounts "$(fn-get-phase-file-path "$APP" "$PHASE")" +} + +trigger-storage-storage-list "$@"