From 2c85a708989624df6bb9eca0a77ceeda8cf05f28 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Fri, 5 Oct 2018 14:11:00 -0700 Subject: internal/minipaas: add Exec function --- internal/minipaas/minipaas.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'internal') 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 +} -- cgit v1.2.3