-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Refactor Gateway API Reconcilers into single reconciler #40809
Description
Currently, the Cilium Gateway API reconcilers are split, so that each Route type has its own reconciler, that runs checks over the route and updates the Status of the Route to Accepted if they all pass. The Gateway reconciler checks Routes on each of their updates, and once they are Accepted, takes action on them. This approach works, but is prone to eventual consistency problems and odd races.
When refactoring the GAMMA reconciler in #39922, I instead built the Route checking into the reconciler, and found that it made some things much easier.
This issue is to track work to migrate the Gateway API reconcilers to use a similar single-reconciler pattern. Followup work will be to go through the Route processing and see if we have subtle bugs in there that can cause issues (it seems like #34982 is one example).