Skip to content

Commit b4d4e2f

Browse files
authored
fix: egctl add support for translations using RateLimitFilter (#1729)
* fix: egctl add support for translations using RateLimitFilter Signed-off-by: slayer321 <sachin.maurya7666@gmail.com> * fix failing CI Signed-off-by: slayer321 <sachin.maurya7666@gmail.com> * adding new line to end of the file Signed-off-by: slayer321 <sachin.maurya7666@gmail.com> --------- Signed-off-by: slayer321 <sachin.maurya7666@gmail.com>
1 parent 27b0939 commit b4d4e2f

10 files changed

Lines changed: 1236 additions & 0 deletions
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
apiVersion: gateway.networking.k8s.io/v1beta1
2+
kind: GatewayClass
3+
metadata:
4+
name: eg
5+
spec:
6+
controllerName: gateway.envoyproxy.io/gatewayclass-controller
7+
---
8+
apiVersion: gateway.networking.k8s.io/v1beta1
9+
kind: Gateway
10+
metadata:
11+
name: eg
12+
spec:
13+
gatewayClassName: eg
14+
listeners:
15+
- name: http
16+
protocol: HTTP
17+
port: 80
18+
---
19+
apiVersion: v1
20+
kind: ServiceAccount
21+
metadata:
22+
name: backend
23+
---
24+
apiVersion: v1
25+
kind: Service
26+
metadata:
27+
name: backend
28+
labels:
29+
app: backend
30+
service: backend
31+
spec:
32+
ports:
33+
- name: http
34+
port: 3000
35+
targetPort: 3000
36+
selector:
37+
app: backend
38+
---
39+
apiVersion: apps/v1
40+
kind: Deployment
41+
metadata:
42+
name: backend
43+
spec:
44+
replicas: 1
45+
selector:
46+
matchLabels:
47+
app: backend
48+
version: v1
49+
template:
50+
metadata:
51+
labels:
52+
app: backend
53+
version: v1
54+
spec:
55+
serviceAccountName: backend
56+
containers:
57+
- image: gcr.io/k8s-staging-ingressconformance/echoserver:v20221109-7ee2f3e
58+
imagePullPolicy: IfNotPresent
59+
name: backend
60+
ports:
61+
- containerPort: 3000
62+
env:
63+
- name: POD_NAME
64+
valueFrom:
65+
fieldRef:
66+
fieldPath: metadata.name
67+
- name: NAMESPACE
68+
valueFrom:
69+
fieldRef:
70+
fieldPath: metadata.namespace
71+
---
72+
apiVersion: gateway.envoyproxy.io/v1alpha1
73+
kind: RateLimitFilter
74+
metadata:
75+
name: ratelimit-specific-user
76+
spec:
77+
type: Global
78+
global:
79+
rules:
80+
- clientSelectors:
81+
- headers:
82+
- name: x-user-id
83+
value: one
84+
limit:
85+
requests: 3
86+
unit: Hour
87+
---
88+
apiVersion: gateway.networking.k8s.io/v1beta1
89+
kind: HTTPRoute
90+
metadata:
91+
name: http-ratelimit
92+
spec:
93+
parentRefs:
94+
- name: eg
95+
hostnames:
96+
- "ratelimit.example"
97+
rules:
98+
- matches:
99+
- path:
100+
type: PathPrefix
101+
value: /
102+
filters:
103+
- type: ExtensionRef
104+
extensionRef:
105+
group: gateway.envoyproxy.io
106+
kind: RateLimitFilter
107+
name: ratelimit-specific-user
108+
backendRefs:
109+
- group: ""
110+
kind: Service
111+
name: backend
112+
port: 3000

0 commit comments

Comments
 (0)