cert-manager-webhook-sthome/pkg/dns/shell.go
2024-04-06 22:09:39 +02:00

25 lines
558 B
Go

package dns
import (
"bytes"
"os/exec"
"k8s.io/klog/v2"
)
func Execute(shell string, arg ...string) (bool, error) {
var outb, errb bytes.Buffer
cmd := exec.Command(shell, arg...)
cmd.Stdout = &outb
cmd.Stderr = &errb
err := cmd.Run()
if err != nil {
klog.Errorf("Script returned error: %s\nout:\n%serr:\n%s============\n", err, outb.String(), errb.String())
return false, err
}
klog.Infof("script stdout:\n%s\n", outb.String())
klog.Infof("script stderr:\n%s\n", errb.String())
klog.Infof("Script returned success\n")
return true, nil
}