istio
1# the same as pilot/pkg/config/kube/gateway/testdata/route-precedence.yaml
2apiVersion: gateway.networking.k8s.io/v1beta1
3kind: GatewayClass
4metadata:
5name: istio
6spec:
7controllerName: istio.io/gateway-controller
8---
9apiVersion: gateway.networking.k8s.io/v1beta1
10kind: Gateway
11metadata:
12name: gateway
13namespace: istio-system
14spec:
15addresses:
16- value: istio-ingressgateway
17type: Hostname
18gatewayClassName: istio
19listeners:
20- name: default
21hostname: "*.domain.example"
22port: 80
23protocol: HTTP
24allowedRoutes:
25namespaces:
26from: Selector
27selector:
28matchLabels:
29istio.io/test-name-part: allowed
30---
31apiVersion: gateway.networking.k8s.io/v1beta1
32kind: HTTPRoute
33metadata:
34name: http
35namespace: allowed-1
36spec:
37parentRefs:
38- name: gateway
39namespace: istio-system
40- kind: Mesh
41name: istio
42hostnames: ["a.domain.example", "b.domain.example"]
43rules:
44- matches:
45- path:
46type: PathPrefix
47value: /foo
48headers:
49- name: my-header
50value: some-value
51type: Exact
52backendRefs:
53- name: svc1
54port: 80
55- matches:
56- path:
57type: RegularExpression
58value: /foo((\/).*)?
59backendRefs:
60- name: svc2
61port: 80
62---
63apiVersion: gateway.networking.k8s.io/v1beta1
64kind: HTTPRoute
65metadata:
66name: http
67namespace: allowed-2
68spec:
69parentRefs:
70- name: gateway
71namespace: istio-system
72- kind: Mesh
73name: istio
74hostnames: ["a.domain.example"]
75rules:
76- matches:
77- path:
78type: PathPrefix
79value: /foo/bar
80- path:
81type: PathPrefix
82value: /bar
83backendRefs:
84- name: svc2
85port: 80
86- matches:
87- path:
88type: Exact
89value: /baz
90headers:
91- name: my-header
92value: some-value
93type: Exact
94queryParams:
95- name: my-param
96value: some-value
97type: RegularExpression
98backendRefs:
99- name: svc2
100port: 80
101- matches:
102- path:
103type: PathPrefix
104value: /
105backendRefs:
106- name: svc3
107port: 80
108---
109apiVersion: gateway.networking.k8s.io/v1beta1
110kind: HTTPRoute
111metadata:
112name: http
113namespace: default
114spec:
115parentRefs:
116- name: gateway
117namespace: istio-system
118hostnames: ["a.domain.example", "b.domain.example"]
119rules:
120- matches:
121- path:
122type: PathPrefix
123value: /abc
124headers:
125- name: my-header
126value: some-value
127type: Exact
128backendRefs:
129- name: svc4
130port: 80
131---
132