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

refactor(core+grpc): preliminary name changes to make route types generic #12662

Conversation

the-wondersmith
Copy link
Contributor

@the-wondersmith the-wondersmith commented May 30, 2024

Subject

Prepare to expand linkerd's repertoire of supported Gateway API route types in linkerd-policy-controller.

Problem

In order to expand linkerd's support for the route types defined by the Gateway API, the policy controller's core and grpc components need to adopt a more generic naming convention with respect to route-oriented types and modules.

Solution

NOTE: PR was opened out of order and should be merged before #12661

PR introduces structural and naming changes making the codebase generic with respect to the type of route being handled (e.g. http_route -> routes). Changes are entirely cosmetic and organizational, PR includes no functional or behavioral changes.

Validation

  • maintainer review
  • tests pass

Fixes Lays Groundwork For Addressing

Signed-off-by: Mark S <the@wondersmith.dev>
@the-wondersmith the-wondersmith requested a review from a team as a code owner May 30, 2024 19:00
Signed-off-by: Mark S <the@wondersmith.dev>
Signed-off-by: Mark S <the@wondersmith.dev>
@the-wondersmith the-wondersmith changed the title refactor: preliminary name changes to make route types generic refactor(core+grpc): preliminary name changes to make route types generic May 31, 2024
adleong pushed a commit that referenced this pull request Jun 3, 2024
## Subject

Prepare to expand `linkerd`'s repertoire of supported [`Gateway API`](https://gateway-api.sigs.k8s.io/api-types/grpcroute/) route types in [`linkerd-policy-controller-k8s-status`](https://github.com/linkerd/linkerd2/tree/main/policy-controller/k8s/status).


## Problem

Currently, the policy controller's `status` component is written with `HTTPRoute` support (effectively) exclusively, both in its structure/organization as well as its naming (e.g. `HttpRoute` as a primary type name, `update_http_route` as a method name, etc...).

In order to expand `linkerd`'s support for the route types defined by the Gateway API, the policy controller's `status` component needs to be made more generic in both respects.


## Solution

> **NOTE:** PR was opened out of order and should only be merged _after_ #12662

PR introduces structural and naming changes making the codebase generic with respect to the type of route being handled (e.g. `HTTPRoute` -> `Route`). Changes are almost entirely cosmetic introducing only a couple of minor functional changes, most notably:

- making the `status` argument to [`make_patch`](https://github.com/the-wondersmith/linkerd2/blob/8d6cd57b70110daccc38288aaac8a7c04091c5fc/policy-controller/k8s/status/src/index.rs#L734) generic
- adding a type-aware `api_version` helper method to [`NamespaceGroupKindName`](https://github.com/the-wondersmith/linkerd2/blob/8d6cd57b70110daccc38288aaac8a7c04091c5fc/policy-controller/k8s/status/src/resource_id.rs#L27)
    - **note:** *required for proper handling of different route types in the future*


## Validation

- [X] maintainer review
- [X] tests pass

![Screenshot 2024-05-30 at 11 50 28 AM](https://github.com/linkerd/linkerd2/assets/61921871/bf90c474-5af7-43c6-bffd-017042dc495d)


## ~~Fixes~~ *Lays Groundwork For Addressing*

- #12404

Signed-off-by: Mark S <the@wondersmith.dev>
…ize-route-types

Signed-off-by: Mark S <the@wondersmith.dev>

# Conflicts:
#	policy-controller/k8s/status/src/index.rs
#	policy-controller/k8s/status/src/resource_id.rs
#	policy-controller/k8s/status/src/tests/http_routes.rs
Signed-off-by: Mark S <the@wondersmith.dev>
Signed-off-by: Mark S <the@wondersmith.dev>
@the-wondersmith
Copy link
Contributor Author

Technically already merged in #12661

@the-wondersmith the-wondersmith deleted the policy-refactor-core-grpc-generalize-route-types branch June 5, 2024 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants