73 lines
1.5 KiB
Go
73 lines
1.5 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/dballard/warren/lib/warren"
|
|
"log"
|
|
"net"
|
|
"os"
|
|
"strings"
|
|
"bufio"
|
|
// "os/exec"
|
|
// "time"
|
|
)
|
|
|
|
var regCmd = &warren.Command{
|
|
Name: "reg",
|
|
Summary: "Register a deployment directory for running",
|
|
Run: warrendRun,
|
|
}
|
|
|
|
var unregUsage = `
|
|
warren unreg DEPLOYMENT_DIR
|
|
warren unreg NICKNAME
|
|
`
|
|
var unregCmd = &warren.Command{
|
|
Name: "unreg",
|
|
Summary: "Unregister a deployment directory and stop it running",
|
|
Run: warrendRun,
|
|
}
|
|
|
|
var listUsage = `
|
|
warren list - Get the status from the warrend server
|
|
`
|
|
var listCmd = &warren.Command{
|
|
Name: "list",
|
|
Usage: listUsage,
|
|
Summary: "Get a list of deployments from the warrend server",
|
|
Run: warrendRun,
|
|
}
|
|
|
|
var poolUsage = `
|
|
warren pool - Get/set the pool range for a deployment
|
|
`
|
|
var poolCmd = &warren.Command{
|
|
Name: "pool",
|
|
Usage: poolUsage,
|
|
Summary: "warren pool - Get/set the pool range for a deployment",
|
|
Run: warrendRun,
|
|
}
|
|
|
|
func warrendRun(cmd *warren.Command, args ...string) {
|
|
|
|
sock, err := net.Dial(warren.CmdSockType, warren.CmdSockAddr)
|
|
if sock != nil {
|
|
defer sock.Close()
|
|
}
|
|
if err != nil {
|
|
log.Fatal("Error connecting to warrend:", err)
|
|
}
|
|
dir, _ := os.Getwd()
|
|
// pwd|arg1 arg2 arg3 ....
|
|
writer := bufio.NewWriter(sock)
|
|
writer.WriteString(dir+"/|"+cmd.Name+"|"+strings.Join(args, "|") +"\n")
|
|
writer.Flush()
|
|
reader := bufio.NewReader(sock)
|
|
|
|
if resp, err := reader.ReadString(0); err == nil {
|
|
fmt.Println(resp)
|
|
} else {
|
|
fmt.Println("not ok")
|
|
}
|
|
}
|