Documentation
¶
Index ¶
- Constants
- func CanonicalDomain(domain string) string
- func MatchDomain(domain string, certDomain string) bool
- type AccessLog
- type AccessLogFields
- type AccessLogFilters
- type ClientTLS
- type DataDog
- type Domain
- type Domains
- type Duration
- func (d *Duration) Get() interface{}
- func (d *Duration) MarshalJSON() ([]byte, error)
- func (d *Duration) MarshalText() ([]byte, error)
- func (d *Duration) Set(s string) error
- func (d *Duration) SetValue(val interface{})
- func (d *Duration) String() string
- func (d *Duration) UnmarshalJSON(text []byte) error
- func (d *Duration) UnmarshalText(text []byte) error
- type FieldHeaders
- type HTTPCodeRanges
- type HostResolverConfig
- type InfluxDB
- type Metrics
- type Prometheus
- type RouteAppender
- type Statistics
- type Statsd
- type TraefikLog
Constants ¶
const ( // AccessLogKeep is the keep string value AccessLogKeep = "keep" // AccessLogDrop is the drop string value AccessLogDrop = "drop" // AccessLogRedact is the redact string value AccessLogRedact = "redact" )
const ( // CommonFormat is the common logging format (CLF). CommonFormat string = "common" // JSONFormat is the JSON logging format. JSONFormat string = "json" )
Variables ¶
This section is empty.
Functions ¶
func CanonicalDomain ¶
CanonicalDomain returns a lower case domain with trim space.
func MatchDomain ¶
MatchDomain returns true if a domain match the cert domain.
Types ¶
type AccessLog ¶
type AccessLog struct {
FilePath string `` /* 165-byte string literal not displayed */
Format string `` /* 132-byte string literal not displayed */
Filters *AccessLogFilters `` /* 162-byte string literal not displayed */
Fields *AccessLogFields `description:"AccessLogFields." json:"fields,omitempty" toml:"fields,omitempty" yaml:"fields,omitempty" export:"true"`
BufferingSize int64 `` /* 177-byte string literal not displayed */
}
AccessLog holds the configuration settings for the access logger (middlewares/accesslog).
func (*AccessLog) SetDefaults ¶
func (l *AccessLog) SetDefaults()
SetDefaults sets the default values.
type AccessLogFields ¶
type AccessLogFields struct {
DefaultMode string `` /* 152-byte string literal not displayed */
Names map[string]string `` /* 144-byte string literal not displayed */
Headers *FieldHeaders `` /* 134-byte string literal not displayed */
}
AccessLogFields holds configuration for access log fields
func (*AccessLogFields) Keep ¶
func (f *AccessLogFields) Keep(field string) bool
Keep check if the field need to be kept or dropped
func (*AccessLogFields) KeepHeader ¶
func (f *AccessLogFields) KeepHeader(header string) string
KeepHeader checks if the headers need to be kept, dropped or redacted and returns the status
func (*AccessLogFields) SetDefaults ¶
func (f *AccessLogFields) SetDefaults()
SetDefaults sets the default values.
type AccessLogFilters ¶
type AccessLogFilters struct {
StatusCodes []string `` /* 173-byte string literal not displayed */
RetryAttempts bool `` /* 171-byte string literal not displayed */
MinDuration Duration `` /* 185-byte string literal not displayed */
}
AccessLogFilters holds filters configuration
type ClientTLS ¶
type ClientTLS struct {
CA string `description:"TLS CA" json:"ca,omitempty" toml:"ca,omitempty" yaml:"ca,omitempty"`
CAOptional bool `description:"TLS CA.Optional" json:"caOptional,omitempty" toml:"caOptional,omitempty" yaml:"caOptional,omitempty"`
Cert string `description:"TLS cert" json:"cert,omitempty" toml:"cert,omitempty" yaml:"cert,omitempty"`
Key string `description:"TLS key" json:"key,omitempty" toml:"key,omitempty" yaml:"key,omitempty"`
InsecureSkipVerify bool `` /* 146-byte string literal not displayed */
}
ClientTLS holds TLS specific configurations as client CA, Cert and Key can be either path or file contents
type DataDog ¶
type DataDog struct {
Address string `description:"DataDog's address." json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty"`
PushInterval Duration `` /* 140-byte string literal not displayed */
}
DataDog contains address and metrics pushing interval configuration
type Domain ¶
type Domain struct {
Main string `description:"Default subject name." json:"main,omitempty" toml:"main,omitempty" yaml:"main,omitempty"`
SANs []string `description:"Subject alternative names." json:"sans,omitempty" toml:"sans,omitempty" yaml:"sans,omitempty"`
}
Domain holds a domain name with SANs.
func (*Domain) ToStrArray ¶
ToStrArray convert a domain into an array of strings.
type Domains ¶
type Domains []Domain
Domains parse []Domain.
type Duration ¶
Duration is a custom type suitable for parsing duration values. It supports `time.ParseDuration`-compatible values and suffix-less digits; in the latter case, seconds are assumed.
func (*Duration) MarshalJSON ¶
MarshalJSON serializes the given duration value.
func (*Duration) MarshalText ¶
MarshalText serialize the given duration value into a text.
func (*Duration) SetValue ¶
func (d *Duration) SetValue(val interface{})
SetValue sets the duration from the given Duration-asserted value.
func (*Duration) UnmarshalJSON ¶
UnmarshalJSON deserializes the given text into a duration value.
func (*Duration) UnmarshalText ¶
UnmarshalText deserializes the given text into a duration value. It is meant to support TOML decoding of durations.
type FieldHeaders ¶
type FieldHeaders struct {
DefaultMode string `` /* 160-byte string literal not displayed */
Names map[string]string `description:"Override mode for headers" json:"names,omitempty" toml:"names,omitempty" yaml:"names,omitempty" export:"true"`
}
FieldHeaders holds configuration for access log headers
type HTTPCodeRanges ¶
type HTTPCodeRanges [][2]int
HTTPCodeRanges holds HTTP code ranges
func NewHTTPCodeRanges ¶
func NewHTTPCodeRanges(strBlocks []string) (HTTPCodeRanges, error)
NewHTTPCodeRanges creates HTTPCodeRanges from a given []string. Break out the http status code ranges into a low int and high int for ease of use at runtime
func (HTTPCodeRanges) Contains ¶
func (h HTTPCodeRanges) Contains(statusCode int) bool
Contains tests whether the passed status code is within one of its HTTP code ranges.
type HostResolverConfig ¶
type HostResolverConfig struct {
CnameFlattening bool `` /* 168-byte string literal not displayed */
ResolvConfig string `` /* 152-byte string literal not displayed */
ResolvDepth int `` /* 159-byte string literal not displayed */
}
HostResolverConfig contain configuration for CNAME Flattening.
func (*HostResolverConfig) SetDefaults ¶
func (h *HostResolverConfig) SetDefaults()
SetDefaults sets the default values.
type InfluxDB ¶
type InfluxDB struct {
Address string `description:"InfluxDB address." json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty"`
Protocol string `` /* 132-byte string literal not displayed */
PushInterval Duration `` /* 141-byte string literal not displayed */
Database string `` /* 151-byte string literal not displayed */
RetentionPolicy string `` /* 180-byte string literal not displayed */
Username string `` /* 141-byte string literal not displayed */
Password string `` /* 141-byte string literal not displayed */
}
InfluxDB contains address, login and metrics pushing interval configuration
func (*InfluxDB) SetDefaults ¶
func (i *InfluxDB) SetDefaults()
SetDefaults sets the default values.
type Metrics ¶
type Metrics struct {
Prometheus *Prometheus `` /* 164-byte string literal not displayed */
DataDog *DataDog `` /* 152-byte string literal not displayed */
StatsD *Statsd `` /* 148-byte string literal not displayed */
InfluxDB *InfluxDB `` /* 142-byte string literal not displayed */
}
Metrics provides options to expose and send Traefik metrics to different third party monitoring systems
type Prometheus ¶
type Prometheus struct {
Buckets []float64 `` /* 131-byte string literal not displayed */
EntryPoint string `description:"EntryPoint." json:"entryPoint,omitempty" toml:"entryPoint,omitempty" yaml:"entryPoint,omitempty" export:"true"`
Middlewares []string `` /* 127-byte string literal not displayed */
}
Prometheus can contain specific configuration used by the Prometheus Metrics exporter
func (*Prometheus) SetDefaults ¶
func (p *Prometheus) SetDefaults()
SetDefaults sets the default values.
type RouteAppender ¶
RouteAppender appends routes on a router (/api, /ping ...)
type Statistics ¶
type Statistics struct {
RecentErrors int `` /* 149-byte string literal not displayed */
}
Statistics provides options for monitoring request and response stats
func (*Statistics) SetDefaults ¶
func (s *Statistics) SetDefaults()
SetDefaults sets the default values.
type Statsd ¶
type Statsd struct {
Address string `description:"StatsD address." json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty"`
PushInterval Duration `` /* 139-byte string literal not displayed */
}
Statsd contains address and metrics pushing interval configuration
type TraefikLog ¶
type TraefikLog struct {
Level string `` /* 127-byte string literal not displayed */
FilePath string `` /* 152-byte string literal not displayed */
Format string `description:"Traefik log format: json | common" json:"format,omitempty" toml:"format,omitempty" yaml:"format,omitempty"`
}
TraefikLog holds the configuration settings for the traefik logger.
func (*TraefikLog) SetDefaults ¶
func (l *TraefikLog) SetDefaults()
SetDefaults sets the default values.