Files
indra/pkg/rpc/flags.go
2023-03-04 07:47:58 +00:00

51 lines
1.2 KiB
Go

package rpc
import (
"github.com/spf13/cobra"
"github.com/spf13/viper"
)
var (
UnixPathFlag = "rpc-unix-listen"
TunEnableFlag = "rpc-tun-enable"
TunPortFlag = "rpc-tun-port"
TunPeersFlag = "rpc-tun-peer"
)
var (
unixPath string
tunEnabled bool = false
tunPort int = 0
tunPeersRaw = []string{}
)
func InitFlags(cmd *cobra.Command) {
cmd.PersistentFlags().StringVarP(&unixPath, UnixPathFlag, "",
"",
"binds to a unix socket with path (default is $HOME/.indra/indra.sock)",
)
viper.BindPFlag(UnixPathFlag, cmd.PersistentFlags().Lookup(UnixPathFlag))
cmd.PersistentFlags().BoolVarP(&tunEnabled, TunEnableFlag, "",
false,
"enables the rpc server tunnel (default false)",
)
viper.BindPFlag(TunEnableFlag, cmd.PersistentFlags().Lookup(TunEnableFlag))
cmd.PersistentFlags().IntVarP(&tunPort, TunPortFlag, "",
tunPort,
"binds the udp server to port (random if not selected)",
)
viper.BindPFlag(TunPortFlag, cmd.PersistentFlags().Lookup(TunPortFlag))
cmd.PersistentFlags().StringSliceVarP(&tunPeersRaw, TunPeersFlag, "",
tunPeersRaw,
"adds a peer id to the whitelist for access",
)
viper.BindPFlag(TunPeersFlag, cmd.PersistentFlags().Lookup(TunPeersFlag))
}