Documentation ¶
Index ¶
- Constants
- func AlsListenAddr(addr string) serverOptFunc
- func CdsClusterConnectionTimeout(dur time.Duration) cdsOptFunc
- func CdsClusterRefreshIntervalBase(dur time.Duration) cdsOptFunc
- func CdsClusterRefreshIntervalMax(dur time.Duration) cdsOptFunc
- func CdsClusterUpstreamKeepAliveIntervalSeconds(seconds uint32) cdsOptFunc
- func CdsClusterUpstreamKeepAliveTimeSeconds(seconds uint32) cdsOptFunc
- func CdsHealthCheckInitialIntervalOnAddCluster(dur time.Duration) cdsOptFunc
- func CdsHealthCheckInitialJitter(dur time.Duration) cdsOptFunc
- func CdsOutlierBaseEjectionTime(dur time.Duration) cdsOptFunc
- func CdsOutlierConsecutiveCount5xx(times uint32) cdsOptFunc
- func CdsOutlierConsecutiveGatewayFailure(times uint32) cdsOptFunc
- func CdsOutlierInterval(dur time.Duration) cdsOptFunc
- func CdsOutlierSuccessRateMinHosts(size uint32) cdsOptFunc
- func EdsLbEndpointHealthStatus(status corev3.HealthStatus) edsOptFunc
- func EdsLoadBalancingWeight(weight uint32) edsOptFunc
- func LdsStatPrefix(prefix string) ldsOptFunc
- func MaxConcurrentStreams(n uint32) serverOptFunc
- func NewServer(ctx context.Context, cache cachev3.Cache, funcs ...serverOptFunc) *server
- func RdsRetryBackOffIntervalBase(dur time.Duration) rdsOptFunc
- func RdsRetryBackOffIntervalMax(dur time.Duration) rdsOptFunc
- func RdsRetryHostSelectionAttempts(times int64) rdsOptFunc
- func RdsRetryPerTryTimeout(dur time.Duration) rdsOptFunc
- func WatchCdsConfigFile(path string) watchOptFunc
- func WatchEdsConfigFile(path string) watchOptFunc
- func WatchLdsConfigFile(path string) watchOptFunc
- func WatchRdsConfigFile(path string) watchOptFunc
- func XdsListenAddr(addr string) serverOptFunc
- type AccessLog
- type CDSConfig
- type CDSHealthCheckConfig
- type EDSConfig
- type EDSInstanceConfig
- type LDSAccessLogConfig
- type LDSConfig
- type LDSListenConfig
- type LDSServerConfig
- type LDSTimeoutConfig
- type RDSActionConfig
- type RDSClusterConfig
- type RDSClusterHeaderConfig
- type RDSClusterWeightConfig
- type RDSConfig
- type RDSStringMatcher
- type WatchFile
Constants ¶
View Source
const ( AccesslogLinefeed string = "\n" AccesslogDelimiter string = "\t" )
Variables ¶
This section is empty.
Functions ¶
func AlsListenAddr ¶
func AlsListenAddr(addr string) serverOptFunc
func CdsClusterUpstreamKeepAliveIntervalSeconds ¶
func CdsClusterUpstreamKeepAliveIntervalSeconds(seconds uint32) cdsOptFunc
func CdsClusterUpstreamKeepAliveTimeSeconds ¶
func CdsClusterUpstreamKeepAliveTimeSeconds(seconds uint32) cdsOptFunc
func CdsOutlierConsecutiveCount5xx ¶
func CdsOutlierConsecutiveCount5xx(times uint32) cdsOptFunc
func CdsOutlierConsecutiveGatewayFailure ¶
func CdsOutlierConsecutiveGatewayFailure(times uint32) cdsOptFunc
func CdsOutlierInterval ¶
func CdsOutlierSuccessRateMinHosts ¶
func CdsOutlierSuccessRateMinHosts(size uint32) cdsOptFunc
func EdsLbEndpointHealthStatus ¶ added in v1.0.1
func EdsLbEndpointHealthStatus(status corev3.HealthStatus) edsOptFunc
func EdsLoadBalancingWeight ¶
func EdsLoadBalancingWeight(weight uint32) edsOptFunc
func LdsStatPrefix ¶
func LdsStatPrefix(prefix string) ldsOptFunc
func MaxConcurrentStreams ¶
func MaxConcurrentStreams(n uint32) serverOptFunc
func RdsRetryHostSelectionAttempts ¶
func RdsRetryHostSelectionAttempts(times int64) rdsOptFunc
func RdsRetryPerTryTimeout ¶
func WatchCdsConfigFile ¶
func WatchCdsConfigFile(path string) watchOptFunc
func WatchEdsConfigFile ¶
func WatchEdsConfigFile(path string) watchOptFunc
func WatchLdsConfigFile ¶
func WatchLdsConfigFile(path string) watchOptFunc
func WatchRdsConfigFile ¶
func WatchRdsConfigFile(path string) watchOptFunc
func XdsListenAddr ¶
func XdsListenAddr(addr string) serverOptFunc
Types ¶
type AccessLog ¶
type AccessLog struct { Route string ClientAddress string RemoteAddress string RequestTime time.Time Protocol string RequestMethod string RequestPath string UserAgent string Referer string ForwardedFor string ResponseStatus uint32 RequestReceiveDuration time.Duration // TimeToLastRxByte ResponseReceivingDuration time.Duration // TimeToFirstUpstreamRxByte ResponseCompleteDuration time.Duration // TimeToLastUpstreamRxByte ClientReceivingDuration time.Duration // TimeToFirstDownstreamTxByte ClientCompleteDuration time.Duration // TimeToLastDownstreamTxByte }
type CDSConfig ¶
type CDSConfig struct { ClusterName string `yaml:"name" validate:"required"` LbPolicy string `yaml:"lb-policy" validate:"required"` HealthCheck CDSHealthCheckConfig `yaml:"health-check" validate:"required"` }
type CDSHealthCheckConfig ¶
type CDSHealthCheckConfig struct { Host string `yaml:"host" validate:""` Path string `yaml:"path" validate:"required"` Status []string `yaml:"status" validate:"required,unique"` Timeout uint32 `yaml:"timeout" validate:"gte=1,lte=900"` Interval uint32 `yaml:"interval" validate:"gte=1,lte=180"` HealthyCount uint32 `yaml:"healthy" validate:"gte=1,lte=10"` UnhealthyCount uint32 `yaml:"unhealthy" validate:"gte=1,lte=10"` }
func (CDSHealthCheckConfig) IntervalSecond ¶
func (c CDSHealthCheckConfig) IntervalSecond() time.Duration
func (CDSHealthCheckConfig) TimeoutSecond ¶
func (c CDSHealthCheckConfig) TimeoutSecond() time.Duration
type EDSConfig ¶
type EDSConfig struct { ClusterName string `yaml:"name" validate:"required"` BalancingPolicy string `yaml:"balancing-policy" validate:"required"` Instances []EDSInstanceConfig `yaml:"instances" validate:"required"` }
type EDSInstanceConfig ¶
type EDSInstanceConfig struct { InstanceName string `yaml:"instance-name" validate:"required"` IP string `yaml:"ip" validate:"required,ip"` Port uint32 `yaml:"port" validate:"required,gte=1,lte=65535"` Region string `yaml:"region" validate:"required"` Zone string `yaml:"zone" validate:"zone"` Protocol string `yaml:"protocol" validate:"required"` Weight uint32 `yaml:"weight"` }
func (EDSInstanceConfig) Address ¶
func (c EDSInstanceConfig) Address() *corev3.Address
type LDSAccessLogConfig ¶
type LDSAccessLogConfig struct { LogId string `yaml:"log-id" validate:"required"` FlushInterval uint32 `yaml:"flush-interval" validate:"required,gte=1"` BufferSize uint32 `yaml:"buffer-size" validate:"required,gte=1"` }
func (LDSAccessLogConfig) FlushIntervalSecond ¶
func (c LDSAccessLogConfig) FlushIntervalSecond() time.Duration
type LDSConfig ¶
type LDSConfig struct { Listen LDSListenConfig `yaml:"listen" validate:"required"` Server LDSServerConfig `yaml:"server" validate:"required"` Timeout LDSTimeoutConfig `yaml:"timeout" validate:"required"` AccessLog LDSAccessLogConfig `yaml:"accesslog" validate:"required"` }
type LDSListenConfig ¶
type LDSListenConfig struct { Protocol string `yaml:"protocol" validate:"required"` IP string `yaml:"ip" validate:"required,ip"` Port uint32 `yaml:"port" validate:"required,gte=1,lte=65535"` }
func (LDSListenConfig) Address ¶
func (c LDSListenConfig) Address() *corev3.Address
type LDSServerConfig ¶
type LDSTimeoutConfig ¶
type LDSTimeoutConfig struct { RequestTimeout uint32 `yaml:"request-timeout" validate:"required,gte=1"` DrainTimeout uint32 `yaml:"drain-timeout" validate:"required,gte=1"` IdleTimeout uint32 `yaml:"idle-timeout" validate:"required,gte=1"` MaxDuration uint32 `yaml:"max-duration" validate:"required,gte=1"` }
func (LDSTimeoutConfig) DrainTimeoutSecond ¶
func (c LDSTimeoutConfig) DrainTimeoutSecond() time.Duration
func (LDSTimeoutConfig) IdleTimeoutSecond ¶
func (c LDSTimeoutConfig) IdleTimeoutSecond() time.Duration
func (LDSTimeoutConfig) MaxDurationSecond ¶
func (c LDSTimeoutConfig) MaxDurationSecond() time.Duration
func (LDSTimeoutConfig) RequestTimeoutSecond ¶
func (c LDSTimeoutConfig) RequestTimeoutSecond() time.Duration
type RDSActionConfig ¶
type RDSActionConfig struct { Timeout uint32 `yaml:"timeout" validate:"required"` IdleTimeout uint32 `yaml:"idle-timeout" validate:"required"` RetryPolicy string `yaml:"retry-policy" validate:"required"` }
func (RDSActionConfig) IdleTimeoutSecond ¶
func (c RDSActionConfig) IdleTimeoutSecond() time.Duration
func (RDSActionConfig) TimeoutSecond ¶
func (c RDSActionConfig) TimeoutSecond() time.Duration
type RDSClusterConfig ¶
type RDSClusterConfig struct { Prefix string `yaml:"prefix" validate:"required"` Target []RDSClusterWeightConfig `yaml:"target" validate:"required"` Headers []RDSClusterHeaderConfig `yaml:"headers" validate:""` }
type RDSClusterHeaderConfig ¶ added in v1.0.2
type RDSClusterHeaderConfig struct { HeaderName string `yaml:"name" validate:""` StringMatch RDSStringMatcher `yaml:"string_match" validate:""` }
type RDSClusterWeightConfig ¶
type RDSConfig ¶
type RDSConfig struct { VHostName string `yaml:"vhost" validate:"required"` Domain []string `yaml:"domain" validate:"required,unique"` Cluster []RDSClusterConfig `yaml:"cluster" validate:"required"` Action RDSActionConfig `yaml:"action" validate:"required"` }
type RDSStringMatcher ¶ added in v1.0.2
type RDSStringMatcher struct {
Exact string `yaml:"exact" validate:""`
}
type WatchFile ¶
type WatchFile struct {
// contains filtered or unexported fields
}
func NewWatchFile ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.