diff --git a/plugins/apps/subcommands/report b/plugins/apps/subcommands/report index e9680cd16..10e48e54c 100755 --- a/plugins/apps/subcommands/report +++ b/plugins/apps/subcommands/report @@ -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 } diff --git a/plugins/certs/subcommands/report b/plugins/certs/subcommands/report index 43aa31648..9d8c7d976 100755 --- a/plugins/certs/subcommands/report +++ b/plugins/certs/subcommands/report @@ -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 } diff --git a/plugins/checks/subcommands/report b/plugins/checks/subcommands/report index e0caf4cdd..6c6a4fc02 100755 --- a/plugins/checks/subcommands/report +++ b/plugins/checks/subcommands/report @@ -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 } diff --git a/plugins/docker-options/subcommands/report b/plugins/docker-options/subcommands/report index cf81005eb..e13618364 100755 --- a/plugins/docker-options/subcommands/report +++ b/plugins/docker-options/subcommands/report @@ -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 } diff --git a/plugins/domains/subcommands/report b/plugins/domains/subcommands/report index ce7f3078a..2d43a44dd 100755 --- a/plugins/domains/subcommands/report +++ b/plugins/domains/subcommands/report @@ -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 } diff --git a/plugins/proxy/subcommands/report b/plugins/proxy/subcommands/report index 260483417..7247cd9cc 100755 --- a/plugins/proxy/subcommands/report +++ b/plugins/proxy/subcommands/report @@ -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 } diff --git a/plugins/ps/subcommands/report b/plugins/ps/subcommands/report index e637ceab2..77f952e6e 100755 --- a/plugins/ps/subcommands/report +++ b/plugins/ps/subcommands/report @@ -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 } diff --git a/plugins/storage/subcommands/report b/plugins/storage/subcommands/report index cc8e0fa60..482e01600 100755 --- a/plugins/storage/subcommands/report +++ b/plugins/storage/subcommands/report @@ -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 }