diff --git a/cmd/client/main.go b/cmd/client/main.go index 91b767c..9c208b8 100644 --- a/cmd/client/main.go +++ b/cmd/client/main.go @@ -68,11 +68,16 @@ func (o *Options) Run(ctx context.Context, args []string) error { var targets []target if len(o.targetsFile) > 0 { - fin, err := os.Open(o.targetsFile) - if err != nil { - return err + var fin *os.File + if o.targetsFile == "-" { + fin = os.Stdin + } else { + fin, err = os.Open(o.targetsFile) + if err != nil { + return err + } + defer fin.Close() } - defer fin.Close() targets, err = parseTargetsFile(fin, ns) if err != nil { return err diff --git a/cmd/client/template.go b/cmd/client/template.go index 421ffb6..744fce6 100644 --- a/cmd/client/template.go +++ b/cmd/client/template.go @@ -34,6 +34,9 @@ func example() string { # Create the agent in the kube-public namespace, and forward local port 5000 to "1.2.3.4:5000" {{.Name}} --server.namespace kube-public ip/1.2.3.4 5000 + + # Forward traffic to multiple targets + echo 'ip/1.2.3.4 5000\nsvc/my-service 8080:80\n-n kube-system deploy/coredns 5353:53@udp' | {{.Name}} -f - ` tpl, err := template.New("example").Parse(text) if err != nil {