Simplify egress route merge and consolidate Route types #120
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Tracked from the complexity hotspot review in #117. Two remaining open tasks from that review:
1.
_merge_provider_routebranching — five distinct outcomes (append-new, upgrade-bare, no-op, tls-passthrough upgrade, conflict-die) collapsed into one function with interleaved conditions and in-place index rewrites. The root cause: the merge tries to be cooperative when the actual intended hierarchy is provisioned routes win outright.2. Route type fragmentation —
EgressRoute(host-side) andegress_addon_core.Route(sidecar-side) are separate types with overlapping fields and no explicit mapping between them.egress_render_routesspells out the field list inline with no reference to the addon parser, so divergence is silent until runtime.See PRD 0031 for the full design.
Refactor _merge_provider_route: split five-case branch into named helpersto Simplify egress route merge and consolidate Route types