49 lines
1.0 KiB
Go
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)
|
|
},
|
|
}
|