warren/cmd/warren/cmd_warrend.go

57 lines
1.0 KiB
Go

package main
import (
"fmt"
"github.com/dballard/warren/lib/warren"
"log"
"net"
"os"
"strings"
// "os/exec"
// "time"
)
var regUsage = `
warren reg - Register a deployment directory for running
`
var regCmd = &warren.Command{
Name: "reg",
Usage: regUsage,
Summary: "Register a deployment directory for running",
Help: regUsage,
Run: warrendRun,
}
var statusUsage = `
warren status - Get the status from the warrend server
`
var statusCmd = &warren.Command{
Name: "status",
Usage: statusUsage,
Summary: "Get the status from the warrend server",
Help: statusUsage,
Run: warrendRun,
}
func warrendRun(cmd *warren.Command, args ...string) {
s, err := net.Dial(warren.CmdSockType, warren.CmdSockAddr)
if s != nil {
defer s.Close()
}
if err != nil {
log.Fatal("Error connecting to warrend:", err)
}
dir, _ := os.Getwd()
// pwd|arg1 arg2 arg3 ....
warren.WriteStringz(s, dir+"|"+cmd.Name+"|"+strings.Join(args, "|"))
resp, err := warren.ReadStringz(s)
if err != nil {
log.Fatal(err)
}
fmt.Println(resp)
}