description:'Middleware is the CRD implementation of a Traefik Middleware.
More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/overview/'
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:MiddlewareSpec defines the desired state of a Middleware.
properties:
addPrefix:
description:'AddPrefix holds the add prefix middleware configuration.
This middleware updates the path of a request before forwarding
it. More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/addprefix/'
properties:
prefix:
description:Prefix is the string to add before the current path
in the requested URL. It should include a leading slash (/).
type:string
type:object
basicAuth:
description:'BasicAuth holds the basic auth middleware configuration.
This middleware restricts access to your services to known users.
More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/'
properties:
headerField:
description:'HeaderField defines a header field to store the
authenticated user. More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield'
type:string
realm:
description:'Realm allows the protected resources on a server
to be partitioned into a set of protection spaces, each with
its own authentication scheme. Default:traefik.'
type:string
removeHeader:
description:'RemoveHeader sets the removeHeader option to true
to remove the authorization header before forwarding the request
to your service. Default:false.'
type:boolean
secret:
description:Secret is the name of the referenced Kubernetes Secret
containing user credentials.
type:string
type:object
buffering:
description:'Buffering holds the buffering middleware configuration.
This middleware retries or limits the size of requests that can
be forwarded to backends. More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/buffering/#maxrequestbodybytes'
properties:
maxRequestBodyBytes:
description:'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).'
format:int64
type:integer
maxResponseBodyBytes:
description:'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).'
format:int64
type:integer
memRequestBodyBytes:
description:'MemRequestBodyBytes defines the threshold (in bytes)
from which the request will be buffered on disk instead of in
memory. Default:1048576(1Mi).'
format:int64
type:integer
memResponseBodyBytes:
description:'MemResponseBodyBytes defines the threshold (in bytes)
from which the response will be buffered on disk instead of
in memory. Default:1048576(1Mi).'
format:int64
type:integer
retryExpression:
description:'RetryExpression defines the retry conditions. It
is a logical combination of functions with operators AND (&&)
and OR (||). More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/buffering/#retryexpression'
type:string
type:object
chain:
description:'Chain holds the configuration of the chain middleware.
This middleware enables to define reusable combinations of other
pieces of middleware. More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/chain/'
properties:
middlewares:
description:Middlewares is the list of MiddlewareRef which composes
the chain.
items:
description:MiddlewareRef is a reference to a Middleware resource.
properties:
name:
description:Name defines the name of the referenced Middleware
resource.
type:string
namespace:
description:Namespace defines the namespace of the referenced
Middleware resource.
type:string
required:
- name
type:object
type:array
type:object
circuitBreaker:
description:CircuitBreaker holds the circuit breaker configuration.
properties:
checkPeriod:
anyOf:
- type:integer
- type:string
description:CheckPeriod is the interval between successive checks
of the circuit breaker condition (when in standby state).
x-kubernetes-int-or-string:true
expression:
description:Expression is the condition that triggers the tripped
state.
type:string
fallbackDuration:
anyOf:
- type:integer
- type:string
description:FallbackDuration is the duration for which the circuit
breaker will wait before trying to recover (from a tripped state).
x-kubernetes-int-or-string:true
recoveryDuration:
anyOf:
- type:integer
- type:string
description:RecoveryDuration is the duration for which the circuit
breaker will try to recover (as soon as it is in recovering
state).
x-kubernetes-int-or-string:true
type:object
compress:
description:'Compress holds the compress middleware configuration.
This middleware compresses responses before sending them to the
client, using gzip compression. More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/compress/'
properties:
excludedContentTypes:
description:ExcludedContentTypes defines the list of content
types to compare the Content-Type header of the incoming requests
and responses before compressing.
items:
type:string
type:array
minResponseBodyBytes:
description:'MinResponseBodyBytes defines the minimum amount
of bytes a response body must have to be compressed. Default:
1024.'
type:integer
type:object
contentType:
description: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.
properties:
autoDetect:
description: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. As
a proxy, the default behavior should be to leave the header
alone, regardless of what the backend did with it. However,
the historic default was to always auto-detect and set the header
if it was nil, and it is going to be kept that way in order
to support users currently relying on it.
type:boolean
type:object
digestAuth:
description:'DigestAuth holds the digest auth middleware configuration.
This middleware restricts access to your services to known users.
More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/digestauth/'
properties:
headerField:
description:'HeaderField defines a header field to store the
authenticated user. More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield'
type:string
realm:
description:'Realm allows the protected resources on a server
to be partitioned into a set of protection spaces, each with
its own authentication scheme. Default:traefik.'
type:string
removeHeader:
description:RemoveHeader defines whether to remove the authorization
header before forwarding the request to the backend.
type:boolean
secret:
description:Secret is the name of the referenced Kubernetes Secret
containing user credentials.
type:string
type:object
errors:
description:'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. More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/errorpages/'
properties:
query:
description: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.
type:string
service:
description:'Service defines the reference to a Kubernetes Service
that will serve the error page. More info:https://doc.traefik.io/traefik/v2.9/middlewares/http/errorpages/#service'
properties:
kind:
description:Kind defines the kind of the Service.
enum:
- Service
- TraefikService
type:string
name:
description:Name defines the name of the referenced Kubernetes
Service or TraefikService. The differentiation between the
two is specified in the Kind field.
type:string
namespace:
description:Namespace defines the namespace of the referenced