| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package flags
- import (
- "gopkg.in/alecthomas/kingpin.v2"
- "inet.af/netaddr"
- "k8s.io/klog/v2"
- "os"
- "strings"
- )
- var (
- ListenAddress = kingpin.Flag("listen", "Listen address - ip:port or :port").Default("0.0.0.0:80").String()
- CgroupRoot = kingpin.Flag("cgroupfs-root", "The mount point of the host cgroupfs root").Default("/sys/fs/cgroup").String()
- DisableLogParsing = kingpin.Flag("disable-log-parsing", "Disable container log parsing").Default("false").Bool()
- DisablePinger = kingpin.Flag("disable-pinger", "Don't ping upstreams").Default("false").Bool()
- DisableL7Tracing = kingpin.Flag("disable-l7-tracing", "Disable L7 tracing").Default("false").Bool()
- externalNetworksWhitelist = kingpin.Flag("track-public-network", "Allow track connections to the specified IP networks, all private networks are allowed by default (e.g., Y.Y.Y.Y/mask)").Strings()
- ExternalNetworksWhitelist []netaddr.IPPrefix
- Provider = kingpin.Flag("provider", "`provider` label for `node_cloud_info` metric").String()
- Region = kingpin.Flag("region", "`region` label for `node_cloud_info` metric").String()
- AvailabilityZone = kingpin.Flag("availability-zone", "`availability_zone` label for `node_cloud_info` metric").String()
- )
- func GetString(fl *string) string {
- if fl == nil {
- return ""
- }
- return *fl
- }
- func init() {
- if strings.HasSuffix(os.Args[0], ".test") {
- return
- }
- kingpin.HelpFlag.Short('h').Hidden()
- kingpin.Parse()
- if externalNetworksWhitelist != nil {
- for _, prefix := range *externalNetworksWhitelist {
- p, err := netaddr.ParseIPPrefix(prefix)
- if err != nil {
- klog.Fatalf("invalid network %s: %s", prefix, err)
- }
- ExternalNetworksWhitelist = append(ExternalNetworksWhitelist, p)
- }
- }
- }
|