mirror of
https://github.com/dokku/dokku.git
synced 2025-12-25 16:29:30 +01:00
68 lines
2.9 KiB
Bash
Executable File
68 lines
2.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/config/functions"
|
|
|
|
migrate_checks_vars_0_5_0() {
|
|
declare desc="migrates deprecated CHECKS config variables to simplified counter part introduced in 0.5.x"
|
|
local APPS="$(dokku_apps)"
|
|
local GLOBAL_SKIP_ALL_CHECKS=$(config_get --global DOKKU_SKIP_ALL_CHECKS || true)
|
|
local GLOBAL_SKIP_DEFAULT_CHECKS=$(config_get --global DOKKU_SKIP_DEFAULT_CHECKS || true)
|
|
|
|
local app
|
|
|
|
for app in $APPS; do
|
|
local APP_SKIP_ALL_CHECKS=$(config_get "$app" DOKKU_SKIP_ALL_CHECKS || true)
|
|
local APP_SKIP_DEFAULT_CHECKS=$(config_get "$app" DOKKU_SKIP_DEFAULT_CHECKS || true)
|
|
|
|
if [[ "$APP_SKIP_ALL_CHECKS" == "true" ]] || [[ "$APP_SKIP_DEFAULT_CHECKS" == "true" ]] || [[ "$GLOBAL_SKIP_ALL_CHECKS" == "true" ]] || [[ "$GLOBAL_SKIP_DEFAULT_CHECKS" == "true" ]]; then
|
|
dokku_log_info1 "Migrating zero downtime env variables to 0.5.x. The following variables have been deprecated"
|
|
dokku_log_info2 "DOKKU_SKIP_ALL_CHECKS DOKKU_SKIP_DEFAULT_CHECKS"
|
|
dokku_log_info2 "Please use dokku checks:[disable|enable] <app> to control zero downtime functionality"
|
|
dokku_log_info2 ""
|
|
dokku_log_info2 "Zero downtime checks disabled for app ($app)"
|
|
DOKKU_QUIET_OUTPUT=1 config_set --no-restart "$app" DOKKU_CHECKS_ENABLED=0
|
|
fi
|
|
if [[ -n "$APP_SKIP_ALL_CHECKS" ]] || [[ -n "$APP_SKIP_DEFAULT_CHECKS" ]]; then
|
|
DOKKU_QUIET_OUTPUT=1 config_unset --no-restart "$app" DOKKU_SKIP_ALL_CHECKS DOKKU_SKIP_DEFAULT_CHECKS
|
|
fi
|
|
done
|
|
|
|
if [[ -n "$GLOBAL_SKIP_ALL_CHECKS" ]] || [[ -n "$GLOBAL_SKIP_DEFAULT_CHECKS" ]]; then
|
|
dokku_log_info1 "Removing global zero downtime settings"
|
|
DOKKU_QUIET_OUTPUT=1 config_unset --global DOKKU_SKIP_ALL_CHECKS DOKKU_SKIP_DEFAULT_CHECKS
|
|
fi
|
|
}
|
|
|
|
migrate_checks_vars_0_6_0() {
|
|
declare desc="migrates CHECKS config variables from 0.5.x to support fully-disabled zero-downtime checks"
|
|
local APPS="$(dokku_apps)"
|
|
|
|
local app
|
|
|
|
for app in $APPS; do
|
|
local APP_DOKKU_CHECKS_ENABLED=$(config_get "$app" DOKKU_CHECKS_ENABLED || true)
|
|
if [[ $APP_DOKKU_CHECKS_ENABLED ]]; then
|
|
dokku_log_info1 "Migrating zero downtime env variables to 0.6.x. The following variables will be migrated"
|
|
dokku_log_info2 "DOKKU_CHECKS_ENABLED -> DOKKU_CHECKS_SKIPPED"
|
|
if [[ "$APP_DOKKU_CHECKS_ENABLED" == "0" ]]; then
|
|
dokku_log_info2 ""
|
|
dokku_log_info2 "Zero downtime checks disabled for app ($app)"
|
|
DOKKU_QUIET_OUTPUT=1 config_set --no-restart "$app" DOKKU_CHECKS_SKIPPED="_all_"
|
|
fi
|
|
DOKKU_QUIET_OUTPUT=1 config_unset --no-restart "$app" DOKKU_CHECKS_ENABLED || true
|
|
fi
|
|
done
|
|
}
|
|
|
|
trigger-checks-install() {
|
|
declare desc="installs the checks plugin"
|
|
declare trigger="install"
|
|
|
|
migrate_checks_vars_0_5_0 "$@"
|
|
migrate_checks_vars_0_6_0 "$@"
|
|
}
|
|
|
|
trigger-checks-install "$@"
|