envoyproxy / envoyproxy/gateway

Explicit route priority across HTTPRoutes

Open
#9,592 2 comments 0 reactions 0 assignees View on GitHub
area/api
Dominant language
Go
Stars
3k
Forks
864
Avg merge
2d 2h
Merged PRs (30d)
140

Description

We are running into issues migrating off AWS ALB, where routing is priority-based (declare order = match
order, first match wins). Gateway API sorts by specificity instead, so
less-specific routes that are supposed to win out actually lose in this setup.

`preserveRouteOrder` (#4955) only preserves order within one HTTPRoute. We run
per-backend HTTPRoutes (argo-rollouts canary plugin), so across them the only
tie-break is creationTimestamp/name — no way to state precedence.

Ask: let routes carry an explicit priority when `preserveRouteOrder` is already
on — stated order instead of inferred from timestamps, default sort untouched.

PoC in https://github.com/envoyproxy/gateway/pull/9591

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the HTTPRoute ordering behavior described in this issue, including preserveRouteOrder and the linked PoC in envoyproxy/gateway#9591. Determine how per-backend HTTPRoutes are ordered and where an explicit priority would fit. Done means stated priority controls order when preserveRouteOrder is enabled while the default specificity sort remains unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.