Skip to content

Commit

Permalink
add insecure opt, fix cli command help
Browse files Browse the repository at this point in the history
  • Loading branch information
mehrdadrad committed Dec 16, 2020
1 parent 686ab59 commit 2ae2f83
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 6 deletions.
22 changes: 20 additions & 2 deletions cli.go
Expand Up @@ -53,6 +53,7 @@ type request struct {
// cmdReq represents grpc commands: add and delete
type cmdReq struct {
cmd string
insecure bool
addr string
labels string
interval string
Expand All @@ -69,6 +70,7 @@ func getCli(args []string) (*request, []string, error) {
&cli.StringFlag{Name: "interval", Aliases: []string{"i"}, Value: "5s", Usage: "time to wait after each request"},
&cli.StringFlag{Name: "addr", Aliases: []string{"d"}, Value: "localhost:8082", Usage: "tcpprobe grpc server address"},
&cli.StringFlag{Name: "labels", Aliases: []string{"l"}, Usage: "set labels"},
&cli.BoolFlag{Name: "insecure", Value: true, Usage: "don't validate the server's certificate"},
}

flags := []cli.Flag{
Expand All @@ -88,14 +90,14 @@ func getCli(args []string) (*request, []string, error) {
&cli.IntFlag{Name: "tos", Aliases: []string{"z"}, DefaultText: "depends on the OS", Usage: "set the IP type of service"},
&cli.IntFlag{Name: "ttl", Aliases: []string{"m"}, DefaultText: "depends on the OS", Usage: "set the IP time to live"},
&cli.IntFlag{Name: "socket-priority", Aliases: []string{"r"}, DefaultText: "depends on the OS", Usage: "set queuing discipline"},
&cli.IntFlag{Name: "mss", Aliases: []string{"M"}, DefaultText: "depends on the OS", Usage: "TCP max segment size"},
&cli.IntFlag{Name: "mss", Aliases: []string{"M"}, DefaultText: "depends on the OS", Usage: "TCP maximum segment size"},
&cli.StringFlag{Name: "congestion-alg", Aliases: []string{}, DefaultText: "depends on the OS", Usage: "TCP congestion control algorithm"},
&cli.IntFlag{Name: "send-buffer", Aliases: []string{}, DefaultText: "depends on the OS", Usage: "maximum socket send buffer in bytes"},
&cli.IntFlag{Name: "rcvd-buffer", Aliases: []string{}, DefaultText: "depends on the OS", Usage: "maximum socket receive buffer in bytes"},
&cli.BoolFlag{Name: "tcp-nodelay-disabled", Aliases: []string{"o"}, Usage: "disable Nagle's algorithm"},
&cli.BoolFlag{Name: "tcp-quickack-disabled", Aliases: []string{"k"}, Usage: "disable quickack mode"},
&cli.BoolFlag{Name: "k8s", Usage: "enable k8s"},
&cli.StringFlag{Name: "namespace", Aliases: []string{"default"}, Usage: "kubernetes namespace"},
&cli.StringFlag{Name: "namespace", Value: "default", Usage: "kubernetes namespace"},
&cli.BoolFlag{Name: "quiet", Aliases: []string{"q"}, Usage: "turn off tcpprobe output"},
&cli.BoolFlag{Name: "json", Usage: "print in json format"},
&cli.BoolFlag{Name: "json-pretty", Usage: "pretty print in json format"},
Expand All @@ -115,11 +117,19 @@ func getCli(args []string) (*request, []string, error) {
Action: func(c *cli.Context) error {
r.cmd = &cmdReq{
cmd: "add",
insecure: c.Bool("insecure"),
addr: c.String("addr"),
interval: c.String("interval"),
labels: c.String("labels"),
args: c.Args().Slice(),
}

targets = c.Args().Slice()
if len(targets) < 1 {
cli.ShowCommandHelp(c, "add")
return errors.New("configuration not specified")
}

return nil
},
},
Expand All @@ -130,11 +140,19 @@ func getCli(args []string) (*request, []string, error) {
Action: func(c *cli.Context) error {
r.cmd = &cmdReq{
cmd: "del",
insecure: c.Bool("insecure"),
addr: c.String("addr"),
interval: c.String("interval"),
labels: c.String("labels"),
args: c.Args().Slice(),
}

targets = c.Args().Slice()
if len(targets) < 1 {
cli.ShowCommandHelp(c, "del")
return errors.New("configuration not specified")
}

return nil
},
},
Expand Down
16 changes: 12 additions & 4 deletions grpc.go
Expand Up @@ -5,6 +5,7 @@ import (
"encoding/json"
"log"
"net"
"time"

pb "github.com/mehrdadrad/tcpprobe/proto"
"google.golang.org/grpc"
Expand Down Expand Up @@ -58,11 +59,19 @@ func grpcServer(tp *tp, req *request) {

func grpcClient(req *request) {
var (
opts = []grpc.DialOption{}
resp *pb.Response
err error
)

conn, err := grpc.Dial(req.cmd.addr, grpc.WithInsecure())
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()

if req.cmd.insecure {
opts = append(opts, grpc.WithInsecure())
}

conn, err := grpc.Dial(req.cmd.addr, opts...)
if err != nil {
log.Fatal(err)
}
Expand All @@ -79,11 +88,10 @@ func grpcClient(req *request) {
Labels: labels,
}
if req.cmd.cmd != "del" {
resp, err = c.Add(context.TODO(), pt)
resp, err = c.Add(ctx, pt)

} else {
resp, err = c.Delete(context.TODO(), pt)

resp, err = c.Delete(ctx, pt)
}

if err != nil {
Expand Down

0 comments on commit 2ae2f83

Please sign in to comment.