Browse Source

Support running commands with runcmd

main
Fábio Kaiser Rauber 6 months ago
parent
commit
84032fd1c9
  1. 12
      main.go

12
main.go

@ -22,6 +22,7 @@ type CloudConfig struct {
Groups []string `yaml:"groups"` Groups []string `yaml:"groups"`
Users []CloudConfigUser `yaml:"users"` Users []CloudConfigUser `yaml:"users"`
WriteFiles []CloudConfigFile `yaml:"write_files"` WriteFiles []CloudConfigFile `yaml:"write_files"`
RunCmd []string `yaml:"runcmd"`
} }
type CloudConfigUser struct { 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 return nil
} }

Loading…
Cancel
Save