diff --git a/plugins/config/Makefile b/plugins/config/Makefile index 86ffcb36b..0cf396bd8 100644 --- a/plugins/config/Makefile +++ b/plugins/config/Makefile @@ -1,6 +1,6 @@ GOARCH ?= amd64 SUBCOMMANDS = subcommands/bundle subcommands/clear subcommands/export subcommands/get subcommands/keys subcommands/show subcommands/set subcommands/unset -TRIGGERS = triggers/config-export triggers/config-get triggers/config-get-global triggers/post-app-clone-setup triggers/post-app-rename-setup +TRIGGERS = triggers/config-export triggers/config-get triggers/config-get-global triggers/config-unset triggers/post-app-clone-setup triggers/post-app-rename-setup BUILD = commands config_sub subcommands triggers PLUGIN_NAME = config diff --git a/plugins/config/src/triggers/triggers.go b/plugins/config/src/triggers/triggers.go index 1f8f58732..96e95d455 100644 --- a/plugins/config/src/triggers/triggers.go +++ b/plugins/config/src/triggers/triggers.go @@ -24,7 +24,7 @@ func main() { global := flag.Arg(1) merged := flag.Arg(2) format := flag.Arg(3) - config.TriggerConfigExport(appName, global, merged, format) + err = config.TriggerConfigExport(appName, global, merged, format) case "config-get": appName := flag.Arg(0) key := flag.Arg(1) @@ -36,6 +36,16 @@ func main() { case "config-get-global": key := flag.Arg(0) err = config.TriggerConfigGetGlobal(key) + case "config-unset": + appName := flag.Arg(0) + key := flag.Arg(1) + restart := flag.Arg(2) + if *global { + appName = "--global" + key = flag.Arg(0) + restart = flag.Arg(1) + } + err = config.TriggerConfigUnset(appName, key, common.ToBool(restart)) case "post-app-clone-setup": oldAppName := flag.Arg(0) newAppName := flag.Arg(1) diff --git a/plugins/config/triggers.go b/plugins/config/triggers.go index af96d114c..b0c3a57f3 100644 --- a/plugins/config/triggers.go +++ b/plugins/config/triggers.go @@ -45,6 +45,12 @@ func TriggerConfigGetGlobal(key string) error { return nil } +// TriggerConfigUnset unsets an app config value by key +func TriggerConfigUnset(appName string, key string, restart bool) error { + UnsetMany(appName, []string{key}, restart) + return nil +} + // TriggerPostAppCloneSetup creates new buildpacks files func TriggerPostAppCloneSetup(oldAppName string, newAppName string) error { oldEnv, err := LoadAppEnv(oldAppName)