mirror of
https://github.com/dokku/dokku.git
synced 2025-12-29 00:25:08 +01:00
47 lines
1.7 KiB
Bash
Executable File
47 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"
|
|
declare cmd="checks:enable"
|
|
[[ "$1" == "$cmd" ]] && shift 1
|
|
declare 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 "$@"
|