mirror of
https://github.com/dokku/dokku.git
synced 2025-12-29 00:25:08 +01:00
Some things must pull *all* apps vs filtered apps (mostly things that write out config files or install triggers). Using an unflitered list is best. Also, we default to filtering, which should be what most usage needs.
62 lines
2.8 KiB
Bash
Executable File
62 lines
2.8 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 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)
|
|
|
|
for app in $(dokku_apps "false"); 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"
|
|
|
|
for app in $(dokku_apps "false"); 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 "$@"
|