...
1# This file contains the base resources that most conformance tests will rely
2# on. This includes 3 namespaces along with Gateways, Services and Deployments
3# that can be used as backends for routing traffic. The most important
4# resources included are the Gateways (all in the gateway-conformance-infra
5# namespace):
6# - same-namespace (only supports route in same ns)
7# - all-namespaces (supports routes in all ns)
8# - backend-namespaces (supports routes in ns with backend label)
9apiVersion: v1
10kind: Namespace
11metadata:
12 name: gateway-conformance-infra
13 labels:
14 gateway-conformance: infra
15---
16apiVersion: gateway.networking.k8s.io/v1beta1
17kind: Gateway
18metadata:
19 name: same-namespace
20 namespace: gateway-conformance-infra
21spec:
22 gatewayClassName: "{GATEWAY_CLASS_NAME}"
23 listeners:
24 - name: http
25 port: 80
26 protocol: HTTP
27 allowedRoutes:
28 namespaces:
29 from: Same
30---
31apiVersion: gateway.networking.k8s.io/v1beta1
32kind: Gateway
33metadata:
34 name: same-namespace-with-https-listener
35 namespace: gateway-conformance-infra
36spec:
37 gatewayClassName: "{GATEWAY_CLASS_NAME}"
38 listeners:
39 - name: https
40 port: 443
41 protocol: HTTPS
42 allowedRoutes:
43 namespaces:
44 from: Same
45 tls:
46 certificateRefs:
47 - group: ""
48 kind: Secret
49 name: tls-validity-checks-certificate
50 namespace: gateway-conformance-infra
51---
52apiVersion: gateway.networking.k8s.io/v1beta1
53kind: Gateway
54metadata:
55 name: all-namespaces
56 namespace: gateway-conformance-infra
57spec:
58 gatewayClassName: "{GATEWAY_CLASS_NAME}"
59 listeners:
60 - name: http
61 port: 80
62 protocol: HTTP
63 allowedRoutes:
64 namespaces:
65 from: All
66---
67apiVersion: gateway.networking.k8s.io/v1beta1
68kind: Gateway
69metadata:
70 name: backend-namespaces
71 namespace: gateway-conformance-infra
72spec:
73 gatewayClassName: "{GATEWAY_CLASS_NAME}"
74 listeners:
75 - name: http
76 port: 80
77 protocol: HTTP
78 allowedRoutes:
79 namespaces:
80 from: Selector
81 selector:
82 matchLabels:
83 gateway-conformance: backend
84---
85apiVersion: v1
86kind: Service
87metadata:
88 name: infra-backend-v1
89 namespace: gateway-conformance-infra
90spec:
91 selector:
92 app: infra-backend-v1
93 ports:
94 - name: first-port
95 protocol: TCP
96 port: 8080
97 targetPort: 3000
98 - name: second-port
99 protocol: TCP
100 appProtocol: kubernetes.io/h2c
101 port: 8081
102 targetPort: 3001
103 - name: third-port
104 protocol: TCP
105 appProtocol: kubernetes.io/ws
106 port: 8082
107 targetPort: 3000
108---
109apiVersion: apps/v1
110kind: Deployment
111metadata:
112 name: infra-backend-v1
113 namespace: gateway-conformance-infra
114 labels:
115 app: infra-backend-v1
116spec:
117 replicas: 2
118 selector:
119 matchLabels:
120 app: infra-backend-v1
121 template:
122 metadata:
123 labels:
124 app: infra-backend-v1
125 spec:
126 containers:
127 - name: infra-backend-v1
128 # From https://github.com/kubernetes-sigs/ingress-controller-conformance/tree/master/images/echoserver
129 image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
130 env:
131 - name: POD_NAME
132 valueFrom:
133 fieldRef:
134 fieldPath: metadata.name
135 - name: NAMESPACE
136 valueFrom:
137 fieldRef:
138 fieldPath: metadata.namespace
139 resources:
140 requests:
141 cpu: 10m
142---
143apiVersion: v1
144kind: Service
145metadata:
146 name: infra-backend-v2
147 namespace: gateway-conformance-infra
148spec:
149 selector:
150 app: infra-backend-v2
151 ports:
152 - protocol: TCP
153 port: 8080
154 targetPort: 3000
155---
156apiVersion: apps/v1
157kind: Deployment
158metadata:
159 name: infra-backend-v2
160 namespace: gateway-conformance-infra
161 labels:
162 app: infra-backend-v2
163spec:
164 replicas: 2
165 selector:
166 matchLabels:
167 app: infra-backend-v2
168 template:
169 metadata:
170 labels:
171 app: infra-backend-v2
172 spec:
173 containers:
174 - name: infra-backend-v2
175 image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
176 env:
177 - name: POD_NAME
178 valueFrom:
179 fieldRef:
180 fieldPath: metadata.name
181 - name: NAMESPACE
182 valueFrom:
183 fieldRef:
184 fieldPath: metadata.namespace
185 resources:
186 requests:
187 cpu: 10m
188---
189apiVersion: v1
190kind: Service
191metadata:
192 name: infra-backend-v3
193 namespace: gateway-conformance-infra
194spec:
195 selector:
196 app: infra-backend-v3
197 ports:
198 - protocol: TCP
199 port: 8080
200 targetPort: 3000
201---
202apiVersion: apps/v1
203kind: Deployment
204metadata:
205 name: infra-backend-v3
206 namespace: gateway-conformance-infra
207 labels:
208 app: infra-backend-v3
209spec:
210 replicas: 2
211 selector:
212 matchLabels:
213 app: infra-backend-v3
214 template:
215 metadata:
216 labels:
217 app: infra-backend-v3
218 spec:
219 containers:
220 - name: infra-backend-v3
221 image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
222 env:
223 - name: POD_NAME
224 valueFrom:
225 fieldRef:
226 fieldPath: metadata.name
227 - name: NAMESPACE
228 valueFrom:
229 fieldRef:
230 fieldPath: metadata.namespace
231 resources:
232 requests:
233 cpu: 10m
234---
235apiVersion: v1
236kind: Service
237metadata:
238 name: tls-backend
239 namespace: gateway-conformance-infra
240spec:
241 selector:
242 app: tls-backend
243 ports:
244 - protocol: TCP
245 port: 443
246 targetPort: 8443
247---
248apiVersion: apps/v1
249kind: Deployment
250metadata:
251 name: tls-backend
252 namespace: gateway-conformance-infra
253 labels:
254 app: tls-backend
255spec:
256 replicas: 1
257 selector:
258 matchLabels:
259 app: tls-backend
260 template:
261 metadata:
262 labels:
263 app: tls-backend
264 spec:
265 containers:
266 - name: tls-backend
267 image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
268 volumeMounts:
269 - name: secret-volume
270 mountPath: /etc/secret-volume
271 env:
272 - name: POD_NAME
273 valueFrom:
274 fieldRef:
275 fieldPath: metadata.name
276 - name: NAMESPACE
277 valueFrom:
278 fieldRef:
279 fieldPath: metadata.namespace
280 - name: TLS_SERVER_CERT
281 value: /etc/secret-volume/crt
282 - name: TLS_SERVER_PRIVKEY
283 value: /etc/secret-volume/key
284 resources:
285 requests:
286 cpu: 10m
287 volumes:
288 - name: secret-volume
289 secret:
290 secretName: tls-passthrough-checks-certificate
291 items:
292 - key: tls.crt
293 path: crt
294 - key: tls.key
295 path: key
296---
297apiVersion: v1
298kind: Namespace
299metadata:
300 name: gateway-conformance-app-backend
301 labels:
302 gateway-conformance: backend
303---
304apiVersion: v1
305kind: Service
306metadata:
307 name: tls-backend
308 namespace: gateway-conformance-app-backend
309spec:
310 selector:
311 app: tls-backend
312 ports:
313 - protocol: TCP
314 port: 443
315 targetPort: 8443
316---
317apiVersion: apps/v1
318kind: Deployment
319metadata:
320 name: tls-backend
321 namespace: gateway-conformance-app-backend
322 labels:
323 app: tls-backend
324spec:
325 replicas: 1
326 selector:
327 matchLabels:
328 app: tls-backend
329 template:
330 metadata:
331 labels:
332 app: tls-backend
333 spec:
334 containers:
335 - name: tls-backend
336 image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
337 volumeMounts:
338 - name: secret-volume
339 mountPath: /etc/secret-volume
340 env:
341 - name: POD_NAME
342 valueFrom:
343 fieldRef:
344 fieldPath: metadata.name
345 - name: NAMESPACE
346 valueFrom:
347 fieldRef:
348 fieldPath: metadata.namespace
349 - name: TLS_SERVER_CERT
350 value: /etc/secret-volume/crt
351 - name: TLS_SERVER_PRIVKEY
352 value: /etc/secret-volume/key
353 resources:
354 requests:
355 cpu: 10m
356 volumes:
357 - name: secret-volume
358 secret:
359 secretName: tls-passthrough-checks-certificate
360 items:
361 - key: tls.crt
362 path: crt
363 - key: tls.key
364 path: key
365---
366apiVersion: v1
367kind: Service
368metadata:
369 name: app-backend-v1
370 namespace: gateway-conformance-app-backend
371spec:
372 selector:
373 app: app-backend-v1
374 ports:
375 - protocol: TCP
376 port: 8080
377 targetPort: 3000
378---
379apiVersion: apps/v1
380kind: Deployment
381metadata:
382 name: app-backend-v1
383 namespace: gateway-conformance-app-backend
384 labels:
385 app: app-backend-v1
386spec:
387 replicas: 2
388 selector:
389 matchLabels:
390 app: app-backend-v1
391 template:
392 metadata:
393 labels:
394 app: app-backend-v1
395 spec:
396 containers:
397 - name: app-backend-v1
398 image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
399 env:
400 - name: POD_NAME
401 valueFrom:
402 fieldRef:
403 fieldPath: metadata.name
404 - name: NAMESPACE
405 valueFrom:
406 fieldRef:
407 fieldPath: metadata.namespace
408 resources:
409 requests:
410 cpu: 10m
411---
412apiVersion: v1
413kind: Service
414metadata:
415 name: app-backend-v2
416 namespace: gateway-conformance-app-backend
417spec:
418 selector:
419 app: app-backend-v2
420 ports:
421 - protocol: TCP
422 port: 8080
423 targetPort: 3000
424---
425apiVersion: apps/v1
426kind: Deployment
427metadata:
428 name: app-backend-v2
429 namespace: gateway-conformance-app-backend
430 labels:
431 app: app-backend-v2
432spec:
433 replicas: 2
434 selector:
435 matchLabels:
436 app: app-backend-v2
437 template:
438 metadata:
439 labels:
440 app: app-backend-v2
441 spec:
442 containers:
443 - name: app-backend-v2
444 image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
445 env:
446 - name: POD_NAME
447 valueFrom:
448 fieldRef:
449 fieldPath: metadata.name
450 - name: NAMESPACE
451 valueFrom:
452 fieldRef:
453 fieldPath: metadata.namespace
454 resources:
455 requests:
456 cpu: 10m
457---
458apiVersion: v1
459kind: Namespace
460metadata:
461 name: gateway-conformance-web-backend
462 labels:
463 gateway-conformance: backend
464---
465apiVersion: v1
466kind: Service
467metadata:
468 name: web-backend
469 namespace: gateway-conformance-web-backend
470spec:
471 selector:
472 app: web-backend
473 ports:
474 - protocol: TCP
475 port: 8080
476 targetPort: 3000
477---
478apiVersion: apps/v1
479kind: Deployment
480metadata:
481 name: web-backend
482 namespace: gateway-conformance-web-backend
483 labels:
484 app: web-backend
485spec:
486 replicas: 2
487 selector:
488 matchLabels:
489 app: web-backend
490 template:
491 metadata:
492 labels:
493 app: web-backend
494 spec:
495 containers:
496 - name: web-backend
497 image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
498 env:
499 - name: POD_NAME
500 valueFrom:
501 fieldRef:
502 fieldPath: metadata.name
503 - name: NAMESPACE
504 valueFrom:
505 fieldRef:
506 fieldPath: metadata.namespace
507 resources:
508 requests:
509 cpu: 10m
View as plain text