mirror of
https://github.com/dokku/dokku.git
synced 2025-12-29 00:25:08 +01:00
While the majority of buildpacks do not work on non-amd64 platforms, this will at least allow developers the option to choose when to override this setting.
110 lines
3.0 KiB
Bash
Executable File
110 lines
3.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/property-functions"
|
|
source "$PLUGIN_AVAILABLE_PATH/checks/functions"
|
|
set -eo pipefail
|
|
[[ $DOKKU_TRACE ]] && set -x
|
|
|
|
cmd-checks-report() {
|
|
declare desc="shows reports for an app"
|
|
declare cmd="checks:report"
|
|
[[ "$1" == "$cmd" ]] && shift 1
|
|
declare APP="$1" INFO_FLAG="$2"
|
|
|
|
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 $(dokku_apps); do
|
|
cmd-checks-report-single "$app" "$INFO_FLAG" | tee || true
|
|
done
|
|
else
|
|
cmd-checks-report-single "$APP" "$INFO_FLAG"
|
|
fi
|
|
}
|
|
|
|
cmd-checks-report-single() {
|
|
declare APP="$1" INFO_FLAG="$2"
|
|
if [[ "$INFO_FLAG" == "true" ]]; then
|
|
INFO_FLAG=""
|
|
fi
|
|
verify_app_name "$APP"
|
|
local flag_map=(
|
|
"--checks-disabled-list: $(fn-checks-disabled-list "$APP")"
|
|
"--checks-skipped-list: $(fn-checks-skipped-list "$APP")"
|
|
"--checks-computed-wait-to-retire: $(fn-checks-computed-wait-to-retire "$APP")"
|
|
"--checks-global-wait-to-retire: $(fn-checks-global-wait-to-retire "$APP")"
|
|
"--checks-wait-to-retire: $(fn-checks-wait-to-retire "$APP")"
|
|
)
|
|
|
|
if [[ -z "$INFO_FLAG" ]]; then
|
|
dokku_log_info2_quiet "$APP checks information"
|
|
for flag in "${flag_map[@]}"; do
|
|
key="$(echo "${flag#--}" | cut -f1 -d' ' | tr - ' ')"
|
|
dokku_log_verbose "$(printf "%-30s %-25s" "${key^}" "${flag#*: }")"
|
|
done
|
|
else
|
|
local match=false
|
|
local value_exists=false
|
|
for flag in "${flag_map[@]}"; do
|
|
valid_flags="${valid_flags} $(echo "$flag" | cut -d':' -f1)"
|
|
if [[ "$flag" == "${INFO_FLAG}:"* ]]; then
|
|
value=${flag#*: }
|
|
size="${#value}"
|
|
if [[ "$size" -ne 0 ]]; then
|
|
echo "$value" && match=true && value_exists=true
|
|
else
|
|
match=true
|
|
fi
|
|
fi
|
|
done
|
|
[[ "$match" == "true" ]] || dokku_log_fail "Invalid flag passed, valid flags:${valid_flags}"
|
|
[[ "$value_exists" == "true" ]] || dokku_log_fail "not deployed"
|
|
fi
|
|
}
|
|
|
|
fn-checks-disabled-list() {
|
|
declare APP="$1"
|
|
|
|
local DOKKU_CHECKS_DISABLED=$(config_get "$APP" DOKKU_CHECKS_DISABLED)
|
|
DOKKU_CHECKS_DISABLED="${DOKKU_CHECKS_DISABLED:-none}"
|
|
echo "$DOKKU_CHECKS_DISABLED"
|
|
}
|
|
|
|
fn-checks-skipped-list() {
|
|
declare APP="$1"
|
|
|
|
local DOKKU_CHECKS_SKIPPED=$(config_get "$APP" DOKKU_CHECKS_SKIPPED)
|
|
DOKKU_CHECKS_SKIPPED="${DOKKU_CHECKS_SKIPPED:-none}"
|
|
echo "$DOKKU_CHECKS_SKIPPED"
|
|
}
|
|
|
|
fn-checks-computed-wait-to-retire() {
|
|
declare APP="$1"
|
|
|
|
file="$(fn-checks-wait-to-retire "$APP")"
|
|
if [[ "$file" == "" ]]; then
|
|
file="$(fn-checks-global-wait-to-retire "$APP")"
|
|
fi
|
|
|
|
echo "$file"
|
|
}
|
|
|
|
fn-checks-global-wait-to-retire() {
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get-default "checks" "--global" "wait-to-retire" "60"
|
|
}
|
|
|
|
fn-checks-wait-to-retire() {
|
|
declare APP="$1"
|
|
|
|
fn-plugin-property-get-default "checks" "$APP" "wait-to-retire" ""
|
|
}
|