mirror of
https://github.com/dokku/dokku.git
synced 2026-02-24 04:00:36 +01:00
[config] trigger app restart through plugn rather than exec
This commit is contained in:
@@ -48,14 +48,12 @@ func SetMany(appName string, entries map[string]string, restart bool) {
|
||||
}
|
||||
|
||||
if !global && restart && env.GetBoolDefault("DOKKU_APP_RESTORE", true) {
|
||||
common.LogInfo1(fmt.Sprintf("Restarting app %s", appName))
|
||||
cmd := common.NewTokenizedShellCmd("dokku", "ps:restart", appName)
|
||||
cmd.Execute()
|
||||
Restart(appName)
|
||||
}
|
||||
}
|
||||
|
||||
//Unset a value in a config. If appName is empty the global config is used. If restart is true the app is restarted.
|
||||
func Unset(appName string, keys []string, restart bool) {
|
||||
//UnsetMany a value in a config. If appName is empty the global config is used. If restart is true the app is restarted.
|
||||
func UnsetMany(appName string, keys []string, restart bool) {
|
||||
global := appName == ""
|
||||
env := GetConfig(appName, false)
|
||||
var changed = false
|
||||
@@ -72,9 +70,7 @@ func Unset(appName string, keys []string, restart bool) {
|
||||
}
|
||||
|
||||
if !global && restart && env.GetBoolDefault("DOKKU_APP_RESTORE", true) {
|
||||
common.LogInfo1(fmt.Sprintf("Restarting app %s", appName))
|
||||
cmd := common.NewTokenizedShellCmd("dokku", "ps:restart", appName)
|
||||
cmd.Execute()
|
||||
Restart(appName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,6 +121,12 @@ func GetConfig(appName string, merged bool) *configenv.Env {
|
||||
return env
|
||||
}
|
||||
|
||||
//Restart trigger restart on app
|
||||
func Restart(appName string) {
|
||||
common.LogInfo1(fmt.Sprintf("Restarting app %s", appName))
|
||||
common.PlugnTrigger("app-restart", appName)
|
||||
}
|
||||
|
||||
func loadConfig(appName string) (*configenv.Env, error) {
|
||||
if appName == "" || appName == "--global" {
|
||||
return configenv.LoadGlobal()
|
||||
|
||||
@@ -15,5 +15,5 @@ func main() {
|
||||
|
||||
args.Parse(os.Args[2:])
|
||||
appName, keys := config.GetCommonArgs(*global, args.Args())
|
||||
config.Unset(appName, keys, !*noRestart)
|
||||
config.UnsetMany(appName, keys, !*noRestart)
|
||||
}
|
||||
|
||||
14
plugins/ps/app-restart
Executable file
14
plugins/ps/app-restart
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
||||
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
||||
source "$PLUGIN_AVAILABLE_PATH/ps/functions"
|
||||
|
||||
ps_app_restart() {
|
||||
declare desc="ps app-restart plugin trigger"
|
||||
local trigger="ps_app_restart"
|
||||
local APP="$1";
|
||||
|
||||
ps_restart "$APP"
|
||||
}
|
||||
|
||||
ps_app_restart "$@"
|
||||
Reference in New Issue
Block a user