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.
46 lines
1.7 KiB
Bash
Executable File
46 lines
1.7 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-enable() {
|
|
declare desc="enable zero-downtime checks for app/proctypes"
|
|
local cmd="checks:enable"
|
|
[[ "$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 "Enabling zero downtime for app's ($APP)"
|
|
DOKKU_QUIET_OUTPUT=1 config_unset --no-restart "$APP" DOKKU_CHECKS_DISABLED
|
|
DOKKU_QUIET_OUTPUT=1 config_unset --no-restart "$APP" DOKKU_CHECKS_SKIPPED
|
|
else
|
|
dokku_log_info1 "Enabling zero downtime for app's ($APP) proctypes ($PROCTYPES)"
|
|
local PROCTYPE OIFS="$IFS" IFS=,
|
|
for PROCTYPE in $PROCTYPES; do
|
|
DOKKU_CHECKS_DISABLED="$(remove_val_from_list "$PROCTYPE" "$DOKKU_CHECKS_DISABLED")"
|
|
DOKKU_CHECKS_SKIPPED="$(remove_val_from_list "$PROCTYPE" "$DOKKU_CHECKS_SKIPPED")"
|
|
done
|
|
|
|
IFS="$OIFS"
|
|
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-enable "$@"
|