apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: query-param-matching namespace: gateway-conformance-infra spec: parentRefs: - name: same-namespace rules: - matches: - queryParams: - name: animal value: whale backendRefs: - name: infra-backend-v1 port: 8080 - matches: - queryParams: - name: animal value: dolphin backendRefs: - name: infra-backend-v2 port: 8080 - matches: - queryParams: - name: animal value: dolphin - name: color value: blue - queryParams: - name: ANIMAL value: Whale backendRefs: - name: infra-backend-v3 port: 8080 # Combinations with core match types. - matches: - path: type: PathPrefix value: /path1 queryParams: - name: animal value: whale backendRefs: - name: infra-backend-v1 port: 8080 - matches: - headers: - name: version value: one queryParams: - name: animal value: whale backendRefs: - name: infra-backend-v2 port: 8080 - matches: - path: type: PathPrefix value: /path2 headers: - name: version value: two queryParams: - name: animal value: whale backendRefs: - name: infra-backend-v3 port: 8080 # Match of the form (cond1 AND cond2) OR (cond3 AND cond4 AND cond5) - matches: - path: type: PathPrefix value: /path3 queryParams: - name: animal value: shark - path: type: PathPrefix value: /path4 headers: - name: version value: three queryParams: - name: animal value: kraken backendRefs: - name: infra-backend-v1 port: 8080 # Matches for checking precedence. - matches: - path: type: PathPrefix value: /path5 backendRefs: - name: infra-backend-v1 port: 8080 - matches: - queryParams: - name: animal value: hydra backendRefs: - name: infra-backend-v2 port: 8080 - matches: - headers: - name: version value: four backendRefs: - name: infra-backend-v3 port: 8080