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 GWAPI traits and its implementations #598

Open
1 of 20 tasks
Xunzhuo opened this issue Jan 12, 2023 · 1 comment
Open
1 of 20 tasks

Refactor GWAPI traits and its implementations #598

Xunzhuo opened this issue Jan 12, 2023 · 1 comment

Comments

@Xunzhuo
Copy link
Member

Xunzhuo commented Jan 12, 2023

I list some subtasks of this epic:

  • Add support Gateway API to v0.6.0 of resources/.
  • Refactor Gateway API implementations:
    • istio-gateway
      • Remove Gateway CR binded in gateway addons.
      • Add GatewayClass CR in each gateway addons, and make the GatewayClassNames as consts like (istio, traefik, eg), which can be refered in the Gateway CR in Gateway API trait. End users can create Gateway Trait and specify the gatewayClassName with its implementations.
    • envoy-gateway
      • Remove Gateway CR binded in gateway addons.
      • Add GatewayClass CR in each gateway addons, and make the GatewayClassNames as consts like (istio, traefik, eg), which can be refered in the Gateway CR in Gateway API trait. End users can create Gateway Trait and specify the gatewayClassName with its implementations.
    • traefik-gateway
      • Remove Gateway CR binded in gateway addons.
      • Add GatewayClass CR in each gateway addons, and make the GatewayClassNames as consts like (istio, traefik, eg), which can be refered in the Gateway CR in Gateway API trait. End users can create Gateway Trait and specify the gatewayClassName with its implementations.
  • Refactor Gateway API Traits:
    • Add support to core resources of latest GWAPI:
      • Gateway Trait: Gateway represents an instance of a service-traffic handling infrastructure by binding Listeners to a set of IP addresses.
      • HTTPRoute Trait: HTTPRoute provides a way to route HTTP/HTTPS requests. This includes the capability to match requests by hostname, path, header, or query param. Filters can be used to specify additional processing steps. Backends specify where matching requests should be routed.
      • TLSRoute Trait: The TLSRoute resource is similar to TCPRoute, but can be configured to match against TLS-specific metadata. This allows more flexibility in matching streams for a given TLS listener.
      • TCPRoute Trait: TCPRoute provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward connections on the port specified by the listener to a set of backends specified by the TCPRoute.
      • UDPRoute Trait: UDPRoute provides a way to route UDP traffic. When combined with a Gateway listener, it can be used to forward traffic on the port specified by the listener to a set of backends specified by the UDPRoute.
      • GRPCRoute Trait: GRPCRoute provides a way to route gRPC requests. This includes the capability to match requests by hostname, gRPC service, gRPC method, or HTTP/2 header. Filters can be used to specify additional processing steps. Backends specify where matching requests will be routed.
      • ReferenceGrant Trait: ReferenceGrant identifies kinds of resources in other namespaces that are trusted to reference the specified kinds of resources in the same namespace as the policy
@barnettZQG
Copy link
Collaborator

Drive KubeVela as an integration project in the Gateway API website. kubernetes-sigs/gateway-api#1131

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

No branches or pull requests

2 participants