feat: implement proxy-clear-config

This will allow us to kill stale proxy configuration within apps, which is critical during application renames.

- redirect rmdir output to dev-null
- trigger a proxy-clear-config (new trigger) when renaming an application
  - The configuration will be rebuilt during the later `ps_rebuild`

Closes #3231
This commit is contained in:
Jose Diaz-Gonzalez
2018-07-26 09:53:56 -04:00
parent df834f41f3
commit 66b2fb602f
6 changed files with 59 additions and 1 deletions

View File

@@ -26,3 +26,9 @@ nginx_vhosts_help_cmd() {
help_desc
fi
}
nginx_clear_config() {
declare desc="Remove the nginx conf file"
declare APP="$1";
rm -f "$DOKKU_ROOT/$APP/nginx.conf"
}

View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$PLUGIN_AVAILABLE_PATH/nginx-vhosts/internal-functions"
source "$PLUGIN_AVAILABLE_PATH/proxy/functions"
trigger-nginx-vhosts-clear-config() {
declare desc="clear nginx config for proxy app containers from command line"
declare trigger="trigger-nginx-vhosts-clear-config"
declare APP="$1"
[[ -z "$APP" ]] && dokku_log_fail "Please specify an app to run the command on"
if [[ "$(get_app_proxy_type "$APP")" = "nginx" ]]; then
plugn trigger network-clear-config "$APP"
nginx_clear_config "$APP"
fi
}
trigger-nginx-vhosts-clear-config "$@"