Description
It is not obvious if explicit configuration of the KnativeService userland container port is required, to support components that rely on the HTTP/2 transport protocol, like gRPC.
In the following example, it is documented the port name must be set to h2c
: https://knative.dev/docs/serving/samples/grpc-ping-go/
On the other hand, the Knative runtime contract suggests auto-detection might be available based on HTTP negotiation: https://github.com/knative/specs/blob/main/specs/serving/runtime-contract.md#protocols-and-ports.
On the Camel K runtime side, it seems HTTP/2 is the default with Quarkus, but it's not clear if negotiation is supported for endpoints served on the same port, e.g., for the metrics endpoint, as Knative currently mandates to have a single userland container port.
Last but not least, it'd be valuable to provide an example demonstrating the gRPC component in action, with Knative.
Activity