Skip to content

HTTPRoute overlap does not result in status conditions being set #8101

@lyngekpdxc

Description

@lyngekpdxc

Description:
Envoy Gateway allows HTTPRoutes with overlapping exact paths to be applied with uncertain result.
I.e. what traffic is routed to which?

Gateway API documentation states that this should be well defined behaviour reported as status condition: https://gateway-api.sigs.k8s.io/guides/api-design/#conflicts

Repro steps:
Copy existing HTTPRoute definition. Change name. Deploy.
Now two HTTPRoutes will exist for the same exact path match, but with different backendservices.
Both are applied

Environment:
docker.io/envoyproxy/gateway-helm:v1.6.2
and
docker.io/envoyproxy/gateway-helm:v1.6.3

Logs:
I have included a sample HTTPRoute exhibiting this behaviour here

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: test-httproute
  namespace: service-namespace
spec:
  hostnames:
  - example.com
  parentRefs:
  - group: gateway.networking.k8s.io
    kind: Gateway
    name: test-ingress
    namespace: test
  rules:
  - backendRefs:
    - group: ""
      kind: Service
      name: myservice
      namespace: test
      port: 8080
      weight: 1
    matches:
    - path:
        type: Exact
        value: /testPath
status:
  parents:
  - conditions:
    - lastTransitionTime: "2026-01-28T15:04:55Z"
      message: Route is accepted
      observedGeneration: 3
      reason: Accepted
      status: "True"
      type: Accepted
    - lastTransitionTime: "2026-01-28T15:04:55Z"
      message: Resolved all the Object references for the Route
      observedGeneration: 3
      reason: ResolvedRefs
      status: "True"
      type: ResolvedRefs
    controllerName: gateway.envoyproxy.io/gatewayclass-controller
    parentRef:
      group: gateway.networking.k8s.io
      kind: Gateway
      name: test-ingress
      namespace: test

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions