Documentation
¶
Index ¶
- Constants
- type AddPrefix
- type AuthTLSPassCertificateToUpstream
- type BalancerStrategy
- type BasicAuth
- type Buffering
- type Chain
- type CircuitBreaker
- type ClientTLS
- type Compress
- type Configuration
- type Configurations
- type ContentType
- type Cookie
- type DigestAuth
- type EncodedCharacters
- type ErrorPage
- type Failover
- type FailoverError
- type ForwardAuth
- type ForwardingTimeouts
- type GRPCStatus
- type GrpcWeb
- type HRWService
- type HTTPConfiguration
- type HeaderModifier
- type Headers
- type HealthCheck
- type HighestRandomWeight
- type IPAllowList
- type IPStrategy
- type IPWhiteListdeprecated
- type InFlightReq
- type Message
- type Middleware
- type MirrorService
- type Mirroring
- type Model
- type PassTLSClientCert
- type PassiveServerHealthCheck
- type PluginConf
- type ProxyProtocol
- type RateLimit
- type RedirectRegex
- type RedirectScheme
- type Redis
- type ReplacePath
- type ReplacePathRegex
- type RequestRedirect
- type ResponseForwarding
- type Retry
- type Router
- type RouterDeniedEncodedPathCharacters
- type RouterObservabilityConfig
- type RouterTCPTLSConfig
- type RouterTLSConfig
- type Server
- type ServerHealthCheck
- type ServersLoadBalancer
- type ServersTransport
- type Service
- type SourceCriterion
- type Spiffe
- type StaticFiles
- type Sticky
- type StripPrefix
- type StripPrefixRegex
- type TCPConfiguration
- type TCPIPAllowList
- type TCPIPWhiteListdeprecated
- type TCPInFlightConn
- type TCPMiddleware
- type TCPModel
- type TCPRouter
- type TCPServer
- type TCPServerHealthCheck
- type TCPServersLoadBalancer
- type TCPServersTransport
- type TCPService
- type TCPWRRService
- type TCPWeightedRoundRobin
- type TLSClientCertificateInfo
- type TLSClientCertificateIssuerDNInfo
- type TLSClientCertificateSubjectDNInfo
- type TLSClientConfig
- type TLSConfiguration
- type UDPConfiguration
- type UDPRouter
- type UDPServer
- type UDPServersLoadBalancer
- type UDPService
- type UDPWRRService
- type UDPWeightedRoundRobin
- type URLRewrite
- type Users
- type WRRService
- type WeightedRoundRobin
Constants ¶
const ( // DefaultHealthCheckInterval is the default value for the ServerHealthCheck interval. DefaultHealthCheckInterval = ptypes.Duration(30 * time.Second) // DefaultHealthCheckTimeout is the default value for the ServerHealthCheck timeout. DefaultHealthCheckTimeout = ptypes.Duration(5 * time.Second) // DefaultPassHostHeader is the default value for the ServersLoadBalancer passHostHeader. DefaultPassHostHeader = true // DefaultFlushInterval is the default value for the ResponseForwarding flush interval. DefaultFlushInterval = ptypes.Duration(100 * time.Millisecond) // MirroringDefaultMirrorBody is the Mirroring.MirrorBody option default value. MirroringDefaultMirrorBody = true // MirroringDefaultMaxBodySize is the Mirroring.MaxBodySize option default value. MirroringDefaultMaxBodySize int64 = -1 // FailoverErrorsDefaultMaxRequestBodyBytes is the Failover.Errors.MaxBodySize option default value. FailoverErrorsDefaultMaxRequestBodyBytes int64 = -1 )
const ( // ForwardAuthDefaultMaxBodySize is the ForwardAuth.MaxBodySize option default value. ForwardAuthDefaultMaxBodySize int64 = -1 // RetryDefaultMaxRequestBodyBytes is the Retry.MaxRequestBodyBytes option default value. RetryDefaultMaxRequestBodyBytes int64 = -1 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddPrefix ¶
type AddPrefix struct {
// Prefix is the string to add before the current path in the requested URL.
// It should include a leading slash (/).
// +kubebuilder:validation:XValidation:message="must start with a '/'",rule="self.startsWith('/')"
Prefix string `json:"prefix,omitempty" toml:"prefix,omitempty" yaml:"prefix,omitempty" export:"true"`
}
AddPrefix holds the add prefix middleware configuration. This middleware updates the path of a request before forwarding it. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/addprefix/
func (*AddPrefix) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddPrefix.
func (*AddPrefix) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthTLSPassCertificateToUpstream ¶
type AuthTLSPassCertificateToUpstream struct {
ClientAuthType string `json:"clientAuthType,omitempty" toml:"clientAuthType,omitempty" yaml:"clientAuthType,omitempty" export:"true"`
CAFiles []types.FileOrContent `json:"caFiles,omitempty" toml:"caFiles,omitempty" yaml:"caFiles,omitempty" export:"true"`
}
AuthTLSPassCertificateToUpstream holds the pass TLS client cert middleware for ingress-nginx provider.
func (*AuthTLSPassCertificateToUpstream) DeepCopy ¶
func (in *AuthTLSPassCertificateToUpstream) DeepCopy() *AuthTLSPassCertificateToUpstream
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthTLSPassCertificateToUpstream.
func (*AuthTLSPassCertificateToUpstream) DeepCopyInto ¶
func (in *AuthTLSPassCertificateToUpstream) DeepCopyInto(out *AuthTLSPassCertificateToUpstream)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BalancerStrategy ¶
type BalancerStrategy string
const ( // BalancerStrategyWRR is the weighted round-robin strategy. BalancerStrategyWRR BalancerStrategy = "wrr" // BalancerStrategyP2C is the power of two choices strategy. BalancerStrategyP2C BalancerStrategy = "p2c" // BalancerStrategyHRW is the highest random weight strategy. BalancerStrategyHRW BalancerStrategy = "hrw" // BalancerStrategyLeastTime is the least-time strategy. BalancerStrategyLeastTime BalancerStrategy = "leasttime" )
type BasicAuth ¶
type BasicAuth struct {
// Users is an array of authorized users.
// Each user must be declared using the name:hashed-password format.
// Tip: Use htpasswd to generate the passwords.
Users Users `json:"users,omitempty" toml:"users,omitempty" yaml:"users,omitempty" loggable:"false"`
// UsersFile is the path to an external file that contains the authorized users.
UsersFile string `json:"usersFile,omitempty" toml:"usersFile,omitempty" yaml:"usersFile,omitempty"`
// Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme.
// Default: ingress.
Realm string `json:"realm,omitempty" toml:"realm,omitempty" yaml:"realm,omitempty"`
// RemoveHeader sets the removeHeader option to true to remove the authorization header before forwarding the request to your service.
// Default: false.
RemoveHeader bool `json:"removeHeader,omitempty" toml:"removeHeader,omitempty" yaml:"removeHeader,omitempty" export:"true"`
// HeaderField defines a header field to store the authenticated user.
// More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/basicauth/#headerfield
HeaderField string `json:"headerField,omitempty" toml:"headerField,omitempty" yaml:"headerField,omitempty" export:"true"`
}
BasicAuth holds the basic auth middleware configuration. This middleware restricts access to your services to known users. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/basicauth/
func (*BasicAuth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth.
func (*BasicAuth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Buffering ¶
type Buffering struct {
// MaxRequestBodyBytes defines the maximum allowed body size for the request (in bytes).
// If the request exceeds the allowed size, it is not forwarded to the service, and the client gets a 413 (Request Entity Too Large) response.
// Default: 0 (no maximum).
MaxRequestBodyBytes int64 `json:"maxRequestBodyBytes,omitempty" toml:"maxRequestBodyBytes,omitempty" yaml:"maxRequestBodyBytes,omitempty" export:"true"`
// MemRequestBodyBytes defines the threshold (in bytes) from which the request will be buffered on disk instead of in memory.
// Default: 1048576 (1Mi).
MemRequestBodyBytes int64 `json:"memRequestBodyBytes,omitempty" toml:"memRequestBodyBytes,omitempty" yaml:"memRequestBodyBytes,omitempty" export:"true"`
// MaxResponseBodyBytes defines the maximum allowed response size from the service (in bytes).
// If the response exceeds the allowed size, it is not forwarded to the client. The client gets a 500 (Internal Server Error) response instead.
// Default: 0 (no maximum).
MaxResponseBodyBytes int64 `` /* 127-byte string literal not displayed */
// MemResponseBodyBytes defines the threshold (in bytes) from which the response will be buffered on disk instead of in memory.
// Default: 1048576 (1Mi).
MemResponseBodyBytes int64 `` /* 127-byte string literal not displayed */
// RetryExpression defines the retry conditions.
// It is a logical combination of functions with operators AND (&&) and OR (||).
// More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/buffering/#retryexpression
RetryExpression string `json:"retryExpression,omitempty" toml:"retryExpression,omitempty" yaml:"retryExpression,omitempty" export:"true"`
// Only configurable via code, not via configuration files.
DisableRequestBuffer bool `json:"disableRequestBuffer,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
DisableResponseBuffer bool `json:"disableResponseBuffer,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
}
Buffering holds the buffering middleware configuration. This middleware retries or limits the size of requests that can be forwarded to backends. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/buffering/#maxrequestbodybytes
func (*Buffering) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Buffering.
func (*Buffering) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Chain ¶
type Chain struct {
// Middlewares is the list of middleware names which composes the chain.
Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"`
}
Chain holds the chain middleware configuration. This middleware enables to define reusable combinations of other pieces of middleware.
func (*Chain) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chain.
func (*Chain) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CircuitBreaker ¶
type CircuitBreaker struct {
// Expression defines the expression that, once matched, opens the circuit breaker and applies the fallback mechanism instead of calling the services.
Expression string `json:"expression,omitempty" toml:"expression,omitempty" yaml:"expression,omitempty" export:"true"`
// CheckPeriod is the interval between successive checks of the circuit breaker condition (when in standby state).
CheckPeriod ptypes.Duration `json:"checkPeriod,omitempty" toml:"checkPeriod,omitempty" yaml:"checkPeriod,omitempty" export:"true"`
// FallbackDuration is the duration for which the circuit breaker will wait before trying to recover (from a tripped state).
FallbackDuration ptypes.Duration `json:"fallbackDuration,omitempty" toml:"fallbackDuration,omitempty" yaml:"fallbackDuration,omitempty" export:"true"`
// RecoveryDuration is the duration for which the circuit breaker will try to recover (as soon as it is in recovering state).
RecoveryDuration ptypes.Duration `json:"recoveryDuration,omitempty" toml:"recoveryDuration,omitempty" yaml:"recoveryDuration,omitempty" export:"true"`
// ResponseCode is the status code that the circuit breaker will return while it is in the open state.
ResponseCode int `json:"responseCode,omitempty" toml:"responseCode,omitempty" yaml:"responseCode,omitempty" export:"true"`
}
CircuitBreaker holds the circuit breaker middleware configuration. This middleware protects the system from stacking requests to unhealthy services, resulting in cascading failures. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/circuitbreaker/
func (*CircuitBreaker) DeepCopy ¶
func (in *CircuitBreaker) DeepCopy() *CircuitBreaker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreaker.
func (*CircuitBreaker) DeepCopyInto ¶
func (in *CircuitBreaker) DeepCopyInto(out *CircuitBreaker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CircuitBreaker) SetDefaults ¶
func (c *CircuitBreaker) SetDefaults()
SetDefaults sets the default values on a RateLimit.
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 */
// Deprecated: TLS client authentication is a server side option (see https://github.com/golang/go/blob/740a490f71d026bb7d2d13cb8fa2d6d6e0572b70/src/crypto/tls/common.go#L634).
CAOptional *bool `` /* 127-byte string literal not displayed */
}
ClientTLS holds TLS specific configurations as client CA, Cert and Key can be either path or file contents. TODO: remove this struct when CAOptional option will be removed.
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 Compress ¶
type Compress struct {
// ExcludedContentTypes defines the list of content types to compare the Content-Type header of the incoming requests and responses before compressing.
// `application/grpc` is always excluded.
ExcludedContentTypes []string `` /* 127-byte string literal not displayed */
// IncludedContentTypes defines the list of content types to compare the Content-Type header of the responses before compressing.
IncludedContentTypes []string `` /* 127-byte string literal not displayed */
// MinResponseBodyBytes defines the minimum amount of bytes a response body must have to be compressed.
// Default: 1024.
// +kubebuilder:validation:Minimum=0
MinResponseBodyBytes int `` /* 127-byte string literal not displayed */
// Encodings defines the list of supported compression algorithms.
Encodings []string `json:"encodings,omitempty" toml:"encodings,omitempty" yaml:"encodings,omitempty" export:"true"`
// DefaultEncoding specifies the default encoding if the `Accept-Encoding` header is not in the request or contains a wildcard (`*`).
DefaultEncoding string `json:"defaultEncoding,omitempty" toml:"defaultEncoding,omitempty" yaml:"defaultEncoding,omitempty" export:"true"`
}
Compress holds the compress middleware configuration. This middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression.
func (*Compress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Compress.
func (*Compress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Compress) SetDefaults ¶
func (c *Compress) SetDefaults()
type Configuration ¶
type Configuration struct {
HTTP *HTTPConfiguration `json:"http,omitempty" toml:"http,omitempty" yaml:"http,omitempty" export:"true"`
TCP *TCPConfiguration `json:"tcp,omitempty" toml:"tcp,omitempty" yaml:"tcp,omitempty" export:"true"`
UDP *UDPConfiguration `json:"udp,omitempty" toml:"udp,omitempty" yaml:"udp,omitempty" export:"true"`
TLS *TLSConfiguration `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty" export:"true"`
}
Configuration is the root of the dynamic configuration.
func (*Configuration) DeepCopy ¶
func (in *Configuration) DeepCopy() *Configuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration.
func (*Configuration) DeepCopyInto ¶
func (in *Configuration) DeepCopyInto(out *Configuration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Configurations ¶
type Configurations map[string]*Configuration
Configurations is for currentConfigurations Map.
func (Configurations) DeepCopy ¶
func (in Configurations) DeepCopy() Configurations
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configurations.
func (Configurations) DeepCopyInto ¶
func (in Configurations) DeepCopyInto(out *Configurations)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContentType ¶
type ContentType struct {
// AutoDetect specifies whether to let the `Content-Type` header, if it has not been set by the backend,
// be automatically set to a value derived from the contents of the response.
//
// Deprecated: AutoDetect option is deprecated, Content-Type middleware is only meant to be used to enable the content-type detection, please remove any usage of this option.
AutoDetect *bool `json:"autoDetect,omitempty" toml:"autoDetect,omitempty" yaml:"autoDetect,omitempty" export:"true"`
}
ContentType holds the content-type middleware configuration. This middleware exists to enable the correct behavior until at least the default one can be changed in a future version.
func (*ContentType) DeepCopy ¶
func (in *ContentType) DeepCopy() *ContentType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContentType.
func (*ContentType) DeepCopyInto ¶
func (in *ContentType) DeepCopyInto(out *ContentType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cookie ¶
type Cookie struct {
// Name defines the Cookie name.
Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty" export:"true"`
// Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS).
Secure bool `json:"secure,omitempty" toml:"secure,omitempty" yaml:"secure,omitempty" export:"true"`
// HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript.
HTTPOnly bool `json:"httpOnly,omitempty" toml:"httpOnly,omitempty" yaml:"httpOnly,omitempty" export:"true"`
// SameSite defines the same site policy.
// More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
// +kubebuilder:validation:Enum=none;lax;strict
SameSite string `json:"sameSite,omitempty" toml:"sameSite,omitempty" yaml:"sameSite,omitempty" export:"true"`
// MaxAge defines the number of seconds until the cookie expires.
// When set to a negative number, the cookie expires immediately.
// When set to zero, the cookie never expires.
MaxAge int `json:"maxAge,omitempty" toml:"maxAge,omitempty" yaml:"maxAge,omitempty" export:"true"`
// Path defines the path that must exist in the requested URL for the browser to send the Cookie header.
// When not provided the cookie will be sent on every request to the domain.
// More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#pathpath-value
Path *string `json:"path,omitempty" toml:"path,omitempty" yaml:"path,omitempty" export:"true"`
// Domain defines the host to which the cookie will be sent.
// More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#domaindomain-value
Domain string `json:"domain,omitempty" toml:"domain,omitempty" yaml:"domain,omitempty"`
// Expires defines the number of seconds to add to the current time to calculate the expiration date of the cookie.
// This option is exposed only for the Ingress NGINX provider.
Expires int `json:"-" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
}
Cookie holds the sticky configuration based on cookie.
func (*Cookie) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cookie.
func (*Cookie) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cookie) SetDefaults ¶
func (c *Cookie) SetDefaults()
SetDefaults set the default values for a Cookie.
type DigestAuth ¶
type DigestAuth struct {
// Users defines the authorized users.
// Each user should be declared using the name:realm:encoded-password format.
Users Users `json:"users,omitempty" toml:"users,omitempty" yaml:"users,omitempty" loggable:"false"`
// UsersFile is the path to an external file that contains the authorized users for the middleware.
UsersFile string `json:"usersFile,omitempty" toml:"usersFile,omitempty" yaml:"usersFile,omitempty"`
// RemoveHeader defines whether to remove the authorization header before forwarding the request to the backend.
RemoveHeader bool `json:"removeHeader,omitempty" toml:"removeHeader,omitempty" yaml:"removeHeader,omitempty" export:"true"`
// Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme.
// Default: ingress.
Realm string `json:"realm,omitempty" toml:"realm,omitempty" yaml:"realm,omitempty"`
// HeaderField defines a header field to store the authenticated user.
// More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/basicauth/#headerfield
HeaderField string `json:"headerField,omitempty" toml:"headerField,omitempty" yaml:"headerField,omitempty" export:"true"`
}
DigestAuth holds the digest auth middleware configuration. This middleware restricts access to your services to known users. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/digestauth/
func (*DigestAuth) DeepCopy ¶
func (in *DigestAuth) DeepCopy() *DigestAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DigestAuth.
func (*DigestAuth) DeepCopyInto ¶
func (in *DigestAuth) DeepCopyInto(out *DigestAuth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EncodedCharacters ¶
type EncodedCharacters struct {
// AllowEncodedSlash defines whether requests with encoded slash characters in the path are allowed.
AllowEncodedSlash bool `json:"allowEncodedSlash,omitempty" toml:"allowEncodedSlash,omitempty" yaml:"allowEncodedSlash,omitempty" export:"true"`
// AllowEncodedBackSlash defines whether requests with encoded back slash characters in the path are allowed.
AllowEncodedBackSlash bool `` /* 130-byte string literal not displayed */
// AllowEncodedNullCharacter defines whether requests with encoded null characters in the path are allowed.
AllowEncodedNullCharacter bool `` /* 142-byte string literal not displayed */
// AllowEncodedSemicolon defines whether requests with encoded semicolon characters in the path are allowed.
AllowEncodedSemicolon bool `` /* 130-byte string literal not displayed */
// AllowEncodedPercent defines whether requests with encoded percent characters in the path are allowed.
AllowEncodedPercent bool `json:"allowEncodedPercent,omitempty" toml:"allowEncodedPercent,omitempty" yaml:"allowEncodedPercent,omitempty" export:"true"`
// AllowEncodedQuestionMark defines whether requests with encoded question mark characters in the path are allowed.
AllowEncodedQuestionMark bool `` /* 139-byte string literal not displayed */
// AllowEncodedHash defines whether requests with encoded hash characters in the path are allowed.
AllowEncodedHash bool `json:"allowEncodedHash,omitempty" toml:"allowEncodedHash,omitempty" yaml:"allowEncodedHash,omitempty" export:"true"`
}
EncodedCharacters configures which encoded characters are allowed in the request path.
func (*EncodedCharacters) DeepCopy ¶
func (in *EncodedCharacters) DeepCopy() *EncodedCharacters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncodedCharacters.
func (*EncodedCharacters) DeepCopyInto ¶
func (in *EncodedCharacters) DeepCopyInto(out *EncodedCharacters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ErrorPage ¶
type ErrorPage struct {
// Status defines which status or range of statuses should result in an error page.
// It can be either a status code as a number (500),
// as multiple comma-separated numbers (500,502),
// as ranges by separating two codes with a dash (500-599),
// or a combination of the two (404,418,500-599).
Status []string `json:"status,omitempty" toml:"status,omitempty" yaml:"status,omitempty" export:"true"`
// StatusRewrites defines a mapping of status codes that should be returned instead of the original error status codes.
// For example: "418": 404 or "410-418": 404
StatusRewrites map[string]int `json:"statusRewrites,omitempty" toml:"statusRewrites,omitempty" yaml:"statusRewrites,omitempty" export:"true"`
// Service defines the name of the service that will serve the error page.
Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"`
// Query defines the URL for the error page (hosted by service).
// The {status} variable can be used in order to insert the status code in the URL.
// The {originalStatus} variable can be used in order to insert the upstream status code in the URL.
// The {url} variable can be used in order to insert the escaped request URL.
Query string `json:"query,omitempty" toml:"query,omitempty" yaml:"query,omitempty" export:"true"`
}
ErrorPage holds the custom error middleware configuration. This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes.
func (*ErrorPage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorPage.
func (*ErrorPage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Failover ¶
type Failover struct {
Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"`
Fallback string `json:"fallback,omitempty" toml:"fallback,omitempty" yaml:"fallback,omitempty" export:"true"`
HealthCheck *HealthCheck `` /* 137-byte string literal not displayed */
Errors *FailoverError `json:"errors,omitempty" toml:"errors,omitempty" yaml:"errors,omitempty" export:"true"`
}
Failover holds the Failover configuration.
func (*Failover) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Failover.
func (*Failover) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FailoverError ¶
type FailoverError struct {
MaxRequestBodyBytes *int64 `json:"maxRequestBodyBytes,omitempty" toml:"maxRequestBodyBytes,omitempty" yaml:"maxRequestBodyBytes,omitempty" export:"true"`
Status []string `json:"status,omitempty" toml:"status,omitempty" yaml:"status,omitempty" export:"true"`
}
FailoverError holds errors configuration.
func (*FailoverError) DeepCopy ¶
func (in *FailoverError) DeepCopy() *FailoverError
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailoverError.
func (*FailoverError) DeepCopyInto ¶
func (in *FailoverError) DeepCopyInto(out *FailoverError)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FailoverError) SetDefaults ¶
func (m *FailoverError) SetDefaults()
SetDefaults Default values for a WRRService.
type ForwardAuth ¶
type ForwardAuth struct {
// Address defines the authentication server address.
Address string `json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty"`
// TLS defines the configuration used to secure the connection to the authentication server.
TLS *ClientTLS `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty" export:"true"`
// TrustForwardHeader defines whether to trust (ie: forward) all X-Forwarded-* headers.
TrustForwardHeader bool `json:"trustForwardHeader,omitempty" toml:"trustForwardHeader,omitempty" yaml:"trustForwardHeader,omitempty" export:"true"`
// AuthResponseHeaders defines the list of headers to copy from the authentication server response and set on forwarded request, replacing any existing conflicting headers.
AuthResponseHeaders []string `json:"authResponseHeaders,omitempty" toml:"authResponseHeaders,omitempty" yaml:"authResponseHeaders,omitempty" export:"true"`
// AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex.
// More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/forwardauth/#authresponseheadersregex
AuthResponseHeadersRegex string `` /* 139-byte string literal not displayed */
// AuthRequestHeaders defines the list of the headers to copy from the request to the authentication server.
// If not set or empty then all request headers are passed.
AuthRequestHeaders []string `json:"authRequestHeaders,omitempty" toml:"authRequestHeaders,omitempty" yaml:"authRequestHeaders,omitempty" export:"true"`
// MaxResponseBodySize defines the maximum body size in bytes allowed in the response from the authentication server.
MaxResponseBodySize *int64 `json:"maxResponseBodySize,omitempty" toml:"maxResponseBodySize,omitempty" yaml:"maxResponseBodySize,omitempty" export:"true"`
// AddAuthCookiesToResponse defines the list of cookies to copy from the authentication server response to the response.
AddAuthCookiesToResponse []string `` /* 139-byte string literal not displayed */
// HeaderField defines a header field to store the authenticated user.
// More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/forwardauth/#headerfield
HeaderField string `json:"headerField,omitempty" toml:"headerField,omitempty" yaml:"headerField,omitempty" export:"true"`
// ForwardBody defines whether to send the request body to the authentication server.
ForwardBody bool `json:"forwardBody,omitempty" toml:"forwardBody,omitempty" yaml:"forwardBody,omitempty" export:"true"`
// MaxBodySize defines the maximum body size in bytes allowed to be forwarded to the authentication server.
MaxBodySize *int64 `json:"maxBodySize,omitempty" toml:"maxBodySize,omitempty" yaml:"maxBodySize,omitempty" export:"true"`
// PreserveLocationHeader defines whether to forward the Location header to the client as is or prefix it with the domain name of the authentication server.
PreserveLocationHeader bool `` /* 133-byte string literal not displayed */
// PreserveRequestMethod defines whether to preserve the original request method while forwarding the request to the authentication server.
PreserveRequestMethod bool `` /* 130-byte string literal not displayed */
// AuthSigninURL specifies the URL to redirect to when the authentication server returns 401 Unauthorized.
AuthSigninURL string `json:"authSigninURL,omitempty" toml:"authSigninURL,omitempty" yaml:"authSigninURL,omitempty" export:"true"`
// Interpolate activates variable interpolation for Address and AuthSigninURL config options.
// Currently, this is only used by the NGINX provider to support variable substitution.
Interpolate bool `json:"interpolate,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
}
ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/forwardauth/
func (*ForwardAuth) DeepCopy ¶
func (in *ForwardAuth) DeepCopy() *ForwardAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardAuth.
func (*ForwardAuth) DeepCopyInto ¶
func (in *ForwardAuth) DeepCopyInto(out *ForwardAuth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ForwardAuth) SetDefaults ¶
func (f *ForwardAuth) SetDefaults()
type ForwardingTimeouts ¶
type ForwardingTimeouts struct {
DialTimeout ptypes.Duration `` /* 228-byte string literal not displayed */
ResponseHeaderTimeout ptypes.Duration `` /* 293-byte string literal not displayed */
IdleConnTimeout ptypes.Duration `` /* 230-byte string literal not displayed */
ReadIdleTimeout ptypes.Duration `` /* 291-byte string literal not displayed */
PingTimeout ptypes.Duration `` /* 214-byte string literal not displayed */
// related to NGINX provider
ReadTimeout ptypes.Duration `` /* 241-byte string literal not displayed */
WriteTimeout ptypes.Duration `` /* 244-byte string literal not displayed */
}
ForwardingTimeouts contains timeout configurations for forwarding requests to the backend servers.
func (*ForwardingTimeouts) DeepCopy ¶
func (in *ForwardingTimeouts) DeepCopy() *ForwardingTimeouts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingTimeouts.
func (*ForwardingTimeouts) DeepCopyInto ¶
func (in *ForwardingTimeouts) DeepCopyInto(out *ForwardingTimeouts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ForwardingTimeouts) SetDefaults ¶
func (f *ForwardingTimeouts) SetDefaults()
SetDefaults sets the default values.
type GRPCStatus ¶
type GRPCStatus struct {
Code codes.Code `json:"code,omitempty" toml:"code,omitempty" yaml:"code,omitempty" export:"true"`
Msg string `json:"msg,omitempty" toml:"msg,omitempty" yaml:"msg,omitempty" export:"true"`
}
func (*GRPCStatus) DeepCopy ¶
func (in *GRPCStatus) DeepCopy() *GRPCStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCStatus.
func (*GRPCStatus) DeepCopyInto ¶
func (in *GRPCStatus) DeepCopyInto(out *GRPCStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrpcWeb ¶
type GrpcWeb struct {
// AllowOrigins is a list of allowable origins.
// Can also be a wildcard origin "*".
AllowOrigins []string `json:"allowOrigins,omitempty" toml:"allowOrigins,omitempty" yaml:"allowOrigins,omitempty"`
}
GrpcWeb holds the gRPC web middleware configuration. This middleware converts a gRPC web request to an HTTP/2 gRPC request.
func (*GrpcWeb) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcWeb.
func (*GrpcWeb) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HRWService ¶
type HRWService struct {
Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty" export:"true"`
Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty" export:"true"`
}
HRWService is a reference to a service load-balanced with highest random weight.
func (*HRWService) DeepCopy ¶
func (in *HRWService) DeepCopy() *HRWService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HRWService.
func (*HRWService) DeepCopyInto ¶
func (in *HRWService) DeepCopyInto(out *HRWService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HRWService) SetDefaults ¶
func (w *HRWService) SetDefaults()
SetDefaults Default values for a HRWService.
type HTTPConfiguration ¶
type HTTPConfiguration struct {
ext.HTTP `yaml:",inline"`
Routers map[string]*Router `json:"routers,omitempty" toml:"routers,omitempty" yaml:"routers,omitempty" export:"true"`
Services map[string]*Service `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"`
Middlewares map[string]*Middleware `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"`
Models map[string]*Model `json:"models,omitempty" toml:"models,omitempty" yaml:"models,omitempty" export:"true"`
ServersTransports map[string]*ServersTransport `` /* 128-byte string literal not displayed */
}
HTTPConfiguration contains all the HTTP configuration parameters.
func (*HTTPConfiguration) DeepCopy ¶
func (in *HTTPConfiguration) DeepCopy() *HTTPConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPConfiguration.
func (*HTTPConfiguration) DeepCopyInto ¶
func (in *HTTPConfiguration) DeepCopyInto(out *HTTPConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HeaderModifier ¶
type HeaderModifier struct {
Set map[string]string `json:"set,omitempty"`
Add map[string]string `json:"add,omitempty"`
Remove []string `json:"remove,omitempty"`
}
HeaderModifier holds the request/response header modifier configuration.
func (*HeaderModifier) DeepCopy ¶
func (in *HeaderModifier) DeepCopy() *HeaderModifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderModifier.
func (*HeaderModifier) DeepCopyInto ¶
func (in *HeaderModifier) DeepCopyInto(out *HeaderModifier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Headers ¶
type Headers struct {
// CustomRequestHeaders defines the header names and values to apply to the request.
CustomRequestHeaders map[string]string `` /* 127-byte string literal not displayed */
// CustomResponseHeaders defines the header names and values to apply to the response.
CustomResponseHeaders map[string]string `` /* 130-byte string literal not displayed */
// AccessControlAllowCredentials defines whether the request can include user credentials.
AccessControlAllowCredentials bool `` /* 154-byte string literal not displayed */
// AccessControlAllowHeaders defines the Access-Control-Request-Headers values sent in preflight response.
AccessControlAllowHeaders []string `` /* 142-byte string literal not displayed */
// AccessControlAllowMethods defines the Access-Control-Request-Method values sent in preflight response.
AccessControlAllowMethods []string `` /* 142-byte string literal not displayed */
// AccessControlAllowOriginList is a list of allowable origins. Can also be a wildcard origin "*".
AccessControlAllowOriginList []string `` /* 137-byte string literal not displayed */
// AccessControlAllowOriginListRegex is a list of allowable origins written following the Regular Expression syntax (https://golang.org/pkg/regexp/).
AccessControlAllowOriginListRegex []string `` /* 152-byte string literal not displayed */
// AccessControlExposeHeaders defines the Access-Control-Expose-Headers values sent in preflight response.
AccessControlExposeHeaders []string `` /* 145-byte string literal not displayed */
// AccessControlMaxAge defines the time that a preflight request may be cached.
AccessControlMaxAge int64 `json:"accessControlMaxAge,omitempty" toml:"accessControlMaxAge,omitempty" yaml:"accessControlMaxAge,omitempty" export:"true"`
// AddVaryHeader defines whether the Vary header is automatically added/updated when the AccessControlAllowOriginList is set.
AddVaryHeader bool `json:"addVaryHeader,omitempty" toml:"addVaryHeader,omitempty" yaml:"addVaryHeader,omitempty" export:"true"`
// AllowedHosts defines the fully qualified list of allowed domain names.
AllowedHosts []string `json:"allowedHosts,omitempty" toml:"allowedHosts,omitempty" yaml:"allowedHosts,omitempty"`
// HostsProxyHeaders defines the header keys that may hold a proxied hostname value for the request.
HostsProxyHeaders []string `json:"hostsProxyHeaders,omitempty" toml:"hostsProxyHeaders,omitempty" yaml:"hostsProxyHeaders,omitempty" export:"true"`
// SSLProxyHeaders defines the header keys with associated values that would indicate a valid HTTPS request.
// It can be useful when using other proxies (example: "X-Forwarded-Proto": "https").
SSLProxyHeaders map[string]string `json:"sslProxyHeaders,omitempty" toml:"sslProxyHeaders,omitempty" yaml:"sslProxyHeaders,omitempty"`
// STSSeconds defines the max-age of the Strict-Transport-Security header.
// If set to 0, the header is not set.
// +kubebuilder:validation:Minimum=0
STSSeconds int64 `json:"stsSeconds,omitempty" toml:"stsSeconds,omitempty" yaml:"stsSeconds,omitempty" export:"true"`
// STSIncludeSubdomains defines whether the includeSubDomains directive is appended to the Strict-Transport-Security header.
STSIncludeSubdomains bool `` /* 127-byte string literal not displayed */
// STSPreload defines whether the preload flag is appended to the Strict-Transport-Security header.
STSPreload bool `json:"stsPreload,omitempty" toml:"stsPreload,omitempty" yaml:"stsPreload,omitempty" export:"true"`
// ForceSTSHeader defines whether to add the STS header even when the connection is HTTP.
ForceSTSHeader bool `json:"forceSTSHeader,omitempty" toml:"forceSTSHeader,omitempty" yaml:"forceSTSHeader,omitempty" export:"true"`
// FrameDeny defines whether to add the X-Frame-Options header with the DENY value.
FrameDeny bool `json:"frameDeny,omitempty" toml:"frameDeny,omitempty" yaml:"frameDeny,omitempty" export:"true"`
// CustomFrameOptionsValue defines the X-Frame-Options header value.
// This overrides the FrameDeny option.
CustomFrameOptionsValue string `json:"customFrameOptionsValue,omitempty" toml:"customFrameOptionsValue,omitempty" yaml:"customFrameOptionsValue,omitempty"`
// ContentTypeNosniff defines whether to add the X-Content-Type-Options header with the nosniff value.
ContentTypeNosniff bool `json:"contentTypeNosniff,omitempty" toml:"contentTypeNosniff,omitempty" yaml:"contentTypeNosniff,omitempty" export:"true"`
// BrowserXSSFilter defines whether to add the X-XSS-Protection header with the value 1; mode=block.
BrowserXSSFilter bool `json:"browserXssFilter,omitempty" toml:"browserXssFilter,omitempty" yaml:"browserXssFilter,omitempty" export:"true"`
// CustomBrowserXSSValue defines the X-XSS-Protection header value.
// This overrides the BrowserXssFilter option.
CustomBrowserXSSValue string `json:"customBrowserXSSValue,omitempty" toml:"customBrowserXSSValue,omitempty" yaml:"customBrowserXSSValue,omitempty"`
// ContentSecurityPolicy defines the Content-Security-Policy header value.
ContentSecurityPolicy string `json:"contentSecurityPolicy,omitempty" toml:"contentSecurityPolicy,omitempty" yaml:"contentSecurityPolicy,omitempty"`
// ContentSecurityPolicyReportOnly defines the Content-Security-Policy-Report-Only header value.
ContentSecurityPolicyReportOnly string `` /* 146-byte string literal not displayed */
// PublicKey is the public key that implements HPKP to prevent MITM attacks with forged certificates.
PublicKey string `json:"publicKey,omitempty" toml:"publicKey,omitempty" yaml:"publicKey,omitempty"`
// ReferrerPolicy defines the Referrer-Policy header value.
// This allows sites to control whether browsers forward the Referer header to other sites.
ReferrerPolicy string `json:"referrerPolicy,omitempty" toml:"referrerPolicy,omitempty" yaml:"referrerPolicy,omitempty" export:"true"`
// PermissionsPolicy defines the Permissions-Policy header value.
// This allows sites to control browser features.
PermissionsPolicy string `json:"permissionsPolicy,omitempty" toml:"permissionsPolicy,omitempty" yaml:"permissionsPolicy,omitempty" export:"true"`
// IsDevelopment defines whether to mitigate the unwanted effects of the AllowedHosts, SSL, and STS options when developing.
// Usually testing takes place using HTTP, not HTTPS, and on localhost, not your production domain.
// If you would like your development environment to mimic production with complete Host blocking, SSL redirects,
// and STS headers, leave this as false.
IsDevelopment bool `json:"isDevelopment,omitempty" toml:"isDevelopment,omitempty" yaml:"isDevelopment,omitempty" export:"true"`
// Deprecated: FeaturePolicy option is deprecated, please use PermissionsPolicy instead.
FeaturePolicy *string `json:"featurePolicy,omitempty" toml:"featurePolicy,omitempty" yaml:"featurePolicy,omitempty" export:"true"`
// Deprecated: SSLRedirect option is deprecated, please use EntryPoint redirection or RedirectScheme instead.
SSLRedirect *bool `json:"sslRedirect,omitempty" toml:"sslRedirect,omitempty" yaml:"sslRedirect,omitempty" export:"true"`
// Deprecated: SSLTemporaryRedirect option is deprecated, please use EntryPoint redirection or RedirectScheme instead.
SSLTemporaryRedirect *bool `` /* 127-byte string literal not displayed */
// Deprecated: SSLHost option is deprecated, please use RedirectRegex instead.
SSLHost *string `json:"sslHost,omitempty" toml:"sslHost,omitempty" yaml:"sslHost,omitempty"`
// Deprecated: SSLForceHost option is deprecated, please use RedirectRegex instead.
SSLForceHost *bool `json:"sslForceHost,omitempty" toml:"sslForceHost,omitempty" yaml:"sslForceHost,omitempty" export:"true"`
}
Headers holds the headers middleware configuration. This middleware manages the requests and responses headers. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/headers/#customrequestheaders
func (*Headers) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Headers.
func (*Headers) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Headers) HasCorsHeadersDefined ¶
HasCorsHeadersDefined checks to see if any of the cors header elements have been set.
func (*Headers) HasCustomHeadersDefined ¶
HasCustomHeadersDefined checks to see if any of the custom header elements have been set.
func (*Headers) HasSecureHeadersDefined ¶
HasSecureHeadersDefined checks to see if any of the secure header elements have been set.
type HealthCheck ¶
type HealthCheck struct{}
HealthCheck controls healthcheck awareness and propagation at the services level.
func (*HealthCheck) DeepCopy ¶
func (in *HealthCheck) DeepCopy() *HealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.
func (*HealthCheck) DeepCopyInto ¶
func (in *HealthCheck) DeepCopyInto(out *HealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HighestRandomWeight ¶
type HighestRandomWeight struct {
Services []HRWService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"`
// HealthCheck enables automatic self-healthcheck for this service, i.e.
// whenever one of its children is reported as down, this service becomes aware of it,
// and takes it into account (i.e. it ignores the down child) when running the
// load-balancing algorithm. In addition, if the parent of this service also has
// HealthCheck enabled, this service reports to its parent any status change.
HealthCheck *HealthCheck `` /* 153-byte string literal not displayed */
}
HighestRandomWeight is a weighted sticky load-balancer of services.
func (*HighestRandomWeight) DeepCopy ¶
func (in *HighestRandomWeight) DeepCopy() *HighestRandomWeight
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HighestRandomWeight.
func (*HighestRandomWeight) DeepCopyInto ¶
func (in *HighestRandomWeight) DeepCopyInto(out *HighestRandomWeight)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAllowList ¶
type IPAllowList struct {
// SourceRange defines the set of allowed IPs (or ranges of allowed IPs by using CIDR notation).
SourceRange []string `json:"sourceRange,omitempty" toml:"sourceRange,omitempty" yaml:"sourceRange,omitempty"`
IPStrategy *IPStrategy `` /* 150-byte string literal not displayed */
// RejectStatusCode defines the HTTP status code used for refused requests.
// If not set, the default is 403 (Forbidden).
RejectStatusCode int `` /* 168-byte string literal not displayed */
}
IPAllowList holds the IP allowlist middleware configuration. This middleware limits allowed requests based on the client IP. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/ipallowlist/
func (*IPAllowList) DeepCopy ¶
func (in *IPAllowList) DeepCopy() *IPAllowList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAllowList.
func (*IPAllowList) DeepCopyInto ¶
func (in *IPAllowList) DeepCopyInto(out *IPAllowList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPStrategy ¶
type IPStrategy struct {
// Depth tells Ingress to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right).
// +kubebuilder:validation:Minimum=0
Depth int `json:"depth,omitempty" toml:"depth,omitempty" yaml:"depth,omitempty" export:"true"`
// ExcludedIPs configures Ingress to scan the X-Forwarded-For header and select the first IP not in the list.
ExcludedIPs []string `json:"excludedIPs,omitempty" toml:"excludedIPs,omitempty" yaml:"excludedIPs,omitempty"`
// IPv6Subnet configures Ingress to consider all IPv6 addresses from the defined subnet as originating from the same IP. Applies to RemoteAddrStrategy and DepthStrategy.
IPv6Subnet *int `json:"ipv6Subnet,omitempty" toml:"ipv6Subnet,omitempty" yaml:"ipv6Subnet,omitempty"`
}
IPStrategy holds the IP strategy configuration used by Ingress to determine the client IP. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/ipallowlist/#ipstrategy
func (*IPStrategy) DeepCopy ¶
func (in *IPStrategy) DeepCopy() *IPStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPStrategy.
func (*IPStrategy) DeepCopyInto ¶
func (in *IPStrategy) DeepCopyInto(out *IPStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPWhiteList
deprecated
type IPWhiteList struct {
// SourceRange defines the set of allowed IPs (or ranges of allowed IPs by using CIDR notation). Required.
SourceRange []string `json:"sourceRange,omitempty" toml:"sourceRange,omitempty" yaml:"sourceRange,omitempty"`
IPStrategy *IPStrategy `` /* 150-byte string literal not displayed */
}
IPWhiteList holds the IP whitelist middleware configuration. This middleware limits allowed requests based on the client IP. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/ipwhitelist/
Deprecated: please use IPAllowList instead.
func (*IPWhiteList) DeepCopy ¶
func (in *IPWhiteList) DeepCopy() *IPWhiteList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPWhiteList.
func (*IPWhiteList) DeepCopyInto ¶
func (in *IPWhiteList) DeepCopyInto(out *IPWhiteList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InFlightReq ¶
type InFlightReq struct {
// Amount defines the maximum amount of allowed simultaneous in-flight request.
// The middleware responds with HTTP 429 Too Many Requests if there are already amount requests in progress (based on the same sourceCriterion strategy).
// +kubebuilder:validation:Minimum=0
Amount int64 `json:"amount,omitempty" toml:"amount,omitempty" yaml:"amount,omitempty" export:"true"`
// SourceCriterion defines what criterion is used to group requests as originating from a common source.
// If several strategies are defined at the same time, an error will be raised.
// If none are set, the default is to use the requestHost.
// More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/inflightreq/#sourcecriterion
SourceCriterion *SourceCriterion `json:"sourceCriterion,omitempty" toml:"sourceCriterion,omitempty" yaml:"sourceCriterion,omitempty" export:"true"`
}
InFlightReq holds the in-flight request middleware configuration. This middleware limits the number of requests being processed and served concurrently. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/inflightreq/
func (*InFlightReq) DeepCopy ¶
func (in *InFlightReq) DeepCopy() *InFlightReq
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InFlightReq.
func (*InFlightReq) DeepCopyInto ¶
func (in *InFlightReq) DeepCopyInto(out *InFlightReq)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Message ¶
type Message struct {
ProviderName string
Configuration *Configuration
}
Message holds configuration information exchanged between parts of ingress.
func (*Message) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Message.
func (*Message) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Middleware ¶
type Middleware struct {
AddPrefix *AddPrefix `json:"addPrefix,omitempty" toml:"addPrefix,omitempty" yaml:"addPrefix,omitempty" export:"true"`
StripPrefix *StripPrefix `json:"stripPrefix,omitempty" toml:"stripPrefix,omitempty" yaml:"stripPrefix,omitempty" export:"true"`
StripPrefixRegex *StripPrefixRegex `json:"stripPrefixRegex,omitempty" toml:"stripPrefixRegex,omitempty" yaml:"stripPrefixRegex,omitempty" export:"true"`
ReplacePath *ReplacePath `json:"replacePath,omitempty" toml:"replacePath,omitempty" yaml:"replacePath,omitempty" export:"true"`
ReplacePathRegex *ReplacePathRegex `json:"replacePathRegex,omitempty" toml:"replacePathRegex,omitempty" yaml:"replacePathRegex,omitempty" export:"true"`
Chain *Chain `json:"chain,omitempty" toml:"chain,omitempty" yaml:"chain,omitempty" export:"true"`
// Deprecated: please use IPAllowList instead.
IPWhiteList *IPWhiteList `json:"ipWhiteList,omitempty" toml:"ipWhiteList,omitempty" yaml:"ipWhiteList,omitempty" export:"true"`
IPAllowList *IPAllowList `json:"ipAllowList,omitempty" toml:"ipAllowList,omitempty" yaml:"ipAllowList,omitempty" export:"true"`
Headers *Headers `json:"headers,omitempty" toml:"headers,omitempty" yaml:"headers,omitempty" export:"true"`
EncodedCharacters *EncodedCharacters `json:"encodedCharacters,omitempty" toml:"encodedCharacters,omitempty" yaml:"encodedCharacters,omitempty" export:"true"`
Errors *ErrorPage `json:"errors,omitempty" toml:"errors,omitempty" yaml:"errors,omitempty" export:"true"`
RateLimit *RateLimit `json:"rateLimit,omitempty" toml:"rateLimit,omitempty" yaml:"rateLimit,omitempty" export:"true"`
RedirectRegex *RedirectRegex `json:"redirectRegex,omitempty" toml:"redirectRegex,omitempty" yaml:"redirectRegex,omitempty" export:"true"`
RedirectScheme *RedirectScheme `json:"redirectScheme,omitempty" toml:"redirectScheme,omitempty" yaml:"redirectScheme,omitempty" export:"true"`
BasicAuth *BasicAuth `json:"basicAuth,omitempty" toml:"basicAuth,omitempty" yaml:"basicAuth,omitempty" export:"true"`
DigestAuth *DigestAuth `json:"digestAuth,omitempty" toml:"digestAuth,omitempty" yaml:"digestAuth,omitempty" export:"true"`
ForwardAuth *ForwardAuth `json:"forwardAuth,omitempty" toml:"forwardAuth,omitempty" yaml:"forwardAuth,omitempty" export:"true"`
InFlightReq *InFlightReq `json:"inFlightReq,omitempty" toml:"inFlightReq,omitempty" yaml:"inFlightReq,omitempty" export:"true"`
Buffering *Buffering `json:"buffering,omitempty" toml:"buffering,omitempty" yaml:"buffering,omitempty" export:"true"`
CircuitBreaker *CircuitBreaker `json:"circuitBreaker,omitempty" toml:"circuitBreaker,omitempty" yaml:"circuitBreaker,omitempty" export:"true"`
Compress *Compress `` /* 144-byte string literal not displayed */
PassTLSClientCert *PassTLSClientCert `json:"passTLSClientCert,omitempty" toml:"passTLSClientCert,omitempty" yaml:"passTLSClientCert,omitempty" export:"true"`
Retry *Retry `json:"retry,omitempty" toml:"retry,omitempty" yaml:"retry,omitempty" export:"true"`
ContentType *ContentType `` /* 153-byte string literal not displayed */
GrpcWeb *GrpcWeb `json:"grpcWeb,omitempty" toml:"grpcWeb,omitempty" yaml:"grpcWeb,omitempty" export:"true"`
StaticFiles *StaticFiles `json:"staticFiles,omitempty" toml:"staticFiles,omitempty" yaml:"staticFiles,omitempty" export:"true"`
Plugin map[string]PluginConf `json:"plugin,omitempty" toml:"plugin,omitempty" yaml:"plugin,omitempty" export:"true"`
// Gateway API filter middlewares.
RequestHeaderModifier *HeaderModifier `json:"requestHeaderModifier,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
ResponseHeaderModifier *HeaderModifier `json:"responseHeaderModifier,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
RequestRedirect *RequestRedirect `json:"requestRedirect,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
URLRewrite *URLRewrite `json:"URLRewrite,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
// ingress-nginx middlewares.
AuthTLSPassCertificateToUpstream *AuthTLSPassCertificateToUpstream `json:"authTLSPassCertificateToUpstream,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
}
Middleware holds the Middleware configuration.
func (*Middleware) DeepCopy ¶
func (in *Middleware) DeepCopy() *Middleware
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Middleware.
func (*Middleware) DeepCopyInto ¶
func (in *Middleware) DeepCopyInto(out *Middleware)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MirrorService ¶
type MirrorService struct {
Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty" export:"true"`
Percent int `json:"percent,omitempty" toml:"percent,omitempty" yaml:"percent,omitempty" export:"true"`
}
MirrorService holds the MirrorService configuration.
func (*MirrorService) DeepCopy ¶
func (in *MirrorService) DeepCopy() *MirrorService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirrorService.
func (*MirrorService) DeepCopyInto ¶
func (in *MirrorService) DeepCopyInto(out *MirrorService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Mirroring ¶
type Mirroring struct {
Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"`
MirrorBody *bool `json:"mirrorBody,omitempty" toml:"mirrorBody,omitempty" yaml:"mirrorBody,omitempty" export:"true"`
MaxBodySize *int64 `json:"maxBodySize,omitempty" toml:"maxBodySize,omitempty" yaml:"maxBodySize,omitempty" export:"true"`
Mirrors []MirrorService `json:"mirrors,omitempty" toml:"mirrors,omitempty" yaml:"mirrors,omitempty" export:"true"`
HealthCheck *HealthCheck `` /* 153-byte string literal not displayed */
}
Mirroring holds the Mirroring configuration.
func (*Mirroring) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mirroring.
func (*Mirroring) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Mirroring) SetDefaults ¶
func (m *Mirroring) SetDefaults()
SetDefaults Default values for a WRRService.
type Model ¶
type Model struct {
Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"`
TLS *RouterTLSConfig `` /* 129-byte string literal not displayed */
Observability RouterObservabilityConfig `json:"observability,omitempty" toml:"observability,omitempty" yaml:"observability,omitempty" export:"true"`
DeniedEncodedPathCharacters *RouterDeniedEncodedPathCharacters `json:"-" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
DefaultRuleSyntax string `json:"-" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
}
Model holds model configuration.
func (*Model) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Model.
func (*Model) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PassTLSClientCert ¶
type PassTLSClientCert struct {
// PEM sets the X-Forwarded-Tls-Client-Cert header with the certificate.
PEM bool `json:"pem,omitempty" toml:"pem,omitempty" yaml:"pem,omitempty" export:"true"`
// Info selects the specific client certificate details you want to add to the X-Forwarded-Tls-Client-Cert-Info header.
Info *TLSClientCertificateInfo `json:"info,omitempty" toml:"info,omitempty" yaml:"info,omitempty" export:"true"`
}
PassTLSClientCert holds the pass TLS client cert middleware configuration. This middleware adds the selected data from the passed client TLS certificate to a header. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/passtlsclientcert/
func (*PassTLSClientCert) DeepCopy ¶
func (in *PassTLSClientCert) DeepCopy() *PassTLSClientCert
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassTLSClientCert.
func (*PassTLSClientCert) DeepCopyInto ¶
func (in *PassTLSClientCert) DeepCopyInto(out *PassTLSClientCert)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PassiveServerHealthCheck ¶
type PassiveServerHealthCheck struct {
// FailureWindow defines the time window during which the failed attempts must occur for the server to be marked as unhealthy. It also defines for how long the server will be considered unhealthy.
FailureWindow ptypes.Duration `json:"failureWindow,omitempty" toml:"failureWindow,omitempty" yaml:"failureWindow,omitempty" export:"true"`
// MaxFailedAttempts is the number of consecutive failed attempts allowed within the failure window before marking the server as unhealthy.
MaxFailedAttempts int `json:"maxFailedAttempts,omitempty" toml:"maxFailedAttempts,omitempty" yaml:"maxFailedAttempts,omitempty" export:"true"`
}
func (*PassiveServerHealthCheck) DeepCopy ¶
func (in *PassiveServerHealthCheck) DeepCopy() *PassiveServerHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassiveServerHealthCheck.
func (*PassiveServerHealthCheck) DeepCopyInto ¶
func (in *PassiveServerHealthCheck) DeepCopyInto(out *PassiveServerHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PassiveServerHealthCheck) SetDefaults ¶
func (p *PassiveServerHealthCheck) SetDefaults()
type PluginConf ¶
PluginConf holds the plugin configuration.
func (*PluginConf) DeepCopy ¶
func (in *PluginConf) DeepCopy() *PluginConf
DeepCopy is a deepcopy function, copying the receiver, creating a new PluginConf.
func (*PluginConf) DeepCopyInto ¶
func (in *PluginConf) DeepCopyInto(out *PluginConf)
DeepCopyInto is a deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyProtocol ¶
type ProxyProtocol struct {
// Version defines the PROXY Protocol version to use.
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=2
Version int `` /* 145-byte string literal not displayed */
}
ProxyProtocol holds the PROXY Protocol configuration. More info: https://hanzo.ai/docs/ingress/v3.6/routing/services/#proxy-protocol
func (*ProxyProtocol) DeepCopy ¶
func (in *ProxyProtocol) DeepCopy() *ProxyProtocol
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyProtocol.
func (*ProxyProtocol) DeepCopyInto ¶
func (in *ProxyProtocol) DeepCopyInto(out *ProxyProtocol)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxyProtocol) SetDefaults ¶
func (p *ProxyProtocol) SetDefaults()
SetDefaults Default values for a ProxyProtocol.
type RateLimit ¶
type RateLimit struct {
// Average is the maximum rate, by default in requests/s, allowed for the given source.
// It defaults to 0, which means no rate limiting.
// The rate is actually defined by dividing Average by Period. So for a rate below 1req/s,
// one needs to define a Period larger than a second.
Average int64 `json:"average,omitempty" toml:"average,omitempty" yaml:"average,omitempty" export:"true"`
// Period, in combination with Average, defines the actual maximum rate, such as:
// r = Average / Period. It defaults to a second.
Period ptypes.Duration `json:"period,omitempty" toml:"period,omitempty" yaml:"period,omitempty" export:"true"`
// Burst is the maximum number of requests allowed to arrive in the same arbitrarily small period of time.
// It defaults to 1.
Burst int64 `json:"burst,omitempty" toml:"burst,omitempty" yaml:"burst,omitempty" export:"true"`
// SourceCriterion defines what criterion is used to group requests as originating from a common source.
// If several strategies are defined at the same time, an error will be raised.
// If none are set, the default is to use the request's remote address field (as an ipStrategy).
SourceCriterion *SourceCriterion `json:"sourceCriterion,omitempty" toml:"sourceCriterion,omitempty" yaml:"sourceCriterion,omitempty" export:"true"`
// Redis stores the configuration for using Redis as a bucket in the rate-limiting algorithm.
// If not specified, Ingress will default to an in-memory bucket for the algorithm.
Redis *Redis `json:"redis,omitempty" toml:"redis,omitempty" yaml:"redis,omitempty" export:"true"`
}
RateLimit holds the rate limit configuration. This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is.
func (*RateLimit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit.
func (*RateLimit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimit) SetDefaults ¶
func (r *RateLimit) SetDefaults()
SetDefaults sets the default values on a RateLimit.
type RedirectRegex ¶
type RedirectRegex struct {
// Regex defines the regex used to match and capture elements from the request URL.
Regex string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty"`
// Replacement defines how to modify the URL to have the new target URL.
Replacement string `json:"replacement,omitempty" toml:"replacement,omitempty" yaml:"replacement,omitempty"`
// Permanent defines whether the redirection is permanent (308).
Permanent bool `json:"permanent,omitempty" toml:"permanent,omitempty" yaml:"permanent,omitempty" export:"true"`
// StatusCode is for supporting the NGINX annotations related to redirect.
StatusCode *int `json:"-" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
}
RedirectRegex holds the redirect regex middleware configuration. This middleware redirects a request using regex matching and replacement. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/redirectregex/#regex
func (*RedirectRegex) DeepCopy ¶
func (in *RedirectRegex) DeepCopy() *RedirectRegex
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedirectRegex.
func (*RedirectRegex) DeepCopyInto ¶
func (in *RedirectRegex) DeepCopyInto(out *RedirectRegex)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedirectScheme ¶
type RedirectScheme struct {
// Scheme defines the scheme of the new URL.
Scheme string `json:"scheme,omitempty" toml:"scheme,omitempty" yaml:"scheme,omitempty" export:"true"`
// Port defines the port of the new URL.
Port string `json:"port,omitempty" toml:"port,omitempty" yaml:"port,omitempty" export:"true"`
// Permanent defines whether the redirection is permanent.
// For HTTP GET requests a 301 is returned, otherwise a 308 is returned.
Permanent bool `json:"permanent,omitempty" toml:"permanent,omitempty" yaml:"permanent,omitempty" export:"true"`
// ForcePermanentRedirect is an internal field (not exposed in configuration).
// When set to true, this forces the use of permanent redirects 308, regardless of the request method.
// Used by the provider ingress-ngin.
ForcePermanentRedirect bool `json:"-" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
}
RedirectScheme holds the redirect scheme middleware configuration. This middleware redirects requests from a scheme/port to another. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/redirectscheme/
func (*RedirectScheme) DeepCopy ¶
func (in *RedirectScheme) DeepCopy() *RedirectScheme
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedirectScheme.
func (*RedirectScheme) DeepCopyInto ¶
func (in *RedirectScheme) DeepCopyInto(out *RedirectScheme)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Redis ¶
type Redis struct {
// Endpoints contains either a single address or a seed list of host:port addresses.
// Default value is ["localhost:6379"].
Endpoints []string `json:"endpoints,omitempty" toml:"endpoints,omitempty" yaml:"endpoints,omitempty"`
// TLS defines TLS-specific configurations, including the CA, certificate, and key,
// which can be provided as a file path or file content.
TLS *types.ClientTLS `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty" export:"true"`
// Username defines the username to connect to the Redis server.
Username string `json:"username,omitempty" toml:"username,omitempty" yaml:"username,omitempty" loggable:"false"`
// Password defines the password to connect to the Redis server.
Password string `json:"password,omitempty" toml:"password,omitempty" yaml:"password,omitempty" loggable:"false"`
// DB defines the Redis database that will be selected after connecting to the server.
DB int `json:"db,omitempty" toml:"db,omitempty" yaml:"db,omitempty"`
// PoolSize defines the initial number of socket connections.
// If the pool runs out of available connections, additional ones will be created beyond PoolSize.
// This can be limited using MaxActiveConns.
// Default value is 0, meaning 10 connections per every available CPU as reported by runtime.GOMAXPROCS.
PoolSize int `json:"poolSize,omitempty" toml:"poolSize,omitempty" yaml:"poolSize,omitempty" export:"true"`
// MinIdleConns defines the minimum number of idle connections.
// Default value is 0, and idle connections are not closed by default.
MinIdleConns int `json:"minIdleConns,omitempty" toml:"minIdleConns,omitempty" yaml:"minIdleConns,omitempty" export:"true"`
// MaxActiveConns defines the maximum number of connections allocated by the pool at a given time.
// Default value is 0, meaning there is no limit.
MaxActiveConns int `json:"maxActiveConns,omitempty" toml:"maxActiveConns,omitempty" yaml:"maxActiveConns,omitempty" export:"true"`
// ReadTimeout defines the timeout for socket read operations.
// Default value is 3 seconds.
ReadTimeout *ptypes.Duration `json:"readTimeout,omitempty" toml:"readTimeout,omitempty" yaml:"readTimeout,omitempty" export:"true"`
// WriteTimeout defines the timeout for socket write operations.
// Default value is 3 seconds.
WriteTimeout *ptypes.Duration `json:"writeTimeout,omitempty" toml:"writeTimeout,omitempty" yaml:"writeTimeout,omitempty" export:"true"`
// DialTimeout sets the timeout for establishing new connections.
// Default value is 5 seconds.
DialTimeout *ptypes.Duration `json:"dialTimeout,omitempty" toml:"dialTimeout,omitempty" yaml:"dialTimeout,omitempty" export:"true"`
}
Redis holds the Redis configuration.
func (*Redis) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Redis.
func (*Redis) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Redis) SetDefaults ¶
func (r *Redis) SetDefaults()
SetDefaults sets the default values on a RateLimit.
type ReplacePath ¶
type ReplacePath struct {
// Path defines the path to use as replacement in the request URL.
Path string `json:"path,omitempty" toml:"path,omitempty" yaml:"path,omitempty" export:"true"`
}
ReplacePath holds the replace path middleware configuration. This middleware replaces the path of the request URL and store the original path in an X-Replaced-Path header. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/replacepath/
func (*ReplacePath) DeepCopy ¶
func (in *ReplacePath) DeepCopy() *ReplacePath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplacePath.
func (*ReplacePath) DeepCopyInto ¶
func (in *ReplacePath) DeepCopyInto(out *ReplacePath)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplacePathRegex ¶
type ReplacePathRegex struct {
// Regex defines the regular expression used to match and capture the path from the request URL.
Regex string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty" export:"true"`
// Replacement defines the replacement path format, which can include captured variables.
Replacement string `json:"replacement,omitempty" toml:"replacement,omitempty" yaml:"replacement,omitempty" export:"true"`
}
ReplacePathRegex holds the replace path regex middleware configuration. This middleware replaces the path of a URL using regex matching and replacement. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/replacepathregex/
func (*ReplacePathRegex) DeepCopy ¶
func (in *ReplacePathRegex) DeepCopy() *ReplacePathRegex
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplacePathRegex.
func (*ReplacePathRegex) DeepCopyInto ¶
func (in *ReplacePathRegex) DeepCopyInto(out *ReplacePathRegex)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequestRedirect ¶
type RequestRedirect struct {
Scheme *string `json:"scheme,omitempty"`
Hostname *string `json:"hostname,omitempty"`
Port *string `json:"port,omitempty"`
Path *string `json:"path,omitempty"`
PathPrefix *string `json:"pathPrefix,omitempty"`
StatusCode int `json:"statusCode,omitempty"`
}
RequestRedirect holds the request redirect middleware configuration.
func (*RequestRedirect) DeepCopy ¶
func (in *RequestRedirect) DeepCopy() *RequestRedirect
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestRedirect.
func (*RequestRedirect) DeepCopyInto ¶
func (in *RequestRedirect) DeepCopyInto(out *RequestRedirect)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResponseForwarding ¶
type ResponseForwarding struct {
// FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body.
// A negative value means to flush immediately after each write to the client.
// This configuration is ignored when ReverseProxy recognizes a response as a streaming response;
// for such responses, writes are flushed to the client immediately.
// Default: 100ms
FlushInterval ptypes.Duration `json:"flushInterval,omitempty" toml:"flushInterval,omitempty" yaml:"flushInterval,omitempty" export:"true"`
}
ResponseForwarding holds the response forwarding configuration.
func (*ResponseForwarding) DeepCopy ¶
func (in *ResponseForwarding) DeepCopy() *ResponseForwarding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseForwarding.
func (*ResponseForwarding) DeepCopyInto ¶
func (in *ResponseForwarding) DeepCopyInto(out *ResponseForwarding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResponseForwarding) SetDefaults ¶
func (r *ResponseForwarding) SetDefaults()
SetDefaults Default values for a ResponseForwarding.
type Retry ¶
type Retry struct {
// Attempts defines how many times the request should be retried.
Attempts int `json:"attempts,omitempty" toml:"attempts,omitempty" yaml:"attempts,omitempty" export:"true"`
// Timeout defines how much time the middleware is allowed to retry the request.
Timeout ptypes.Duration `json:"timeout,omitempty" toml:"timeout,omitempty" yaml:"timeout,omitempty" export:"true"`
// InitialInterval defines the first wait time in the exponential backoff series.
// The maximum interval is calculated as twice the initialInterval.
// If unspecified, requests will be retried immediately.
// The value of initialInterval should be provided in seconds or as a valid duration format,
// see https://pkg.go.dev/time#ParseDuration.
InitialInterval ptypes.Duration `json:"initialInterval,omitempty" toml:"initialInterval,omitempty" yaml:"initialInterval,omitempty" export:"true"`
// MaxRequestBodyBytes defines the maximum size for the request body.
MaxRequestBodyBytes *int64 `json:"maxRequestBodyBytes,omitempty" toml:"maxRequestBodyBytes,omitempty" yaml:"maxRequestBodyBytes,omitempty" export:"true"`
// Status defines the range of HTTP status codes to retry on.
Status []string `json:"status,omitempty" toml:"status,omitempty" yaml:"status,omitempty" export:"true"`
// DisableRetryOnNetworkError defines whether to disable the retry if an error occurs when transmitting the request to the server.
DisableRetryOnNetworkError bool `` /* 145-byte string literal not displayed */
// RetryNonIdempotentMethod activates the retry for non-idempotent methods (POST, LOCK, PATCH)
RetryNonIdempotentMethod bool `` /* 139-byte string literal not displayed */
}
Retry holds the retry middleware configuration. This middleware reissues requests a given number of times to a backend server if that server does not reply. As soon as the server answers, the middleware stops retrying, regardless of the response status. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/retry/
func (*Retry) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Retry.
func (*Retry) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Retry) SetDefaults ¶
func (r *Retry) SetDefaults()
type Router ¶
type Router struct {
ext.Router `yaml:",inline"`
EntryPoints []string `json:"entryPoints,omitempty" toml:"entryPoints,omitempty" yaml:"entryPoints,omitempty" export:"true"`
Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"`
Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"`
Rule string `json:"rule,omitempty" toml:"rule,omitempty" yaml:"rule,omitempty"`
ParentRefs []string `json:"parentRefs,omitempty" toml:"parentRefs,omitempty" yaml:"parentRefs,omitempty" label:"-" export:"true"`
// Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
RuleSyntax string `json:"ruleSyntax,omitempty" toml:"ruleSyntax,omitempty" yaml:"ruleSyntax,omitempty" export:"true"`
Priority int `json:"priority,omitempty" toml:"priority,omitempty,omitzero" yaml:"priority,omitempty" export:"true"`
TLS *RouterTLSConfig `` /* 129-byte string literal not displayed */
Observability *RouterObservabilityConfig `json:"observability,omitempty" toml:"observability,omitempty" yaml:"observability,omitempty" export:"true"`
DefaultRule bool `json:"-" toml:"-" yaml:"-" label:"-" file:"-"`
DeniedEncodedPathCharacters *RouterDeniedEncodedPathCharacters `json:"-" toml:"-" yaml:"-" label:"-" file:"-" kv:"-"`
}
Router holds the router configuration.
func (*Router) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Router.
func (*Router) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterDeniedEncodedPathCharacters ¶
type RouterDeniedEncodedPathCharacters struct {
AllowEncodedSlash bool `` /* 212-byte string literal not displayed */
AllowEncodedBackSlash bool `` /* 229-byte string literal not displayed */
AllowEncodedNullCharacter bool `` /* 235-byte string literal not displayed */
AllowEncodedSemicolon bool `` /* 228-byte string literal not displayed */
AllowEncodedPercent bool `` /* 220-byte string literal not displayed */
AllowEncodedQuestionMark bool `` /* 241-byte string literal not displayed */
AllowEncodedHash bool `` /* 208-byte string literal not displayed */
}
RouterDeniedEncodedPathCharacters configures which encoded characters are allowed in the request path.
func (*RouterDeniedEncodedPathCharacters) DeepCopy ¶
func (in *RouterDeniedEncodedPathCharacters) DeepCopy() *RouterDeniedEncodedPathCharacters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterDeniedEncodedPathCharacters.
func (*RouterDeniedEncodedPathCharacters) DeepCopyInto ¶
func (in *RouterDeniedEncodedPathCharacters) DeepCopyInto(out *RouterDeniedEncodedPathCharacters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouterDeniedEncodedPathCharacters) Map ¶
func (r *RouterDeniedEncodedPathCharacters) Map() map[string]struct{}
Map returns a map of unallowed encoded characters.
type RouterObservabilityConfig ¶
type RouterObservabilityConfig struct {
// AccessLogs enables access logs for this router.
AccessLogs *bool `json:"accessLogs,omitempty" toml:"accessLogs,omitempty" yaml:"accessLogs,omitempty" export:"true"`
// Metrics enables metrics for this router.
Metrics *bool `json:"metrics,omitempty" toml:"metrics,omitempty" yaml:"metrics,omitempty" export:"true"`
// Tracing enables tracing for this router.
Tracing *bool `json:"tracing,omitempty" toml:"tracing,omitempty" yaml:"tracing,omitempty" export:"true"`
// TraceVerbosity defines the verbosity level of the tracing for this router.
// +kubebuilder:validation:Enum=minimal;detailed
// +kubebuilder:default=minimal
TraceVerbosity otypes.TracingVerbosity `json:"traceVerbosity,omitempty" toml:"traceVerbosity,omitempty" yaml:"traceVerbosity,omitempty" export:"true"`
}
RouterObservabilityConfig holds the observability configuration for a router.
func (*RouterObservabilityConfig) DeepCopy ¶
func (in *RouterObservabilityConfig) DeepCopy() *RouterObservabilityConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterObservabilityConfig.
func (*RouterObservabilityConfig) DeepCopyInto ¶
func (in *RouterObservabilityConfig) DeepCopyInto(out *RouterObservabilityConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouterObservabilityConfig) SetDefaults ¶
func (r *RouterObservabilityConfig) SetDefaults()
SetDefaults Default values for a RouterObservabilityConfig.
type RouterTCPTLSConfig ¶
type RouterTCPTLSConfig struct {
Passthrough bool `json:"passthrough" toml:"passthrough" yaml:"passthrough" export:"true"`
Options string `json:"options,omitempty" toml:"options,omitempty" yaml:"options,omitempty" export:"true"`
CertResolver string `json:"certResolver,omitempty" toml:"certResolver,omitempty" yaml:"certResolver,omitempty" export:"true"`
Domains []types.Domain `json:"domains,omitempty" toml:"domains,omitempty" yaml:"domains,omitempty" export:"true"`
}
RouterTCPTLSConfig holds the TLS configuration for a router.
func (*RouterTCPTLSConfig) DeepCopy ¶
func (in *RouterTCPTLSConfig) DeepCopy() *RouterTCPTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterTCPTLSConfig.
func (*RouterTCPTLSConfig) DeepCopyInto ¶
func (in *RouterTCPTLSConfig) DeepCopyInto(out *RouterTCPTLSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouterTLSConfig ¶
type RouterTLSConfig struct {
Options string `json:"options,omitempty" toml:"options,omitempty" yaml:"options,omitempty" export:"true"`
CertResolver string `json:"certResolver,omitempty" toml:"certResolver,omitempty" yaml:"certResolver,omitempty" export:"true"`
Domains []types.Domain `json:"domains,omitempty" toml:"domains,omitempty" yaml:"domains,omitempty" export:"true"`
}
RouterTLSConfig holds the TLS configuration for a router.
func (*RouterTLSConfig) DeepCopy ¶
func (in *RouterTLSConfig) DeepCopy() *RouterTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterTLSConfig.
func (*RouterTLSConfig) DeepCopyInto ¶
func (in *RouterTLSConfig) DeepCopyInto(out *RouterTLSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Server ¶
type Server struct {
URL string `json:"url,omitempty" toml:"url,omitempty" yaml:"url,omitempty"`
Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty" export:"true"`
PreservePath bool `json:"preservePath,omitempty" toml:"preservePath,omitempty" yaml:"preservePath,omitempty" export:"true"`
Fenced bool `json:"fenced,omitempty" toml:"-" yaml:"-" label:"-" file:"-" kv:"-"`
// Scheme can only be defined with label Providers.
Scheme string `json:"-" toml:"-" yaml:"-" file:"-" kv:"-"`
Port string `json:"-" toml:"-" yaml:"-" file:"-" kv:"-"`
}
Server holds the server configuration.
func (*Server) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Server.
func (*Server) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerHealthCheck ¶
type ServerHealthCheck struct {
Scheme string `json:"scheme,omitempty" toml:"scheme,omitempty" yaml:"scheme,omitempty" export:"true"`
Mode string `json:"mode,omitempty" toml:"mode,omitempty" yaml:"mode,omitempty" export:"true"`
Path string `json:"path,omitempty" toml:"path,omitempty" yaml:"path,omitempty" export:"true"`
Method string `json:"method,omitempty" toml:"method,omitempty" yaml:"method,omitempty" export:"true"`
Status int `json:"status,omitempty" toml:"status,omitempty" yaml:"status,omitempty" export:"true"`
Port int `json:"port,omitempty" toml:"port,omitempty,omitzero" yaml:"port,omitempty" export:"true"`
Interval ptypes.Duration `json:"interval,omitempty" toml:"interval,omitempty" yaml:"interval,omitempty" export:"true"`
UnhealthyInterval *ptypes.Duration `json:"unhealthyInterval,omitempty" toml:"unhealthyInterval,omitempty" yaml:"unhealthyInterval,omitempty" export:"true"`
Timeout ptypes.Duration `json:"timeout,omitempty" toml:"timeout,omitempty" yaml:"timeout,omitempty" export:"true"`
Hostname string `json:"hostname,omitempty" toml:"hostname,omitempty" yaml:"hostname,omitempty"`
FollowRedirects *bool `json:"followRedirects,omitempty" toml:"followRedirects,omitempty" yaml:"followRedirects,omitempty" export:"true"`
Headers map[string]string `json:"headers,omitempty" toml:"headers,omitempty" yaml:"headers,omitempty" export:"true"`
}
ServerHealthCheck holds the HealthCheck configuration.
func (*ServerHealthCheck) DeepCopy ¶
func (in *ServerHealthCheck) DeepCopy() *ServerHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerHealthCheck.
func (*ServerHealthCheck) DeepCopyInto ¶
func (in *ServerHealthCheck) DeepCopyInto(out *ServerHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerHealthCheck) SetDefaults ¶
func (h *ServerHealthCheck) SetDefaults()
SetDefaults Default values for a HealthCheck.
type ServersLoadBalancer ¶
type ServersLoadBalancer struct {
Sticky *Sticky `` /* 138-byte string literal not displayed */
Servers []Server `json:"servers,omitempty" toml:"servers,omitempty" yaml:"servers,omitempty" label-slice-as-struct:"server" export:"true"`
Strategy BalancerStrategy `json:"strategy,omitempty" toml:"strategy,omitempty" yaml:"strategy,omitempty" export:"true"`
// HealthCheck enables regular active checks of the responsiveness of the
// children servers of this load-balancer. To propagate status changes (e.g. all
// servers of this service are down) upwards, HealthCheck must also be enabled on
// the parent(s) of this service.
HealthCheck *ServerHealthCheck `json:"healthCheck,omitempty" toml:"healthCheck,omitempty" yaml:"healthCheck,omitempty" export:"true"`
// PassiveHealthCheck enables passive health checks for children servers of this load-balancer.
PassiveHealthCheck *PassiveServerHealthCheck `json:"passiveHealthCheck,omitempty" toml:"passiveHealthCheck,omitempty" yaml:"passiveHealthCheck,omitempty" export:"true"`
PassHostHeader *bool `json:"passHostHeader" toml:"passHostHeader" yaml:"passHostHeader" export:"true"`
ResponseForwarding *ResponseForwarding `json:"responseForwarding,omitempty" toml:"responseForwarding,omitempty" yaml:"responseForwarding,omitempty" export:"true"`
ServersTransport string `json:"serversTransport,omitempty" toml:"serversTransport,omitempty" yaml:"serversTransport,omitempty" export:"true"`
}
ServersLoadBalancer holds the ServersLoadBalancer configuration.
func (*ServersLoadBalancer) DeepCopy ¶
func (in *ServersLoadBalancer) DeepCopy() *ServersLoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersLoadBalancer.
func (*ServersLoadBalancer) DeepCopyInto ¶
func (in *ServersLoadBalancer) DeepCopyInto(out *ServersLoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServersLoadBalancer) Merge ¶
func (l *ServersLoadBalancer) Merge(other *ServersLoadBalancer) bool
Merge merges the other load balancer into this one. Returns true if merge succeeded, false if configurations conflict.
func (*ServersLoadBalancer) SetDefaults ¶
func (l *ServersLoadBalancer) SetDefaults()
SetDefaults Default values for a ServersLoadBalancer.
type ServersTransport ¶
type ServersTransport struct {
ServerName string `` /* 148-byte string literal not displayed */
InsecureSkipVerify bool `` /* 174-byte string literal not displayed */
RootCAs []types.FileOrContent `` /* 160-byte string literal not displayed */
Certificates ingresstls.Certificates `` /* 165-byte string literal not displayed */
CipherSuites []string `` /* 183-byte string literal not displayed */
MinVersion string `` /* 183-byte string literal not displayed */
MaxVersion string `` /* 183-byte string literal not displayed */
MaxIdleConnsPerHost int `` /* 293-byte string literal not displayed */
ForwardingTimeouts *ForwardingTimeouts `` /* 203-byte string literal not displayed */
DisableHTTP2 bool `` /* 171-byte string literal not displayed */
PeerCertURI string `` /* 202-byte string literal not displayed */
Spiffe *Spiffe `` /* 170-byte string literal not displayed */
}
ServersTransport options to configure communication between Ingress and the servers.
func (*ServersTransport) DeepCopy ¶
func (in *ServersTransport) DeepCopy() *ServersTransport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersTransport.
func (*ServersTransport) DeepCopyInto ¶
func (in *ServersTransport) DeepCopyInto(out *ServersTransport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Service ¶
type Service struct {
Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"`
LoadBalancer *ServersLoadBalancer `json:"loadBalancer,omitempty" toml:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty" export:"true"`
HighestRandomWeight *HighestRandomWeight `` /* 134-byte string literal not displayed */
Weighted *WeightedRoundRobin `json:"weighted,omitempty" toml:"weighted,omitempty" yaml:"weighted,omitempty" label:"-" export:"true"`
Mirroring *Mirroring `json:"mirroring,omitempty" toml:"mirroring,omitempty" yaml:"mirroring,omitempty" label:"-" export:"true"`
Failover *Failover `json:"failover,omitempty" toml:"failover,omitempty" yaml:"failover,omitempty" label:"-" export:"true"`
}
Service holds a service configuration (can only be of one type at the same time).
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceCriterion ¶
type SourceCriterion struct {
IPStrategy *IPStrategy `json:"ipStrategy,omitempty" toml:"ipStrategy,omitempty" yaml:"ipStrategy,omitempty" export:"true"`
// RequestHeaderName defines the name of the header used to group incoming requests.
RequestHeaderName string `json:"requestHeaderName,omitempty" toml:"requestHeaderName,omitempty" yaml:"requestHeaderName,omitempty" export:"true"`
// RequestHost defines whether to consider the request Host as the source.
RequestHost bool `json:"requestHost,omitempty" toml:"requestHost,omitempty" yaml:"requestHost,omitempty" export:"true"`
}
SourceCriterion defines what criterion is used to group requests as originating from a common source. If none are set, the default is to use the request's remote address field. All fields are mutually exclusive.
func (*SourceCriterion) DeepCopy ¶
func (in *SourceCriterion) DeepCopy() *SourceCriterion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceCriterion.
func (*SourceCriterion) DeepCopyInto ¶
func (in *SourceCriterion) DeepCopyInto(out *SourceCriterion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Spiffe ¶
type Spiffe struct {
// IDs defines the allowed SPIFFE IDs (takes precedence over the SPIFFE TrustDomain).
IDs []string `` /* 155-byte string literal not displayed */
// TrustDomain defines the allowed SPIFFE trust domain.
TrustDomain string `` /* 141-byte string literal not displayed */
}
Spiffe holds the SPIFFE configuration.
func (*Spiffe) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Spiffe.
func (*Spiffe) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StaticFiles ¶
type StaticFiles struct {
// Root directory to serve files from.
Root string `json:"root,omitempty" toml:"root,omitempty" yaml:"root,omitempty" export:"true"`
// EnableDirectoryListing enables directory browsing.
EnableDirectoryListing bool `` /* 133-byte string literal not displayed */
// IndexFiles is a list of filenames to try when a directory is requested.
IndexFiles []string `json:"indexFiles,omitempty" toml:"indexFiles,omitempty" yaml:"indexFiles,omitempty" export:"true"`
// SPAMode redirects all not-found requests to a single page.
SPAMode bool `json:"spaMode,omitempty" toml:"spaMode,omitempty" yaml:"spaMode,omitempty" export:"true"`
// SPAIndex is the file to serve in SPA mode.
SPAIndex string `json:"spaIndex,omitempty" toml:"spaIndex,omitempty" yaml:"spaIndex,omitempty" export:"true"`
// ErrorPage404 is the path to a custom 404 error page relative to root.
ErrorPage404 string `json:"errorPage404,omitempty" toml:"errorPage404,omitempty" yaml:"errorPage404,omitempty" export:"true"`
// CacheControl maps file extensions to Cache-Control header values.
CacheControl map[string]string `json:"cacheControl,omitempty" toml:"cacheControl,omitempty" yaml:"cacheControl,omitempty" export:"true"`
}
StaticFiles holds the static file server middleware configuration. This middleware serves static files directly from the ingress layer.
func (*StaticFiles) DeepCopy ¶
func (in *StaticFiles) DeepCopy() *StaticFiles
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticFiles.
func (*StaticFiles) DeepCopyInto ¶
func (in *StaticFiles) DeepCopyInto(out *StaticFiles)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Sticky ¶
type Sticky struct {
// Cookie defines the sticky cookie configuration.
Cookie *Cookie `` /* 138-byte string literal not displayed */
}
Sticky holds the sticky configuration.
func (*Sticky) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sticky.
func (*Sticky) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StripPrefix ¶
type StripPrefix struct {
// Prefixes defines the prefixes to strip from the request URL.
Prefixes []string `json:"prefixes,omitempty" toml:"prefixes,omitempty" yaml:"prefixes,omitempty" export:"true"`
// Deprecated: ForceSlash option is deprecated, please remove any usage of this option.
// ForceSlash ensures that the resulting stripped path is not the empty string, by replacing it with / when necessary.
// Default: true.
ForceSlash *bool `json:"forceSlash,omitempty" toml:"forceSlash,omitempty" yaml:"forceSlash,omitempty" export:"true"`
}
StripPrefix holds the strip prefix middleware configuration. This middleware removes the specified prefixes from the URL path. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/stripprefix/
func (*StripPrefix) DeepCopy ¶
func (in *StripPrefix) DeepCopy() *StripPrefix
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StripPrefix.
func (*StripPrefix) DeepCopyInto ¶
func (in *StripPrefix) DeepCopyInto(out *StripPrefix)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StripPrefixRegex ¶
type StripPrefixRegex struct {
// Regex defines the regular expression to match the path prefix from the request URL.
Regex []string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty" export:"true"`
}
StripPrefixRegex holds the strip prefix regex middleware configuration. This middleware removes the matching prefixes from the URL path. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/http/stripprefixregex/
func (*StripPrefixRegex) DeepCopy ¶
func (in *StripPrefixRegex) DeepCopy() *StripPrefixRegex
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StripPrefixRegex.
func (*StripPrefixRegex) DeepCopyInto ¶
func (in *StripPrefixRegex) DeepCopyInto(out *StripPrefixRegex)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPConfiguration ¶
type TCPConfiguration struct {
Routers map[string]*TCPRouter `json:"routers,omitempty" toml:"routers,omitempty" yaml:"routers,omitempty" export:"true"`
Services map[string]*TCPService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"`
Middlewares map[string]*TCPMiddleware `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"`
Models map[string]*TCPModel `json:"-" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
ServersTransports map[string]*TCPServersTransport `` /* 128-byte string literal not displayed */
}
TCPConfiguration contains all the TCP configuration parameters.
func (*TCPConfiguration) DeepCopy ¶
func (in *TCPConfiguration) DeepCopy() *TCPConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPConfiguration.
func (*TCPConfiguration) DeepCopyInto ¶
func (in *TCPConfiguration) DeepCopyInto(out *TCPConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPIPAllowList ¶
type TCPIPAllowList struct {
// SourceRange defines the allowed IPs (or ranges of allowed IPs by using CIDR notation).
SourceRange []string `json:"sourceRange,omitempty" toml:"sourceRange,omitempty" yaml:"sourceRange,omitempty"`
}
TCPIPAllowList holds the TCP IPAllowList middleware configuration. This middleware limits allowed requests based on the client IP. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/tcp/ipallowlist/
func (*TCPIPAllowList) DeepCopy ¶
func (in *TCPIPAllowList) DeepCopy() *TCPIPAllowList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPIPAllowList.
func (*TCPIPAllowList) DeepCopyInto ¶
func (in *TCPIPAllowList) DeepCopyInto(out *TCPIPAllowList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPIPWhiteList
deprecated
type TCPIPWhiteList struct {
// SourceRange defines the allowed IPs (or ranges of allowed IPs by using CIDR notation).
SourceRange []string `json:"sourceRange,omitempty" toml:"sourceRange,omitempty" yaml:"sourceRange,omitempty"`
}
TCPIPWhiteList holds the TCP IPWhiteList middleware configuration.
Deprecated: please use IPAllowList instead.
func (*TCPIPWhiteList) DeepCopy ¶
func (in *TCPIPWhiteList) DeepCopy() *TCPIPWhiteList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPIPWhiteList.
func (*TCPIPWhiteList) DeepCopyInto ¶
func (in *TCPIPWhiteList) DeepCopyInto(out *TCPIPWhiteList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPInFlightConn ¶
type TCPInFlightConn struct {
// Amount defines the maximum amount of allowed simultaneous connections.
// The middleware closes the connection if there are already amount connections opened.
// +kubebuilder:validation:Minimum=0
Amount int64 `json:"amount,omitempty" toml:"amount,omitempty" yaml:"amount,omitempty" export:"true"`
}
TCPInFlightConn holds the TCP InFlightConn middleware configuration. This middleware prevents services from being overwhelmed with high load, by limiting the number of allowed simultaneous connections for one IP. More info: https://hanzo.ai/docs/ingress/v3.6/middlewares/tcp/inflightconn/
func (*TCPInFlightConn) DeepCopy ¶
func (in *TCPInFlightConn) DeepCopy() *TCPInFlightConn
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPInFlightConn.
func (*TCPInFlightConn) DeepCopyInto ¶
func (in *TCPInFlightConn) DeepCopyInto(out *TCPInFlightConn)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPMiddleware ¶
type TCPMiddleware struct {
InFlightConn *TCPInFlightConn `json:"inFlightConn,omitempty" toml:"inFlightConn,omitempty" yaml:"inFlightConn,omitempty" export:"true"`
// Deprecated: please use IPAllowList instead.
IPWhiteList *TCPIPWhiteList `json:"ipWhiteList,omitempty" toml:"ipWhiteList,omitempty" yaml:"ipWhiteList,omitempty" export:"true"`
IPAllowList *TCPIPAllowList `json:"ipAllowList,omitempty" toml:"ipAllowList,omitempty" yaml:"ipAllowList,omitempty" export:"true"`
}
TCPMiddleware holds the TCPMiddleware configuration.
func (*TCPMiddleware) DeepCopy ¶
func (in *TCPMiddleware) DeepCopy() *TCPMiddleware
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPMiddleware.
func (*TCPMiddleware) DeepCopyInto ¶
func (in *TCPMiddleware) DeepCopyInto(out *TCPMiddleware)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPModel ¶
type TCPModel struct {
DefaultRuleSyntax string `json:"-" toml:"-" yaml:"-" label:"-" file:"-" kv:"-" export:"true"`
}
TCPModel is a set of default router's values.
func (*TCPModel) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPModel.
func (*TCPModel) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPRouter ¶
type TCPRouter struct {
EntryPoints []string `json:"entryPoints,omitempty" toml:"entryPoints,omitempty" yaml:"entryPoints,omitempty" export:"true"`
Middlewares []string `json:"middlewares,omitempty" toml:"middlewares,omitempty" yaml:"middlewares,omitempty" export:"true"`
Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"`
Rule string `json:"rule,omitempty" toml:"rule,omitempty" yaml:"rule,omitempty"`
// Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
RuleSyntax string `json:"ruleSyntax,omitempty" toml:"ruleSyntax,omitempty" yaml:"ruleSyntax,omitempty" export:"true"`
Priority int `json:"priority,omitempty" toml:"priority,omitempty,omitzero" yaml:"priority,omitempty" export:"true"`
TLS *RouterTCPTLSConfig `` /* 129-byte string literal not displayed */
}
TCPRouter holds the router configuration.
func (*TCPRouter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouter.
func (*TCPRouter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPServer ¶
type TCPServer struct {
Address string `json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty" label:"-"`
Port string `json:"-" toml:"-" yaml:"-"`
TLS bool `json:"tls,omitempty" toml:"tls,omitempty" yaml:"tls,omitempty"`
}
TCPServer holds a TCP Server configuration.
func (*TCPServer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPServer.
func (*TCPServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPServerHealthCheck ¶
type TCPServerHealthCheck struct {
Port int `json:"port,omitempty" toml:"port,omitempty,omitzero" yaml:"port,omitempty" export:"true"`
Send string `json:"send,omitempty" toml:"send,omitempty" yaml:"send,omitempty" export:"true"`
Expect string `json:"expect,omitempty" toml:"expect,omitempty" yaml:"expect,omitempty" export:"true"`
Interval ptypes.Duration `json:"interval,omitempty" toml:"interval,omitempty" yaml:"interval,omitempty" export:"true"`
UnhealthyInterval *ptypes.Duration `json:"unhealthyInterval,omitempty" toml:"unhealthyInterval,omitempty" yaml:"unhealthyInterval,omitempty" export:"true"`
Timeout ptypes.Duration `json:"timeout,omitempty" toml:"timeout,omitempty" yaml:"timeout,omitempty" export:"true"`
}
TCPServerHealthCheck holds the HealthCheck configuration.
func (*TCPServerHealthCheck) DeepCopy ¶
func (in *TCPServerHealthCheck) DeepCopy() *TCPServerHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPServerHealthCheck.
func (*TCPServerHealthCheck) DeepCopyInto ¶
func (in *TCPServerHealthCheck) DeepCopyInto(out *TCPServerHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TCPServerHealthCheck) SetDefaults ¶
func (t *TCPServerHealthCheck) SetDefaults()
SetDefaults sets the default values for a TCPServerHealthCheck.
type TCPServersLoadBalancer ¶
type TCPServersLoadBalancer struct {
Servers []TCPServer `json:"servers,omitempty" toml:"servers,omitempty" yaml:"servers,omitempty" label-slice-as-struct:"server" export:"true"`
ServersTransport string `json:"serversTransport,omitempty" toml:"serversTransport,omitempty" yaml:"serversTransport,omitempty" export:"true"`
// ProxyProtocol holds the PROXY Protocol configuration.
//
// Deprecated: use ServersTransport to configure ProxyProtocol instead.
ProxyProtocol *ProxyProtocol `` /* 159-byte string literal not displayed */
// TerminationDelay, corresponds to the deadline that the proxy sets, after one
// of its connected peers indicates it has closed the writing capability of its
// connection, to close the reading capability as well, hence fully terminating the
// connection. It is a duration in milliseconds, defaulting to 100. A negative value
// means an infinite deadline (i.e. the reading capability is never closed).
//
// Deprecated: use ServersTransport to configure the TerminationDelay instead.
TerminationDelay *int `json:"terminationDelay,omitempty" toml:"terminationDelay,omitempty" yaml:"terminationDelay,omitempty" export:"true"`
HealthCheck *TCPServerHealthCheck `` /* 153-byte string literal not displayed */
}
TCPServersLoadBalancer holds the LoadBalancerService configuration.
func (*TCPServersLoadBalancer) DeepCopy ¶
func (in *TCPServersLoadBalancer) DeepCopy() *TCPServersLoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPServersLoadBalancer.
func (*TCPServersLoadBalancer) DeepCopyInto ¶
func (in *TCPServersLoadBalancer) DeepCopyInto(out *TCPServersLoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TCPServersLoadBalancer) Merge ¶
func (l *TCPServersLoadBalancer) Merge(other *TCPServersLoadBalancer) bool
Merge merges the other load balancer into this one. Returns true if the merge succeeds, false if configurations conflict.
type TCPServersTransport ¶
type TCPServersTransport struct {
DialKeepAlive ptypes.Duration `` /* 467-byte string literal not displayed */
DialTimeout ptypes.Duration `` /* 236-byte string literal not displayed */
// ProxyProtocol holds the PROXY Protocol configuration.
ProxyProtocol *ProxyProtocol `` /* 215-byte string literal not displayed */
// TerminationDelay, corresponds to the deadline that the proxy sets, after one
// of its connected peers indicates it has closed the writing capability of its
// connection, to close the reading capability as well, hence fully terminating the
// connection. It is a duration in milliseconds, defaulting to 100. A negative value
// means an infinite deadline (i.e. the reading capability is never closed).
TerminationDelay ptypes.Duration `` /* 256-byte string literal not displayed */
TLS *TLSClientConfig `` /* 174-byte string literal not displayed */
}
TCPServersTransport options to configure communication between Ingress and the servers.
func (*TCPServersTransport) DeepCopy ¶
func (in *TCPServersTransport) DeepCopy() *TCPServersTransport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPServersTransport.
func (*TCPServersTransport) DeepCopyInto ¶
func (in *TCPServersTransport) DeepCopyInto(out *TCPServersTransport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TCPServersTransport) SetDefaults ¶
func (t *TCPServersTransport) SetDefaults()
SetDefaults sets the default values for a TCPServersTransport.
type TCPService ¶
type TCPService struct {
LoadBalancer *TCPServersLoadBalancer `json:"loadBalancer,omitempty" toml:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty" export:"true"`
Weighted *TCPWeightedRoundRobin `json:"weighted,omitempty" toml:"weighted,omitempty" yaml:"weighted,omitempty" label:"-" export:"true"`
}
TCPService holds a tcp service configuration (can only be of one type at the same time).
func (*TCPService) DeepCopy ¶
func (in *TCPService) DeepCopy() *TCPService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPService.
func (*TCPService) DeepCopyInto ¶
func (in *TCPService) DeepCopyInto(out *TCPService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TCPService) Merge ¶
func (s *TCPService) Merge(other *TCPService) bool
Merge merges another TCPService into this one. Returns true if the merge succeeds, false if configurations conflict.
type TCPWRRService ¶
type TCPWRRService struct {
Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty" export:"true"`
Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty" export:"true"`
}
TCPWRRService is a reference to a tcp service load-balanced with weighted round robin.
func (*TCPWRRService) DeepCopy ¶
func (in *TCPWRRService) DeepCopy() *TCPWRRService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPWRRService.
func (*TCPWRRService) DeepCopyInto ¶
func (in *TCPWRRService) DeepCopyInto(out *TCPWRRService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TCPWRRService) SetDefaults ¶
func (w *TCPWRRService) SetDefaults()
SetDefaults Default values for a TCPWRRService.
type TCPWeightedRoundRobin ¶
type TCPWeightedRoundRobin struct {
Services []TCPWRRService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"`
HealthCheck *HealthCheck `` /* 153-byte string literal not displayed */
}
TCPWeightedRoundRobin is a weighted round robin tcp load-balancer of services.
func (*TCPWeightedRoundRobin) DeepCopy ¶
func (in *TCPWeightedRoundRobin) DeepCopy() *TCPWeightedRoundRobin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPWeightedRoundRobin.
func (*TCPWeightedRoundRobin) DeepCopyInto ¶
func (in *TCPWeightedRoundRobin) DeepCopyInto(out *TCPWeightedRoundRobin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSClientCertificateInfo ¶
type TLSClientCertificateInfo struct {
// NotAfter defines whether to add the Not After information from the Validity part.
NotAfter bool `json:"notAfter,omitempty" toml:"notAfter,omitempty" yaml:"notAfter,omitempty" export:"true"`
// NotBefore defines whether to add the Not Before information from the Validity part.
NotBefore bool `json:"notBefore,omitempty" toml:"notBefore,omitempty" yaml:"notBefore,omitempty" export:"true"`
// Sans defines whether to add the Subject Alternative Name information from the Subject Alternative Name part.
Sans bool `json:"sans,omitempty" toml:"sans,omitempty" yaml:"sans,omitempty" export:"true"`
// SerialNumber defines whether to add the client serialNumber information.
SerialNumber bool `json:"serialNumber,omitempty" toml:"serialNumber,omitempty" yaml:"serialNumber,omitempty" export:"true"`
// Subject defines the client certificate subject details to add to the X-Forwarded-Tls-Client-Cert-Info header.
Subject *TLSClientCertificateSubjectDNInfo `json:"subject,omitempty" toml:"subject,omitempty" yaml:"subject,omitempty" export:"true"`
// Issuer defines the client certificate issuer details to add to the X-Forwarded-Tls-Client-Cert-Info header.
Issuer *TLSClientCertificateIssuerDNInfo `json:"issuer,omitempty" toml:"issuer,omitempty" yaml:"issuer,omitempty" export:"true"`
}
TLSClientCertificateInfo holds the client TLS certificate info configuration.
func (*TLSClientCertificateInfo) DeepCopy ¶
func (in *TLSClientCertificateInfo) DeepCopy() *TLSClientCertificateInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSClientCertificateInfo.
func (*TLSClientCertificateInfo) DeepCopyInto ¶
func (in *TLSClientCertificateInfo) DeepCopyInto(out *TLSClientCertificateInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSClientCertificateIssuerDNInfo ¶
type TLSClientCertificateIssuerDNInfo struct {
// Country defines whether to add the country information into the issuer.
Country bool `json:"country,omitempty" toml:"country,omitempty" yaml:"country,omitempty" export:"true"`
// Province defines whether to add the province information into the issuer.
Province bool `json:"province,omitempty" toml:"province,omitempty" yaml:"province,omitempty" export:"true"`
// Locality defines whether to add the locality information into the issuer.
Locality bool `json:"locality,omitempty" toml:"locality,omitempty" yaml:"locality,omitempty" export:"true"`
// Organization defines whether to add the organization information into the issuer.
Organization bool `json:"organization,omitempty" toml:"organization,omitempty" yaml:"organization,omitempty" export:"true"`
// CommonName defines whether to add the organizationalUnit information into the issuer.
CommonName bool `json:"commonName,omitempty" toml:"commonName,omitempty" yaml:"commonName,omitempty" export:"true"`
// SerialNumber defines whether to add the serialNumber information into the issuer.
SerialNumber bool `json:"serialNumber,omitempty" toml:"serialNumber,omitempty" yaml:"serialNumber,omitempty" export:"true"`
// DomainComponent defines whether to add the domainComponent information into the issuer.
DomainComponent bool `json:"domainComponent,omitempty" toml:"domainComponent,omitempty" yaml:"domainComponent,omitempty" export:"true"`
}
TLSClientCertificateIssuerDNInfo holds the client TLS certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739
func (*TLSClientCertificateIssuerDNInfo) DeepCopy ¶
func (in *TLSClientCertificateIssuerDNInfo) DeepCopy() *TLSClientCertificateIssuerDNInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSClientCertificateIssuerDNInfo.
func (*TLSClientCertificateIssuerDNInfo) DeepCopyInto ¶
func (in *TLSClientCertificateIssuerDNInfo) DeepCopyInto(out *TLSClientCertificateIssuerDNInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSClientCertificateSubjectDNInfo ¶
type TLSClientCertificateSubjectDNInfo struct {
// Country defines whether to add the country information into the subject.
Country bool `json:"country,omitempty" toml:"country,omitempty" yaml:"country,omitempty" export:"true"`
// Province defines whether to add the province information into the subject.
Province bool `json:"province,omitempty" toml:"province,omitempty" yaml:"province,omitempty" export:"true"`
// Locality defines whether to add the locality information into the subject.
Locality bool `json:"locality,omitempty" toml:"locality,omitempty" yaml:"locality,omitempty" export:"true"`
// Organization defines whether to add the organization information into the subject.
Organization bool `json:"organization,omitempty" toml:"organization,omitempty" yaml:"organization,omitempty" export:"true"`
// OrganizationalUnit defines whether to add the organizationalUnit information into the subject.
OrganizationalUnit bool `json:"organizationalUnit,omitempty" toml:"organizationalUnit,omitempty" yaml:"organizationalUnit,omitempty" export:"true"`
// CommonName defines whether to add the organizationalUnit information into the subject.
CommonName bool `json:"commonName,omitempty" toml:"commonName,omitempty" yaml:"commonName,omitempty" export:"true"`
// SerialNumber defines whether to add the serialNumber information into the subject.
SerialNumber bool `json:"serialNumber,omitempty" toml:"serialNumber,omitempty" yaml:"serialNumber,omitempty" export:"true"`
// DomainComponent defines whether to add the domainComponent information into the subject.
DomainComponent bool `json:"domainComponent,omitempty" toml:"domainComponent,omitempty" yaml:"domainComponent,omitempty" export:"true"`
}
TLSClientCertificateSubjectDNInfo holds the client TLS certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739
func (*TLSClientCertificateSubjectDNInfo) DeepCopy ¶
func (in *TLSClientCertificateSubjectDNInfo) DeepCopy() *TLSClientCertificateSubjectDNInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSClientCertificateSubjectDNInfo.
func (*TLSClientCertificateSubjectDNInfo) DeepCopyInto ¶
func (in *TLSClientCertificateSubjectDNInfo) DeepCopyInto(out *TLSClientCertificateSubjectDNInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSClientConfig ¶
type TLSClientConfig struct {
ServerName string `` /* 148-byte string literal not displayed */
InsecureSkipVerify bool `` /* 174-byte string literal not displayed */
RootCAs []types.FileOrContent `` /* 160-byte string literal not displayed */
Certificates ingresstls.Certificates `` /* 165-byte string literal not displayed */
PeerCertURI string `` /* 202-byte string literal not displayed */
Spiffe *Spiffe `` /* 174-byte string literal not displayed */
}
TLSClientConfig options to configure TLS communication between Ingress and the servers.
func (*TLSClientConfig) DeepCopy ¶
func (in *TLSClientConfig) DeepCopy() *TLSClientConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSClientConfig.
func (*TLSClientConfig) DeepCopyInto ¶
func (in *TLSClientConfig) DeepCopyInto(out *TLSClientConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSConfiguration ¶
type TLSConfiguration struct {
Certificates []*tls.CertAndStores `json:"certificates,omitempty" toml:"certificates,omitempty" yaml:"certificates,omitempty" label:"-" export:"true"`
Options map[string]tls.Options `json:"options,omitempty" toml:"options,omitempty" yaml:"options,omitempty" label:"-" export:"true"`
Stores map[string]tls.Store `json:"stores,omitempty" toml:"stores,omitempty" yaml:"stores,omitempty" export:"true"`
}
TLSConfiguration contains all the configuration parameters of a TLS connection.
func (*TLSConfiguration) DeepCopy ¶
func (in *TLSConfiguration) DeepCopy() *TLSConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfiguration.
func (*TLSConfiguration) DeepCopyInto ¶
func (in *TLSConfiguration) DeepCopyInto(out *TLSConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPConfiguration ¶
type UDPConfiguration struct {
Routers map[string]*UDPRouter `json:"routers,omitempty" toml:"routers,omitempty" yaml:"routers,omitempty" export:"true"`
Services map[string]*UDPService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"`
}
UDPConfiguration contains all the UDP configuration parameters.
func (*UDPConfiguration) DeepCopy ¶
func (in *UDPConfiguration) DeepCopy() *UDPConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPConfiguration.
func (*UDPConfiguration) DeepCopyInto ¶
func (in *UDPConfiguration) DeepCopyInto(out *UDPConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPRouter ¶
type UDPRouter struct {
EntryPoints []string `json:"entryPoints,omitempty" toml:"entryPoints,omitempty" yaml:"entryPoints,omitempty" export:"true"`
Service string `json:"service,omitempty" toml:"service,omitempty" yaml:"service,omitempty" export:"true"`
}
UDPRouter defines the configuration for an UDP router.
func (*UDPRouter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPRouter.
func (*UDPRouter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPServer ¶
type UDPServer struct {
Address string `json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty" label:"-"`
Port string `json:"-" toml:"-" yaml:"-" file:"-"`
}
UDPServer defines a UDP server configuration.
func (*UDPServer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPServer.
func (*UDPServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UDPServersLoadBalancer ¶
type UDPServersLoadBalancer struct {
Servers []UDPServer `json:"servers,omitempty" toml:"servers,omitempty" yaml:"servers,omitempty" label-slice-as-struct:"server" export:"true"`
}
UDPServersLoadBalancer defines the configuration for a load-balancer of UDP servers.
func (*UDPServersLoadBalancer) DeepCopy ¶
func (in *UDPServersLoadBalancer) DeepCopy() *UDPServersLoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPServersLoadBalancer.
func (*UDPServersLoadBalancer) DeepCopyInto ¶
func (in *UDPServersLoadBalancer) DeepCopyInto(out *UDPServersLoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UDPServersLoadBalancer) Merge ¶
func (l *UDPServersLoadBalancer) Merge(other *UDPServersLoadBalancer) bool
Merge merges the other load balancer into this one. Returns true if merge succeeded, false if configurations conflict.
type UDPService ¶
type UDPService struct {
LoadBalancer *UDPServersLoadBalancer `json:"loadBalancer,omitempty" toml:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty" export:"true"`
Weighted *UDPWeightedRoundRobin `json:"weighted,omitempty" toml:"weighted,omitempty" yaml:"weighted,omitempty" label:"-" export:"true"`
}
UDPService defines the configuration for a UDP service. All fields are mutually exclusive.
func (*UDPService) DeepCopy ¶
func (in *UDPService) DeepCopy() *UDPService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPService.
func (*UDPService) DeepCopyInto ¶
func (in *UDPService) DeepCopyInto(out *UDPService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UDPService) Merge ¶
func (s *UDPService) Merge(other *UDPService) bool
Merge merges another UDPService into this one. Returns true if the merge succeeds, false if configurations conflict.
type UDPWRRService ¶
type UDPWRRService struct {
Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty" export:"true"`
Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty" export:"true"`
}
UDPWRRService is a reference to a UDP service load-balanced with weighted round robin.
func (*UDPWRRService) DeepCopy ¶
func (in *UDPWRRService) DeepCopy() *UDPWRRService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPWRRService.
func (*UDPWRRService) DeepCopyInto ¶
func (in *UDPWRRService) DeepCopyInto(out *UDPWRRService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UDPWRRService) SetDefaults ¶
func (w *UDPWRRService) SetDefaults()
SetDefaults sets the default values for a UDPWRRService.
type UDPWeightedRoundRobin ¶
type UDPWeightedRoundRobin struct {
Services []UDPWRRService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"`
}
UDPWeightedRoundRobin is a weighted round robin UDP load-balancer of services.
func (*UDPWeightedRoundRobin) DeepCopy ¶
func (in *UDPWeightedRoundRobin) DeepCopy() *UDPWeightedRoundRobin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPWeightedRoundRobin.
func (*UDPWeightedRoundRobin) DeepCopyInto ¶
func (in *UDPWeightedRoundRobin) DeepCopyInto(out *UDPWeightedRoundRobin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type URLRewrite ¶
type URLRewrite struct {
Hostname *string `json:"hostname,omitempty"`
Path *string `json:"path,omitempty"`
PathPrefix *string `json:"pathPrefix,omitempty"`
}
URLRewrite holds the URL rewrite middleware configuration.
func (*URLRewrite) DeepCopy ¶
func (in *URLRewrite) DeepCopy() *URLRewrite
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewrite.
func (*URLRewrite) DeepCopyInto ¶
func (in *URLRewrite) DeepCopyInto(out *URLRewrite)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Users ¶
type Users []string
Users holds a list of users.
func (Users) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Users.
func (Users) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WRRService ¶
type WRRService struct {
Name string `json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty" export:"true"`
Weight *int `json:"weight,omitempty" toml:"weight,omitempty" yaml:"weight,omitempty" export:"true"`
// Headers defines the HTTP headers that should be added to the request when calling the service.
// This is required by the Knative implementation which expects specific headers to be sent.
Headers map[string]string `json:"-" toml:"-" yaml:"-" label:"-" file:"-"`
// Status defines an HTTP status code that should be returned when calling the service.
// This is required by the Gateway API implementation which expects specific HTTP status to be returned.
Status *int `json:"-" toml:"-" yaml:"-" label:"-" file:"-"`
// GRPCStatus defines a GRPC status code that should be returned when calling the service.
// This is required by the Gateway API implementation which expects specific GRPC status to be returned.
GRPCStatus *GRPCStatus `json:"-" toml:"-" yaml:"-" label:"-" file:"-"`
}
WRRService is a reference to a service load-balanced with weighted round-robin.
func (*WRRService) DeepCopy ¶
func (in *WRRService) DeepCopy() *WRRService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WRRService.
func (*WRRService) DeepCopyInto ¶
func (in *WRRService) DeepCopyInto(out *WRRService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WRRService) SetDefaults ¶
func (w *WRRService) SetDefaults()
SetDefaults Default values for a WRRService.
type WeightedRoundRobin ¶
type WeightedRoundRobin struct {
Services []WRRService `json:"services,omitempty" toml:"services,omitempty" yaml:"services,omitempty" export:"true"`
Sticky *Sticky `json:"sticky,omitempty" toml:"sticky,omitempty" yaml:"sticky,omitempty" export:"true"`
// HealthCheck enables automatic self-healthcheck for this service, i.e.
// whenever one of its children is reported as down, this service becomes aware of it,
// and takes it into account (i.e. it ignores the down child) when running the
// load-balancing algorithm. In addition, if the parent of this service also has
// HealthCheck enabled, this service reports to its parent any status change.
HealthCheck *HealthCheck `` /* 153-byte string literal not displayed */
}
WeightedRoundRobin is a weighted round robin load-balancer of services.
func (*WeightedRoundRobin) DeepCopy ¶
func (in *WeightedRoundRobin) DeepCopy() *WeightedRoundRobin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedRoundRobin.
func (*WeightedRoundRobin) DeepCopyInto ¶
func (in *WeightedRoundRobin) DeepCopyInto(out *WeightedRoundRobin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.