Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[rlp-v2] Reconciliation of route selectors #200

Closed
guicassolato opened this issue Jun 15, 2023 · 0 comments
Closed

[rlp-v2] Reconciliation of route selectors #200

guicassolato opened this issue Jun 15, 2023 · 0 comments
Assignees

Comments

@guicassolato
Copy link
Contributor

The rules for reconciling RLP v2's routeSelectors (see RFC 0001) are:

  • A route selector selects 1+ HTTPRouteRules
  • For RLPs that target a HTTPRoute, all HTTPRouteRules in the HTTPRoute must be scanned for possible selection
  • For RLPs that target a Gateway, all HTTPRouteRules in all HTTPRoutes pointing the Gateway as parent must be scanned for possible selection
  • A HTTPRouteRule is selected when it contains at least one HTTPRouteMatch whose attributes include totally the attributes of the route selector
  • For a set of attributes of a HTTPRouteMatch to include the attributes of a route selector, all attributes of the route selector must be explicitly and identically declared as the attributes of the HTTPRouteMatch
  • While selecting a HTTPRouteRule, the HTTPRouteMatch may contain attributes that are not explicitly declared amongst the attributes of the route selectors – i.e., attrs(route selector) ⊆ attrs(HTTPRouteMatch), though not necessarily attrs(route selector) = attrs(HTTPRouteMatch)
  • For RLPs that target a HTTPRoute, the set of attributes of any selectable HTTPRouteMatch implicitly includes the hostnames specified in the targeted HTTPRoute and all the hostnames of all Gateways pointed as parents of the HTTPRoute
  • For RLPs that target a Gateway, the set of attributes of any selectable HTTPRouteMatch implicitly includes the hostname of the targeted Gateway and all hostnames of all HTTPRoutes pointing the Gateway as parent
  • Hostname attributes specified in a route selector must as well be explicitly and identically declared in any of the instances above (HTTPRoute hostnames or Gateway hostname) that applies
  • A route selector that finds no HTTPRouteRule with at least one HTTPRouteMatch including its attributes is considered invalid

Related to: Kuadrant/architecture#13, #156
Follows-up on: #199.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done
Development

No branches or pull requests

1 participant