From 84032fd1c94d59af4543e60d93e07f88b29c97f7 Mon Sep 17 00:00:00 2001 From: Fabio Rauber Date: Wed, 12 Feb 2025 17:24:27 -0300 Subject: [PATCH] Support running commands with runcmd --- main.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/main.go b/main.go index 6642d18..0313661 100644 --- a/main.go +++ b/main.go @@ -22,6 +22,7 @@ type CloudConfig struct { Groups []string `yaml:"groups"` Users []CloudConfigUser `yaml:"users"` WriteFiles []CloudConfigFile `yaml:"write_files"` + RunCmd []string `yaml:"runcmd"` } type CloudConfigUser struct { @@ -209,6 +210,17 @@ func processUserData(configDriveDir string) error { } } + // Run commands + for _, cmd := range cc.RunCmd { + cmdArgs := strings.Fields(cmd) + output, err := exec.Command(cmdArgs[0], cmdArgs[1:]...).CombinedOutput() + if err != nil { + log.Printf("Error running command '%s': %s\n%s", cmd, err, output) + } else { + log.Printf("Ran command '%s' successfully.\n%s ", cmd, output) + } + } + return nil }