diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/minipaas/minipaas.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/internal/minipaas/minipaas.go b/internal/minipaas/minipaas.go index 5632c3c..e08c8f0 100644 --- a/internal/minipaas/minipaas.go +++ b/internal/minipaas/minipaas.go @@ -38,3 +38,28 @@ func Dial() (*ssh.Client, error) { return client, nil } + +// Exec runs an arbitrary dokku command with OS standard input, output and error. +func Exec(args string) error { + mp, err := Dial() + if err != nil { + return err + } + defer mp.Close() + + sess, err := mp.NewSession() + if err != nil { + return err + } + defer sess.Close() + sess.Stdin = os.Stdin + sess.Stdout = os.Stdout + sess.Stderr = os.Stderr + + err = sess.Run(args) + if err != nil { + return err + } + + return nil +} |
