proxy/pkg/agent/proxy.go
2023-01-25 14:03:37 +03:00

49 lines
1.0 KiB
Go

// Copyright 2022 Listware
package agent
import (
"git.fg-tech.ru/listware/proxy/pkg/proxy"
"github.com/urfave/cli/v2"
)
var Proxy = &cli.App{
Name: "statefun-proxy",
Usage: "Flink's Stateful Functions Proxy",
Version: "v0.0.1",
Flags: []cli.Flag{
&cli.StringSliceFlag{
Name: "broker",
Usage: "Kafka broker URLs",
Value: cli.NewStringSlice("0.0.0.0:19092"),
EnvVars: []string{"KAFKA_BROKER"},
},
&cli.StringFlag{
Name: "listen",
Aliases: []string{"l"},
Usage: "Address to listen on",
Value: ":8801",
EnvVars: []string{"STATEFUN_PROXY_ADDR"},
},
&cli.BoolFlag{
Name: "debug",
Aliases: []string{"d"},
Usage: "Debug log level",
Value: false,
EnvVars: []string{"STATEFUN_PROXY_DEBUG"},
},
},
Action: func(ctx *cli.Context) (err error) {
p, err := proxy.New(proxy.WithAddr(ctx.String("listen")))
if err != nil {
return
}
if ctx.Bool("debug") {
if err = p.Configure(proxy.WithDebug()); err != nil {
return
}
}
return p.Run(ctx.Context)
},
}