Merge pull request #2656 from dokku/2628-fix-global-report-flags

fix: ensure we can call the report subcommand without an app while specifying flags
This commit is contained in:
Jose Diaz-Gonzalez
2017-03-16 03:39:42 -06:00
committed by GitHub
8 changed files with 142 additions and 55 deletions

View File

@@ -4,7 +4,8 @@ source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$PLUGIN_AVAILABLE_PATH/apps/functions"
report_single_app() {
local APP="$1"; local APP_DIR="$DOKKU_ROOT/$APP"; local INFO_FLAG="$2"
declare APP="$1" INFO_FLAG="$2"
local APP_DIR="$DOKKU_ROOT/$APP"
local use_echo;
if [[ "$INFO_FLAG" == "true" ]]; then
use_echo=true
@@ -68,14 +69,23 @@ apps_report_cmd() {
declare desc="displays the app report for one or more apps"
local cmd="apps:report"
local INSTALLED_APPS=$(dokku_apps)
local APP
local APP="$2" INFO_FLAG="$3"
if [[ -z $2 ]]; then
for APP in $INSTALLED_APPS; do
report_single_app "$APP" "true"
if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then
INFO_FLAG="$APP"
APP=""
fi
if [[ -z "$APP" ]] && [[ -z "$INFO_FLAG" ]]; then
INFO_FLAG="true"
fi
if [[ -z "$APP" ]]; then
for app in $INSTALLED_APPS; do
report_single_app "$app" "$INFO_FLAG" | tee || true
done
else
report_single_app "$2" "$3"
report_single_app "$APP" "$INFO_FLAG"
fi
}

View File

@@ -74,8 +74,9 @@ fn-ssl-verified() {
echo "$SSL_SELF_SIGNED"
}
certs_report_single_app() {
local APP="$1"; local APP_DIR="$DOKKU_ROOT/$APP"; local INFO_FLAG="$2"
report_single_app() {
declare APP="$1" INFO_FLAG="$2"
local APP_DIR="$DOKKU_ROOT/$APP"
if [[ "$INFO_FLAG" == "true" ]]; then
INFO_FLAG=""
fi
@@ -122,14 +123,24 @@ certs_report_single_app() {
certs_report_cmd() {
declare desc="displays an ssl report for one or more apps"
local cmd="certs:report"
local INSTALLED_APPS=$(dokku_apps); local APP
local INSTALLED_APPS=$(dokku_apps)
local APP="$2" INFO_FLAG="$3"
if [[ -z $2 ]]; then
for APP in $INSTALLED_APPS; do
certs_report_single_app "$APP" "true"
if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then
INFO_FLAG="$APP"
APP=""
fi
if [[ -z "$APP" ]] && [[ -z "$INFO_FLAG" ]]; then
INFO_FLAG="true"
fi
if [[ -z "$APP" ]]; then
for app in $INSTALLED_APPS; do
report_single_app "$app" "$INFO_FLAG" | tee || true
done
else
certs_report_single_app "$2" "$3"
report_single_app "$APP" "$INFO_FLAG"
fi
}

View File

@@ -19,8 +19,9 @@ fn-checks-skipped-list() {
echo "$DOKKU_CHECKS_SKIPPED"
}
checks_report_single_app() {
local APP="$1"; local APP_DIR="$DOKKU_ROOT/$APP"; local INFO_FLAG="$2"
report_single_app() {
declare APP="$1" INFO_FLAG="$2"
local APP_DIR="$DOKKU_ROOT/$APP"
if [[ "$INFO_FLAG" == "true" ]]; then
INFO_FLAG=""
fi
@@ -61,14 +62,24 @@ checks_report_single_app() {
checks_report_cmd() {
declare desc="shows reports for an app"
local cmd="checks:report"
local INSTALLED_APPS=$(dokku_apps); local APP
local INSTALLED_APPS=$(dokku_apps)
local APP="$2" INFO_FLAG="$3"
if [[ -z $2 ]]; then
for APP in $INSTALLED_APPS; do
checks_report_single_app "$APP" "true"
if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then
INFO_FLAG="$APP"
APP=""
fi
if [[ -z "$APP" ]] && [[ -z "$INFO_FLAG" ]]; then
INFO_FLAG="true"
fi
if [[ -z "$APP" ]]; then
for app in $INSTALLED_APPS; do
report_single_app "$app" "$INFO_FLAG" | tee || true
done
else
checks_report_single_app "$2" "$3"
report_single_app "$APP" "$INFO_FLAG"
fi
}

View File

@@ -11,8 +11,9 @@ fn-docker-options() {
fi
}
docker_options_report_single_app() {
local APP="$1"; local APP_DIR="$DOKKU_ROOT/$APP"; local INFO_FLAG="$2"
report_single_app() {
declare APP="$1" INFO_FLAG="$2"
local APP_DIR="$DOKKU_ROOT/$APP"
if [[ "$INFO_FLAG" == "true" ]]; then
INFO_FLAG=""
fi
@@ -54,14 +55,24 @@ docker_options_report_single_app() {
docker_options_report_cmd() {
declare desc="displays a docker options report for one or more apps"
local cmd="docker-options:report"
local INSTALLED_APPS=$(dokku_apps); local APP
local INSTALLED_APPS=$(dokku_apps)
local APP="$2" INFO_FLAG="$3"
if [[ -z $2 ]]; then
for APP in $INSTALLED_APPS; do
docker_options_report_single_app "$APP" "true"
if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then
INFO_FLAG="$APP"
APP=""
fi
if [[ -z "$APP" ]] && [[ -z "$INFO_FLAG" ]]; then
INFO_FLAG="true"
fi
if [[ -z "$APP" ]]; then
for app in $INSTALLED_APPS; do
report_single_app "$app" "$INFO_FLAG" | tee || true
done
else
docker_options_report_single_app "$2" "$3"
report_single_app "$APP" "$INFO_FLAG"
fi
}

View File

@@ -34,8 +34,9 @@ fn-domains-global-vhosts() {
fi
}
domains_report_single_app() {
local APP="$1"; local APP_DIR="$DOKKU_ROOT/$APP"; local INFO_FLAG="$2"
report_single_app() {
declare APP="$1" INFO_FLAG="$2"
local APP_DIR="$DOKKU_ROOT/$APP"
if [[ "$INFO_FLAG" == "true" ]]; then
INFO_FLAG=""
fi
@@ -78,14 +79,24 @@ domains_report_single_app() {
domains_report_cmd() {
declare desc="displays a domains report for one or more apps"
local cmd="domains:report"
local INSTALLED_APPS=$(dokku_apps); local APP
local INSTALLED_APPS=$(dokku_apps)
local APP="$2" INFO_FLAG="$3"
if [[ -z $2 ]]; then
for APP in $INSTALLED_APPS; do
domains_report_single_app "$APP" "true"
if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then
INFO_FLAG="$APP"
APP=""
fi
if [[ -z "$APP" ]] && [[ -z "$INFO_FLAG" ]]; then
INFO_FLAG="true"
fi
if [[ -z "$APP" ]]; then
for app in $INSTALLED_APPS; do
report_single_app "$app" "$INFO_FLAG" | tee || true
done
else
domains_report_single_app "$2" "$3"
report_single_app "$APP" "$INFO_FLAG"
fi
}

View File

@@ -13,8 +13,9 @@ fn-proxy-enabled() {
echo "$PROXY_ENABLED"
}
proxy_report_single_app() {
local APP="$1"; local APP_DIR="$DOKKU_ROOT/$APP"; local INFO_FLAG="$2"
report_single_app() {
declare APP="$1" INFO_FLAG="$2"
local APP_DIR="$DOKKU_ROOT/$APP"
if [[ "$INFO_FLAG" == "true" ]]; then
INFO_FLAG=""
fi
@@ -56,14 +57,24 @@ proxy_report_single_app() {
proxy_report_cmd() {
declare desc="displays a proxy report for one or more apps"
local cmd="proxy:report"
local INSTALLED_APPS=$(dokku_apps); local APP
local INSTALLED_APPS=$(dokku_apps)
local APP="$2" INFO_FLAG="$3"
if [[ -z $2 ]]; then
for APP in $INSTALLED_APPS; do
proxy_report_single_app "$APP" "true"
if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then
INFO_FLAG="$APP"
APP=""
fi
if [[ -z "$APP" ]] && [[ -z "$INFO_FLAG" ]]; then
INFO_FLAG="true"
fi
if [[ -z "$APP" ]]; then
for app in $INSTALLED_APPS; do
report_single_app "$app" "$INFO_FLAG" | tee || true
done
else
proxy_report_single_app "$2" "$3"
report_single_app "$APP" "$INFO_FLAG"
fi
}

View File

@@ -4,8 +4,9 @@ source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$PLUGIN_AVAILABLE_PATH/docker-options/functions"
source "$PLUGIN_AVAILABLE_PATH/ps/functions"
ps_report_single_app() {
local APP="$1"; local APP_DIR="$DOKKU_ROOT/$APP"; local INFO_FLAG="$2"
report_single_app() {
declare APP="$1" INFO_FLAG="$2"
local APP_DIR="$DOKKU_ROOT/$APP"
local passed_phases="deploy"
local APP_CIDS=$(get_app_container_ids "$APP"); local PROCS=0; local RUNNING=""
@@ -90,14 +91,24 @@ ps_report_single_app() {
ps_report_cmd() {
declare desc="shows reports for an app"
local cmd="ps:report"
local INSTALLED_APPS=$(dokku_apps); local APP
local INSTALLED_APPS=$(dokku_apps)
local APP="$2" INFO_FLAG="$3"
if [[ -z $2 ]]; then
for APP in $INSTALLED_APPS; do
ps_report_single_app "$APP"
if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then
INFO_FLAG="$APP"
APP=""
fi
if [[ -z "$APP" ]] && [[ -z "$INFO_FLAG" ]]; then
INFO_FLAG="true"
fi
if [[ -z "$APP" ]]; then
for app in $INSTALLED_APPS; do
report_single_app "$app" "$INFO_FLAG" | tee || true
done
else
ps_report_single_app "$2" "$3"
report_single_app "$APP" "$INFO_FLAG"
fi
}

View File

@@ -11,8 +11,9 @@ fn-storage-bind-mounts() {
fi
}
storage_report_single_app() {
local APP="$1"; local APP_DIR="$DOKKU_ROOT/$APP"; local INFO_FLAG="$2"
report_single_app() {
declare APP="$1" INFO_FLAG="$2"
local APP_DIR="$DOKKU_ROOT/$APP"
if [[ "$INFO_FLAG" == "true" ]]; then
INFO_FLAG=""
fi
@@ -54,14 +55,24 @@ storage_report_single_app() {
storage_report_cmd() {
declare desc="displays a storage report for one or more apps"
local cmd="storage:report"
local INSTALLED_APPS=$(dokku_apps); local APP
local INSTALLED_APPS=$(dokku_apps)
local APP="$2" INFO_FLAG="$3"
if [[ -z $2 ]]; then
for APP in $INSTALLED_APPS; do
storage_report_single_app "$APP" "true"
if [[ -n "$APP" ]] && [[ "$APP" == --* ]]; then
INFO_FLAG="$APP"
APP=""
fi
if [[ -z "$APP" ]] && [[ -z "$INFO_FLAG" ]]; then
INFO_FLAG="true"
fi
if [[ -z "$APP" ]]; then
for app in $INSTALLED_APPS; do
report_single_app "$app" "$INFO_FLAG" | tee || true
done
else
storage_report_single_app "$2" "$3"
report_single_app "$APP" "$INFO_FLAG"
fi
}