Knative

JVM since2.14.0 Native since2.14.0

Send and receive events from Knative.

What’s inside

Please refer to the above link for usage and configuration details.

Maven coordinates

Or add the coordinates to your existing project:

<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-knative</artifactId>
</dependency>

Check the User guide for more information about writing Camel Quarkus applications.

Camel Quarkus limitations

vertx-websocket with Knative does not work with HTTP/2

The vertx-websocket extension is supported with Knative, but has important protocol compatibility constraints.

WebSocket connections require the HTTP/1.1 upgrade mechanism and are incompatible with HTTP/2. If your Knative application is intended to accept WebSocket connections, it must not allow negotiating the HTTP/2 protocol, or else clients will fail to upgrade to the WebSocket protocol.

This creates an incompatibility with the grpc extension, which requires HTTP/2.

If you need to use gRPC with Knative, you must configure HTTP/2 support. See Using HTTP2 and gRPC for configuration instructions.

To use WebSockets with Knative:

  • Ensure your Knative service does not negotiate HTTP/2

  • Configure ingress gateways and load balancers to use HTTP/1.1 for WebSocket routes

  • Do not enable HTTP/2 support if your application accepts WebSocket connections

For platform-specific configuration, refer to: