This standardization makes it somewhat easier to read stacktraces as the command names are all uniform, so it will be slightly easier to scan trace output.
47 lines
1.9 KiB
Bash
Executable File
47 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail
|
|
[[ $DOKKU_TRACE ]] && set -x
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
|
source "$PLUGIN_AVAILABLE_PATH/checks/functions"
|
|
|
|
cmd-checks-disable() {
|
|
declare desc="disable zero-downtime checks for app/proctypes"
|
|
local cmd="checks:disable"
|
|
[[ "$1" == "$cmd" ]] && shift 1
|
|
local APP="$1"
|
|
verify_app_name "$APP"
|
|
local PROCTYPES="${2:-_all_}"
|
|
local DOKKU_CHECKS_DISABLED=$(config_get "$APP" DOKKU_CHECKS_DISABLED || true)
|
|
local DOKKU_CHECKS_SKIPPED=$(config_get "$APP" DOKKU_CHECKS_SKIPPED || true)
|
|
|
|
if [[ "$PROCTYPES" == "_all_" ]]; then
|
|
dokku_log_info1 "Disabling zero downtime for app ($APP)"
|
|
DOKKU_QUIET_OUTPUT=1 config_set --no-restart "$APP" DOKKU_CHECKS_DISABLED="$PROCTYPES"
|
|
DOKKU_QUIET_OUTPUT=1 config_unset --no-restart "$APP" DOKKU_CHECKS_SKIPPED
|
|
else
|
|
dokku_log_info1 "Disabling zero downtime for app's ($APP) proctypes ($PROCTYPES)"
|
|
local PROCTYPE OIFS="$IFS" IFS=,
|
|
for PROCTYPE in $PROCTYPES; do
|
|
IFS="$OIFS"
|
|
[[ "$(is_val_in_list "$PROCTYPE" "$DOKKU_CHECKS_DISABLED")" == "false" ]] \
|
|
&& DOKKU_CHECKS_DISABLED="$(add_val_to_list "$PROCTYPE" "$DOKKU_CHECKS_DISABLED")"
|
|
[[ "$(is_val_in_list "$PROCTYPE" "$DOKKU_CHECKS_SKIPPED")" == "true" ]] \
|
|
&& DOKKU_CHECKS_SKIPPED="$(remove_val_from_list "$PROCTYPE" "$DOKKU_CHECKS_SKIPPED")"
|
|
done
|
|
DOKKU_CHECKS_DISABLED="$(remove_val_from_list "_all_" "$DOKKU_CHECKS_DISABLED")"
|
|
if [[ -z "$DOKKU_CHECKS_DISABLED" ]]; then
|
|
DOKKU_QUIET_OUTPUT=1 config_unset --no-restart "$APP" DOKKU_CHECKS_DISABLED
|
|
else
|
|
DOKKU_QUIET_OUTPUT=1 config_set --no-restart "$APP" DOKKU_CHECKS_DISABLED="$DOKKU_CHECKS_DISABLED"
|
|
fi
|
|
|
|
if [[ -z "$DOKKU_CHECKS_SKIPPED" ]]; then
|
|
DOKKU_QUIET_OUTPUT=1 config_unset --no-restart "$APP" DOKKU_CHECKS_SKIPPED
|
|
else
|
|
DOKKU_QUIET_OUTPUT=1 config_set --no-restart "$APP" DOKKU_CHECKS_SKIPPED="$DOKKU_CHECKS_SKIPPED"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
cmd-checks-disable "$@"
|