feat: add post-create support for env key in app.json

Closes #4498
This commit is contained in:
Jose Diaz-Gonzalez
2026-01-07 03:21:04 -05:00
parent ad00918891
commit 34c336c668
14 changed files with 653 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
GOARCH ?= amd64
SUBCOMMANDS = subcommands/bundle subcommands/clear subcommands/export subcommands/get subcommands/import subcommands/keys subcommands/show subcommands/set subcommands/unset
TRIGGERS = triggers/config-export triggers/config-get triggers/config-get-global triggers/config-unset triggers/post-app-clone-setup triggers/post-app-rename-setup
TRIGGERS = triggers/config-export triggers/config-get triggers/config-get-global triggers/config-set triggers/config-unset triggers/post-app-clone-setup triggers/post-app-rename-setup
BUILD = commands config_sub subcommands triggers
PLUGIN_NAME = config

View File

@@ -65,3 +65,14 @@ config_bundle() {
declare desc="export tar bundle of config"
config_sub bundle "$@"
}
fn-config-set() {
declare desc="set config values via trigger (supports --no-restart)"
declare APP="$1" NO_RESTART="$2"
shift 2
if [[ "$NO_RESTART" == "true" ]]; then
plugn trigger config-set --no-restart "$APP" "$@"
else
plugn trigger config-set "$APP" "$@"
fi
}

View File

@@ -15,6 +15,7 @@ func main() {
parts := strings.Split(os.Args[0], "/")
trigger := parts[len(parts)-1]
global := flag.Bool("global", false, "--global: Whether global or app-specific")
noRestart := flag.Bool("no-restart", false, "--no-restart: Whether to skip restart")
flag.Parse()
var err error
@@ -36,6 +37,10 @@ func main() {
case "config-get-global":
key := flag.Arg(0)
err = config.TriggerConfigGetGlobal(key)
case "config-set":
appName := flag.Arg(0)
pairs := flag.Args()[1:]
err = config.TriggerConfigSet(appName, *noRestart, pairs...)
case "config-unset":
appName := flag.Arg(0)
key := flag.Arg(1)

View File

@@ -45,6 +45,11 @@ func TriggerConfigGetGlobal(key string) error {
return nil
}
// TriggerConfigSet sets config values for an app
func TriggerConfigSet(appName string, noRestart bool, pairs ...string) error {
return SubSet(appName, pairs, noRestart, false)
}
// TriggerConfigUnset unsets an app config value by key
func TriggerConfigUnset(appName string, key string, restart bool) error {
UnsetMany(appName, []string{key}, restart)