github.com/nsqio/nsq@v1.3.0/nsqadmin/options.go (about)

     1  package nsqadmin
     2  
     3  import (
     4  	"time"
     5  
     6  	"github.com/nsqio/nsq/internal/lg"
     7  )
     8  
     9  type Options struct {
    10  	LogLevel  lg.LogLevel `flag:"log-level"`
    11  	LogPrefix string      `flag:"log-prefix"`
    12  	Logger    Logger
    13  
    14  	HTTPAddress string `flag:"http-address"`
    15  	BasePath    string `flag:"base-path"`
    16  
    17  	DevStaticDir string `flag:"dev-static-dir"`
    18  
    19  	GraphiteURL   string `flag:"graphite-url"`
    20  	ProxyGraphite bool   `flag:"proxy-graphite"`
    21  
    22  	StatsdPrefix        string `flag:"statsd-prefix"`
    23  	StatsdCounterFormat string `flag:"statsd-counter-format"`
    24  	StatsdGaugeFormat   string `flag:"statsd-gauge-format"`
    25  
    26  	StatsdInterval time.Duration `flag:"statsd-interval"`
    27  
    28  	NSQLookupdHTTPAddresses []string `flag:"lookupd-http-address" cfg:"nsqlookupd_http_addresses"`
    29  	NSQDHTTPAddresses       []string `flag:"nsqd-http-address" cfg:"nsqd_http_addresses"`
    30  
    31  	HTTPClientConnectTimeout time.Duration `flag:"http-client-connect-timeout"`
    32  	HTTPClientRequestTimeout time.Duration `flag:"http-client-request-timeout"`
    33  
    34  	HTTPClientTLSInsecureSkipVerify bool   `flag:"http-client-tls-insecure-skip-verify"`
    35  	HTTPClientTLSRootCAFile         string `flag:"http-client-tls-root-ca-file"`
    36  	HTTPClientTLSCert               string `flag:"http-client-tls-cert"`
    37  	HTTPClientTLSKey                string `flag:"http-client-tls-key"`
    38  
    39  	AllowConfigFromCIDR string `flag:"allow-config-from-cidr"`
    40  
    41  	NotificationHTTPEndpoint string `flag:"notification-http-endpoint"`
    42  
    43  	ACLHTTPHeader string   `flag:"acl-http-header"`
    44  	AdminUsers    []string `flag:"admin-user" cfg:"admin_users"`
    45  }
    46  
    47  func NewOptions() *Options {
    48  	return &Options{
    49  		LogPrefix:                "[nsqadmin] ",
    50  		LogLevel:                 lg.INFO,
    51  		HTTPAddress:              "0.0.0.0:4171",
    52  		BasePath:                 "/",
    53  		StatsdPrefix:             "nsq.%s",
    54  		StatsdCounterFormat:      "stats.counters.%s.count",
    55  		StatsdGaugeFormat:        "stats.gauges.%s",
    56  		StatsdInterval:           60 * time.Second,
    57  		HTTPClientConnectTimeout: 2 * time.Second,
    58  		HTTPClientRequestTimeout: 5 * time.Second,
    59  		AllowConfigFromCIDR:      "127.0.0.1/8",
    60  		ACLHTTPHeader:            "X-Forwarded-User",
    61  		AdminUsers:               []string{},
    62  	}
    63  }