Documentation ¶
Index ¶
- Constants
- func CanonicalDomain(domain string) string
- func MatchDomain(domain, certDomain string) bool
- type AccessLog
- type AccessLogFields
- type AccessLogFilters
- type ClientTLS
- type Datadog
- type Domain
- type FieldHeaders
- type FileOrContent
- type HTTPCodeRanges
- type HostResolverConfig
- type InfluxDB2
- type Metrics
- type OTLP
- type OtelGRPC
- type OtelHTTP
- 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 `` /* 151-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 */ AddInternals bool `` /* 185-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 `description:"Override mode for fields" json:"names,omitempty" toml:"names,omitempty" yaml:"names,omitempty" export:"true"` 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 types.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"` 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" loggable:"false"` InsecureSkipVerify bool `` /* 160-byte string literal not displayed */ }
ClientTLS holds TLS specific configurations as client CA, Cert and Key can be either path or file contents.
func (*ClientTLS) CreateTLSConfig ¶
CreateTLSConfig creates a TLS config from ClientTLS structures.
func (*ClientTLS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientTLS.
func (*ClientTLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Datadog ¶
type Datadog struct { Address string `description:"Datadog's address." json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty"` PushInterval types.Duration `` /* 140-byte string literal not displayed */ AddEntryPointsLabels bool `` /* 173-byte string literal not displayed */ AddRoutersLabels bool `` /* 156-byte string literal not displayed */ AddServicesLabels bool `` /* 160-byte string literal not displayed */ Prefix string `` /* 137-byte string literal not displayed */ }
Datadog contains address and metrics pushing interval configuration.
type Domain ¶
type Domain struct { // Main defines the main domain name. Main string `description:"Default subject name." json:"main,omitempty" toml:"main,omitempty" yaml:"main,omitempty"` // SANs defines the subject alternative domain names. SANs []string `description:"Subject alternative names." json:"sans,omitempty" toml:"sans,omitempty" yaml:"sans,omitempty"` }
Domain holds a domain name with SANs.
func (*Domain) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Domain.
func (*Domain) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Domain) ToStrArray ¶
ToStrArray convert a domain into an array of strings.
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 FileOrContent ¶
type FileOrContent string
FileOrContent holds a file path or content.
func (FileOrContent) IsPath ¶
func (f FileOrContent) IsPath() bool
IsPath returns true if the FileOrContent is a file path, otherwise returns false.
func (FileOrContent) Read ¶
func (f FileOrContent) Read() ([]byte, error)
Read returns the content after reading the FileOrContent variable.
func (FileOrContent) String ¶
func (f FileOrContent) String() string
String returns the FileOrContent in string format.
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 InfluxDB2 ¶
type InfluxDB2 struct { Address string `description:"InfluxDB v2 address." json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty"` Token string `description:"InfluxDB v2 access token." json:"token,omitempty" toml:"token,omitempty" yaml:"token,omitempty" loggable:"false"` PushInterval types.Duration `` /* 144-byte string literal not displayed */ Org string `description:"InfluxDB v2 org ID." json:"org,omitempty" toml:"org,omitempty" yaml:"org,omitempty" export:"true"` Bucket string `description:"InfluxDB v2 bucket ID." json:"bucket,omitempty" toml:"bucket,omitempty" yaml:"bucket,omitempty" export:"true"` AddEntryPointsLabels bool `` /* 173-byte string literal not displayed */ AddRoutersLabels bool `` /* 156-byte string literal not displayed */ AddServicesLabels bool `` /* 160-byte string literal not displayed */ AdditionalLabels map[string]string `` /* 178-byte string literal not displayed */ }
InfluxDB2 contains address, token and metrics pushing interval configuration.
func (*InfluxDB2) SetDefaults ¶
func (i *InfluxDB2) SetDefaults()
SetDefaults sets the default values.
type Metrics ¶
type Metrics struct { AddInternals bool `` /* 182-byte string literal not displayed */ Prometheus *Prometheus `` /* 182-byte string literal not displayed */ Datadog *Datadog `` /* 170-byte string literal not displayed */ StatsD *Statsd `` /* 166-byte string literal not displayed */ InfluxDB2 *InfluxDB2 `` /* 180-byte string literal not displayed */ OTLP *OTLP `` /* 167-byte string literal not displayed */ }
Metrics provides options to expose and send Traefik metrics to different third party monitoring systems.
type OTLP ¶
type OTLP struct { GRPC *OtelGRPC `` /* 182-byte string literal not displayed */ HTTP *OtelHTTP `` /* 182-byte string literal not displayed */ AddEntryPointsLabels bool `` /* 173-byte string literal not displayed */ AddRoutersLabels bool `` /* 156-byte string literal not displayed */ AddServicesLabels bool `` /* 160-byte string literal not displayed */ ExplicitBoundaries []float64 `` /* 167-byte string literal not displayed */ PushInterval types.Duration `` /* 163-byte string literal not displayed */ }
OTLP contains specific configuration used by the OpenTelemetry Metrics exporter.
type OtelGRPC ¶
type OtelGRPC struct { Endpoint string `` /* 144-byte string literal not displayed */ Insecure bool `` /* 158-byte string literal not displayed */ TLS *ClientTLS `` /* 136-byte string literal not displayed */ Headers map[string]string `description:"Headers sent with payload." json:"headers,omitempty" toml:"headers,omitempty" yaml:"headers,omitempty"` }
OtelGRPC provides configuration settings for the gRPC open-telemetry.
func (*OtelGRPC) SetDefaults ¶
func (c *OtelGRPC) SetDefaults()
SetDefaults sets the default values.
type OtelHTTP ¶
type OtelHTTP struct { Endpoint string `` /* 158-byte string literal not displayed */ TLS *ClientTLS `` /* 136-byte string literal not displayed */ Headers map[string]string `description:"Headers sent with payload." json:"headers,omitempty" toml:"headers,omitempty" yaml:"headers,omitempty"` }
OtelHTTP provides configuration settings for the HTTP open-telemetry.
func (*OtelHTTP) SetDefaults ¶
func (c *OtelHTTP) SetDefaults()
SetDefaults sets the default values.
type Prometheus ¶
type Prometheus struct { Buckets []float64 `` /* 131-byte string literal not displayed */ AddEntryPointsLabels bool `` /* 173-byte string literal not displayed */ AddRoutersLabels bool `` /* 156-byte string literal not displayed */ AddServicesLabels bool `` /* 160-byte string literal not displayed */ EntryPoint string `description:"EntryPoint" json:"entryPoint,omitempty" toml:"entryPoint,omitempty" yaml:"entryPoint,omitempty" export:"true"` ManualRouting bool `` /* 135-byte string literal not displayed */ HeaderLabels map[string]string `` /* 252-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 types.Duration `` /* 139-byte string literal not displayed */ AddEntryPointsLabels bool `` /* 173-byte string literal not displayed */ AddRoutersLabels bool `` /* 156-byte string literal not displayed */ AddServicesLabels bool `` /* 160-byte string literal not displayed */ Prefix string `` /* 137-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 */ Format string `` /* 133-byte string literal not displayed */ NoColor bool `` /* 165-byte string literal not displayed */ FilePath string `` /* 152-byte string literal not displayed */ MaxSize int `` /* 168-byte string literal not displayed */ MaxAge int `` /* 196-byte string literal not displayed */ MaxBackups int `` /* 154-byte string literal not displayed */ Compress bool `` /* 174-byte string literal not displayed */ }
TraefikLog holds the configuration settings for the traefik logger.
func (*TraefikLog) SetDefaults ¶
func (l *TraefikLog) SetDefaults()
SetDefaults sets the default values.