matzew opened a new issue, #5537:
URL: https://github.com/apache/camel-k/issues/5537
### Requirement
Creating a `Pipe` that is reading from a **Knative Broker**, requires to set
the `type` attribute of the CloudEvent. This is than used when Camel-K creates
a Knative `Trigger` and passed to the `spec.filter.attribues` of that `Trigger`
However it is not possible to provide any other CE metadata (e.g. defined
attributes or extensions), such as:
```yaml
apiVersion: camel.apache.org/v1
kind: Pipe
metadata:
name: log-sink-pipe
spec:
source:
ref:
kind: Broker
apiVersion: eventing.knative.dev/v1
name: test-broker-2
properties:
type: com.corp.my.beer.source
source: /bar
sink:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1
name: log-sink
```
It would be nice if there would be a better support for any CE
attribute/extension, and than being applied down to the `Trigger`, perhaps has
as a custom propertie? So that Camel-k could create as flexible/powerful
`Triggers`
### Problem
Camel-K seems to not support creating Knative Triggers with filter
attributes, other than the `type` of the CloudEvent message.
On the pod of the pipe, I see this log:
```
2024-05-22 12:24:27,542 INFO [org.apa.cam.k.Runtime] (main) Apache Camel K
Runtime 3.8.1
2024-05-22 12:24:27,547 INFO [org.apa.cam.qua.cor.CamelBootstrapRecorder]
(main) Bootstrap runtime: org.apache.camel.quarkus.main.CamelMainRuntime
2024-05-22 12:24:27,552 INFO [org.apa.cam.mai.MainSupport] (main) Apache
Camel (Main) 4.4.1 is starting
2024-05-22 12:24:27,610 INFO [org.apa.cam.k.sup.SourcesSupport] (main)
Loading routes from: SourceDefinition{name='camel-k-embedded-flow',
language='yaml', type='source',
location='file:/etc/camel/sources/camel-k-embedded-flow.yaml', }
2024-05-22 12:24:27,937 ERROR [org.apa.cam.qua.mai.CamelMainRuntime] (main)
Failed to start application: org.apache.camel.FailedToCreateRouteException:
Failed to create route binding:
Route(binding)[From[knative:event/com.corp.my.beer.source?ap... because of
Failed to resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: Failed to resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: There are 1 parameters that couldn't be set on the endpoint. Check the
uri if the parameters are spelt correctly and that they are properties of the
endpoint. Unknown parameters=[{source=/bar}]
at
org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:85)
at
org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:728)
at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:594)
at
org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2385)
at
org.apache.camel.quarkus.core.FastCamelContext.doInit(FastCamelContext.java:194)
at
org.apache.camel.support.service.BaseService.init(BaseService.java:78)
at
org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2021)
at
org.apache.camel.support.service.BaseService.start(BaseService.java:105)
at
org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2040)
at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:212)
at org.apache.camel.quarkus.main.CamelMain.doStart(CamelMain.java:94)
at
org.apache.camel.support.service.BaseService.start(BaseService.java:113)
at
org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:140)
at
org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49)
at
org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45)
at
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy_0(Unknown
Source)
at
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy(Unknown
Source)
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at
io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:111)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
at io.quarkus.runner.GeneratedMain.main(Unknown Source)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at
io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:62)
at
io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:33)
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: Failed to resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: There are 1 parameters that couldn't be set on the endpoint. Check the
uri if the parameters are spelt correctly and that they are properties of the
endpoint. Unknown parameters=[{source=/bar}]
at
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:830)
at
org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:730)
at
org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:61)
at
org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:195)
at
org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:99)
at
org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:79)
... 30 more
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: There are 1 parameters that couldn't be set on the endpoint. Check the
uri if the parameters are spelt correctly and that they are properties of the
endpoint. Unknown parameters=[{source=/bar}]
at
org.apache.camel.support.DefaultComponent.validateParameters(DefaultComponent.java:302)
at
org.apache.camel.support.DefaultComponent.createEndpoint(DefaultComponent.java:191)
at
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:796)
... 35 more
2024-05-22 12:24:27,998 ERROR [io.qua.run.Application] (main) Failed to
start application (with profile [prod]): java.lang.RuntimeException: Failed to
start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at
io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:111)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
at io.quarkus.runner.GeneratedMain.main(Unknown Source)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at
io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:62)
at
io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:33)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException:
org.apache.camel.FailedToCreateRouteException: Failed to create route binding:
Route(binding)[From[knative:event/com.corp.my.beer.source?ap... because of
Failed to resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: Failed to resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: There are 1 parameters that couldn't be set on the endpoint. Check the
uri if the parameters are spelt correctly and that they are properties of the
endpoint. Unknown parameters=[{source=/bar}]
at
org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:47)
at
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy_0(Unknown
Source)
at
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy(Unknown
Source)
... 13 more
Caused by: java.lang.RuntimeException:
org.apache.camel.FailedToCreateRouteException: Failed to create route binding:
Route(binding)[From[knative:event/com.corp.my.beer.source?ap... because of
Failed to resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: Failed to resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: There are 1 parameters that couldn't be set on the endpoint. Check the
uri if the parameters are spelt correctly and that they are properties of the
endpoint. Unknown parameters=[{source=/bar}]
at
org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:65)
at
org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45)
... 15 more
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create
route binding: Route(binding)[From[knative:event/com.corp.my.beer.source?ap...
because of Failed to resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: Failed to resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: There are 1 parameters that couldn't be set on the endpoint. Check the
uri if the parameters are spelt correctly and that they are properties of the
endpoint. Unknown parameters=[{source=/bar}]
at
org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:85)
at
org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:728)
at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:594)
at
org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2385)
at
org.apache.camel.quarkus.core.FastCamelContext.doInit(FastCamelContext.java:194)
at
org.apache.camel.support.service.BaseService.init(BaseService.java:78)
at
org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2021)
at
org.apache.camel.support.service.BaseService.start(BaseService.java:105)
at
org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2040)
at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:212)
at org.apache.camel.quarkus.main.CamelMain.doStart(CamelMain.java:94)
at
org.apache.camel.support.service.BaseService.start(BaseService.java:113)
at
org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:140)
at
org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49)
... 16 more
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: Failed to resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: There are 1 parameters that couldn't be set on the endpoint. Check the
uri if the parameters are spelt correctly and that they are properties of the
endpoint. Unknown parameters=[{source=/bar}]
at
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:830)
at
org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:730)
at
org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:61)
at
org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:195)
at
org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:99)
at
org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:79)
... 30 more
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
resolve endpoint:
knative://event/com.corp.my.beer.source?apiVersion=eventing.knative.dev%2Fv1&kind=Broker&name=test-broker-2&source=%2Fbar
due to: There are 1 parameters that couldn't be set on the endpoint. Check the
uri if the parameters are spelt correctly and that they are properties of the
endpoint. Unknown parameters=[{source=/bar}]
at
org.apache.camel.support.DefaultComponent.validateParameters(DefaultComponent.java:302)
at
org.apache.camel.support.DefaultComponent.createEndpoint(DefaultComponent.java:191)
at
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:796)
... 35 more
```
### Proposal
_No response_
### Open questions
_No response_
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]