config

package
v1.6.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2022 License: MIT Imports: 15 Imported by: 111

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LocalIP added in v1.0.6

func LocalIP() (net.IP, error)

LocalIP tries to determine a non-loopback address for the local machine

func LocalIPString added in v1.0.6

func LocalIPString() string

Types

type AuthScheme added in v1.5.11

type AuthScheme struct {
	Name  string
	Type  string
	Basic BasicAuth
}

type BGP added in v1.6.3

type BGP struct {
	BGPEnabled        bool
	Asn               uint
	AnycastAddresses  []string
	RouterID          string
	ListenPort        int
	ListenAddresses   []string
	Peers             []BGPPeer
	EnableGRPC        bool
	GRPCListenAddress string
	GRPCTLS           bool
	CertFile          string
	KeyFile           string
	GOBGPDCfgFile     string
	NextHop           string
}

type BGPPeer added in v1.6.3

type BGPPeer struct {
	NeighborAddress string
	NeighborPort    uint
	Asn             uint
	MultiHop        bool
	MultiHopLength  uint
	Password        string
}

type BasicAuth added in v1.5.11

type BasicAuth struct {
	Realm   string
	File    string
	Refresh time.Duration
	ModTime time.Time // the htpasswd file last modification time
}

type CertSource added in v1.2.1

type CertSource struct {
	Name            string
	Type            string
	CertPath        string
	KeyPath         string
	ClientCAPath    string
	CAUpgradeCN     string
	Refresh         time.Duration
	Header          http.Header
	VaultFetchToken string
}

type Circonus added in v1.3.6

type Circonus struct {
	APIKey        string
	APIApp        string
	APIURL        string
	CheckID       string
	BrokerID      string
	SubmissionURL string
}

type Config

type Config struct {
	Proxy                Proxy
	Registry             Registry
	Listen               []Listen
	Log                  Log
	Metrics              Metrics
	UI                   UI
	Runtime              Runtime
	Tracing              Tracing
	ProfileMode          string
	ProfilePath          string
	Insecure             bool
	GlobMatchingDisabled bool
	GlobCacheSize        int
	BGP                  BGP
}

func Load added in v1.1.1

func Load(args, environ []string) (cfg *Config, err error)

type Consul

type Consul struct {
	Addr               string
	Scheme             string
	Token              string
	KVPath             string
	NoRouteHTMLPath    string
	TagPrefix          string
	Register           bool
	ServiceAddr        string
	ServiceName        string
	ServiceTags        []string
	ServiceStatus      []string
	CheckInterval      time.Duration
	CheckTimeout       time.Duration
	CheckScheme        string
	CheckTLSSkipVerify bool
	ChecksRequired     string
	ServiceMonitors    int
	TLS                ConsulTlS
	PollInterval       time.Duration
	RequireConsistent  bool
	AllowStale         bool
}

type ConsulTlS added in v1.5.14

type ConsulTlS struct {
	KeyFile            string
	CertFile           string
	CAFile             string
	CAPath             string
	InsecureSkipVerify bool
}

type Custom added in v1.5.14

type Custom struct {
	Host               string
	Path               string
	QueryParams        string
	Scheme             string
	CheckTLSSkipVerify bool
	PollInterval       time.Duration
	NoRouteHTML        string
	Timeout            time.Duration
}

type File added in v1.1.1

type File struct {
	NoRouteHTMLPath string
	RoutesPath      string
}

type FlagSet added in v1.2.1

type FlagSet struct {
	flag.FlagSet
	// contains filtered or unexported fields
}

-- FlagSet

func NewFlagSet added in v1.2.1

func NewFlagSet(name string, errorHandling flag.ErrorHandling) *FlagSet

func (*FlagSet) FloatSliceVar added in v1.6.0

func (f *FlagSet) FloatSliceVar(p *[]float64, name string, value []float64, usage string)

func (*FlagSet) IsSet added in v1.2.1

func (f *FlagSet) IsSet(name string) bool

IsSet returns true if a variable was set via any mechanism.

func (*FlagSet) ParseFlags added in v1.2.1

func (f *FlagSet) ParseFlags(args, environ, prefixes []string, p *properties.Properties) error

ParseFlags parses command line arguments and provides fallback values from environment variables and config file values. Environment variables are case-insensitive and can have either of the provided prefixes.

func (*FlagSet) StringSliceVar added in v1.2.1

func (f *FlagSet) StringSliceVar(p *[]string, name string, value []string, usage string)

type Listen

type Listen struct {
	Addr               string
	Proto              string
	ReadTimeout        time.Duration
	WriteTimeout       time.Duration
	IdleTimeout        time.Duration
	CertSource         CertSource
	StrictMatch        bool
	TLSMinVersion      uint16
	TLSMaxVersion      uint16
	TLSCiphers         []uint16
	ProxyProto         bool
	ProxyHeaderTimeout time.Duration
	Refresh            time.Duration
}

type Log added in v1.4.1

type Log struct {
	AccessFormat string
	AccessTarget string
	RoutesFormat string
	Level        string
}

type Metrics

type Metrics struct {
	Target        string
	Prefix        string
	Names         string
	Interval      time.Duration
	Timeout       time.Duration
	Retry         time.Duration
	GraphiteAddr  string
	StatsDAddr    string
	DogstatsdAddr string
	Circonus      Circonus
	Prometheus    Prometheus
}

type Prometheus added in v1.6.0

type Prometheus struct {
	Subsystem string
	Path      string
	Buckets   []float64
}

type Proxy

type Proxy struct {
	Strategy              string
	Matcher               string
	NoRouteStatus         int
	MaxConn               int
	ShutdownWait          time.Duration
	DeregisterGracePeriod time.Duration
	DialTimeout           time.Duration
	ResponseHeaderTimeout time.Duration
	KeepAliveTimeout      time.Duration
	IdleConnTimeout       time.Duration
	FlushInterval         time.Duration
	GlobalFlushInterval   time.Duration
	LocalIP               string
	ClientIPHeader        string
	TLSHeader             string
	TLSHeaderValue        string
	GZIPContentTypes      *regexp.Regexp
	RequestID             string
	STSHeader             STSHeader
	AuthSchemes           map[string]AuthScheme
	GRPCMaxRxMsgSize      int
	GRPCMaxTxMsgSize      int
}

type Registry added in v1.1.1

type Registry struct {
	Backend string
	Static  Static
	File    File
	Consul  Consul
	Custom  Custom
	Timeout time.Duration
	Retry   time.Duration
}

type RoutingTable added in v1.6.3

type RoutingTable struct {
	Source Source
}

type Runtime

type Runtime struct {
	GOGC       int
	GOMAXPROCS int
}

type STSHeader added in v1.5.11

type STSHeader struct {
	MaxAge     int
	Subdomains bool
	Preload    bool
}

type Source added in v1.6.3

type Source struct {
	LinkEnabled bool
	NewTab      bool
	Scheme      string
	Host        string
	Port        string
}

type Static added in v1.1.1

type Static struct {
	NoRouteHTML string
	Routes      string
}

type Tracing added in v1.5.11

type Tracing struct {
	TracingEnabled bool
	CollectorType  string
	ConnectString  string
	ServiceName    string
	Topic          string
	SamplerRate    float64
	SpanHost       string
	SpanName       string
	TraceID128Bit  bool
}

type UI

type UI struct {
	Listen       Listen
	Color        string
	Title        string
	Access       string
	RoutingTable RoutingTable
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL