| apiVersion: networking.istio.io/v1alpha3 |
| kind: EnvoyFilter |
| metadata: |
| name: filter-local-ratelimit-svc |
| namespace: dubbo-system |
| spec: |
| workloadSelector: |
| labels: |
| app: clt |
| configPatches: |
| - applyTo: HTTP_FILTER |
| patch: |
| operation: INSERT_BEFORE |
| value: |
| name: envoy.filters.http.local_ratelimit |
| typed_config: |
| "@type": type.googleapis.com/udpa.type.v1.TypedStruct |
| type_url: type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit |
| value: |
| stat_prefix: http_local_rate_limiter |
| - applyTo: HTTP_ROUTE |
| match: |
| context: SIDECAR_OUTBOUND |
| routeConfiguration: |
| vhost: |
| name: "srv.{{ .EchoNamespace }}.svc.cluster.local:80" |
| route: |
| action: ANY |
| patch: |
| operation: MERGE |
| value: |
| typed_per_filter_config: |
| envoy.filters.http.local_ratelimit: |
| "@type": type.googleapis.com/udpa.type.v1.TypedStruct |
| type_url: type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit |
| value: |
| stat_prefix: http_local_rate_limiter |
| token_bucket: |
| max_tokens: 1 |
| tokens_per_fill: 1 |
| fill_interval: 600s |
| filter_enabled: |
| runtime_key: local_rate_limit_enabled |
| default_value: |
| numerator: 100 |
| denominator: HUNDRED |
| filter_enforced: |
| runtime_key: local_rate_limit_enforced |
| default_value: |
| numerator: 100 |
| denominator: HUNDRED |
| response_headers_to_add: |
| - append: false |
| header: |
| key: x-local-rate-limit |
| value: 'true' |