knative / operator

Combined operator for Knative.
Apache License 2.0
179 stars 98 forks source link

Please Support net-gateway-api #1285

Open kahirokunn opened 1 year ago

kahirokunn commented 1 year ago

Currently there is no entry for gateway-api in IngressConfigs. It would be great if you could support net-gateway-api when it graduates from the sandbox!

https://github.com/knative/operator/blob/de589bd2697d6bab4e04a3d376baff84ae2e40de/pkg/apis/operator/v1beta1/knativeserving_types.go#L85 https://github.com/knative-sandbox/net-gateway-api

houshengbo commented 1 year ago

@kahirokunn Could you be more specific regarding this feature? Like is it just a new option to configure the knative serving to use gateway api? OR is it a replacement of how we currently configure the ingress? There are tons of ingresses that support gateway api, how can we configure each of them as the ingress of knative serving?

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

kahirokunn commented 1 year ago

Like is it just a new option to configure the knative serving to use gateway API

I am considering this one first.

There are tons of ingresses that support gateway api, how can we configure each of them as the ingress of knative serving?

I don't think it is necessary to consider which Ingress supports the Gateway API. We believe it is sufficient to support the provision of HTTPRoute and gRPCRoute in the format supported by the standard Gateway API. It is better for users to build their own Ingress that supports the Gateway API. By the way, I would like to integrate cilium's Gateway API.

kahirokunn commented 1 year ago

@houshengbo Sorry for the late reply.

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

kahirokunn commented 1 year ago

Keep

github-actions[bot] commented 11 months ago

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

kahirokunn commented 11 months ago

keep

github-actions[bot] commented 8 months ago

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

kahirokunn commented 2 months ago

@houshengbo

  1. allow config-gateway configuration
  2. install net-gateway-api This is all that is required. I don't think we need to provide the details for each vendor. For example, in the case of Cilium, it is as follows.
apiVersion: operator.knative.dev/v1beta1
kind: KnativeServing
metadata:
  name: knative-serving
spec:
  config:
    gateway:
      external-gateways: |
        - class: cilium
          gateway: knative-external-gateway/knative
          service: knative-external-gateway/cilium-gateway-knative
          supported-features:
          - Gateway
          - GatewayPort8080
          - GatewayStaticAddresses
          - HTTPRoute
          - HTTPRouteDestinationPortMatching
          - HTTPRouteHostRewrite
          - HTTPRouteMethodMatching
          - HTTPRoutePathRedirect
          - HTTPRoutePathRewrite
          - HTTPRoutePortRedirect
          - HTTPRouteQueryParamMatching
          - HTTPRouteRequestMirror
          - HTTPRouteRequestMultipleMirrors
          - HTTPRouteResponseHeaderModification
          - HTTPRouteSchemeRedirect
          - Mesh
          - ReferenceGrant
          - TLSRoute
      local-gateways: |
        - class: cilium
          gateway: knative-local-gateway/knative
          service: knative-local-gateway/cilium-gateway-knative
          supported-features:
          - Gateway
          - GatewayPort8080
          - GatewayStaticAddresses
          - HTTPRoute
          - HTTPRouteDestinationPortMatching
          - HTTPRouteHostRewrite
          - HTTPRouteMethodMatching
          - HTTPRoutePathRedirect
          - HTTPRoutePathRewrite
          - HTTPRoutePortRedirect
          - HTTPRouteQueryParamMatching
          - HTTPRouteRequestMirror
          - HTTPRouteRequestMultipleMirrors
          - HTTPRouteResponseHeaderModification
          - HTTPRouteSchemeRedirect
          - Mesh
          - ReferenceGrant
          - TLSRoute
    network:
      ingress-class: gateway-api.ingress.networking.knative.dev