Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(MeshRateLimit): add support for new api rules in MeshRateLimit #12722

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4890,6 +4890,134 @@ spec:
- targetRef
type: object
type: array
rules:
description: |-
Rules defines inbound timeout configurations. Currently limited to exactly one rule containing
default timeouts that apply to all inbound traffic, as L7 matching is not yet implemented.
items:
properties:
default:
description: |-
Default is a configuration specific to the group of clients referenced in
'targetRef'
properties:
local:
description: LocalConf defines local http or/and tcp rate
limit configuration
properties:
http:
description: |-
LocalHTTP defines configuration of local HTTP rate limiting
https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/local_rate_limit_filter
properties:
disabled:
description: Define if rate limiting should be disabled.
type: boolean
onRateLimit:
description: Describes the actions to take on a
rate limit event
properties:
headers:
description: The Headers to be added to the
HTTP response on a rate limit event
properties:
add:
items:
properties:
name:
maxLength: 256
minLength: 1
pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
type: string
value:
type: string
required:
- name
- value
type: object
maxItems: 16
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
set:
items:
properties:
name:
maxLength: 256
minLength: 1
pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
type: string
value:
type: string
required:
- name
- value
type: object
maxItems: 16
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
type: object
status:
description: The HTTP status code to be set
on a rate limit event
format: int32
type: integer
type: object
requestRate:
description: Defines how many requests are allowed
per interval.
properties:
interval:
description: The interval the number of units
is accounted for.
type: string
num:
description: |-
Number of units per interval (depending on usage it can be a number of requests,
or a number of connections).
format: int32
type: integer
required:
- interval
- num
type: object
type: object
tcp:
description: |-
LocalTCP defines confguration of local TCP rate limiting
https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/local_rate_limit_filter
properties:
connectionRate:
description: Defines how many connections are allowed
per interval.
properties:
interval:
description: The interval the number of units
is accounted for.
type: string
num:
description: |-
Number of units per interval (depending on usage it can be a number of requests,
or a number of connections).
format: int32
type: integer
required:
- interval
- num
type: object
disabled:
description: |-
Define if rate limiting should be disabled.
Default: false
type: boolean
type: object
type: object
type: object
type: object
type: array
targetRef:
description: |-
TargetRef is a reference to the resource the policy takes an effect on.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4890,6 +4890,134 @@ spec:
- targetRef
type: object
type: array
rules:
description: |-
Rules defines inbound timeout configurations. Currently limited to exactly one rule containing
default timeouts that apply to all inbound traffic, as L7 matching is not yet implemented.
items:
properties:
default:
description: |-
Default is a configuration specific to the group of clients referenced in
'targetRef'
properties:
local:
description: LocalConf defines local http or/and tcp rate
limit configuration
properties:
http:
description: |-
LocalHTTP defines configuration of local HTTP rate limiting
https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/local_rate_limit_filter
properties:
disabled:
description: Define if rate limiting should be disabled.
type: boolean
onRateLimit:
description: Describes the actions to take on a
rate limit event
properties:
headers:
description: The Headers to be added to the
HTTP response on a rate limit event
properties:
add:
items:
properties:
name:
maxLength: 256
minLength: 1
pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
type: string
value:
type: string
required:
- name
- value
type: object
maxItems: 16
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
set:
items:
properties:
name:
maxLength: 256
minLength: 1
pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
type: string
value:
type: string
required:
- name
- value
type: object
maxItems: 16
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
type: object
status:
description: The HTTP status code to be set
on a rate limit event
format: int32
type: integer
type: object
requestRate:
description: Defines how many requests are allowed
per interval.
properties:
interval:
description: The interval the number of units
is accounted for.
type: string
num:
description: |-
Number of units per interval (depending on usage it can be a number of requests,
or a number of connections).
format: int32
type: integer
required:
- interval
- num
type: object
type: object
tcp:
description: |-
LocalTCP defines confguration of local TCP rate limiting
https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/local_rate_limit_filter
properties:
connectionRate:
description: Defines how many connections are allowed
per interval.
properties:
interval:
description: The interval the number of units
is accounted for.
type: string
num:
description: |-
Number of units per interval (depending on usage it can be a number of requests,
or a number of connections).
format: int32
type: integer
required:
- interval
- num
type: object
disabled:
description: |-
Define if rate limiting should be disabled.
Default: false
type: boolean
type: object
type: object
type: object
type: object
type: array
targetRef:
description: |-
TargetRef is a reference to the resource the policy takes an effect on.
Expand Down
Loading
Loading