Hi,

Ok, thanks for the detailed explanation.

I was intrigued to find out that Camel-K contains the support for
transforming the messages into CloudEvents and the experimentation was
if I could somehow leverage that feature outside the Camel-K. But now
I wonder if I could just use the KNative component as it (I think)
seems to be one creating the CloudEvents..

Anyways, I really appreciate the response, thank you!

Best regards,
Mikael

ke 22. helmik. 2023 klo 16.03 Pasquale Congiusti
(pasquale.congiu...@gmail.com) kirjoitti:
>
> Hi Mikael,
> yes, there are important differences when running *any* Camel application
> (not only KameletBindings) via Camel JBang or via Kamel CLI. First of all,
> in the first case you're running the application locally and you're using
> your local JVM to run it. The scaffolding and creation of the Maven project
> is done by camel CLI and the execution is local using Camel-Main. When you
> run via kamel, you're running your application remotely, building it on the
> cluster (with a different mechanics of Camel JBang), preparing all
> Kubernetes configuration and finally running the runtime as a Camel-Quarkus
> application.
>
> For your specific case, the local execution misses some important piece
> required to convert the messages in CloudEvents. Running it remotely (and
> also probably with a KNative profile) will do all the transformation
> required. That's the reason why you don't see the messages transformed in a
> local execution.
>
> Cheers,
> Pasquale.
>
> On Wed, Feb 22, 2023 at 2:33 PM Mikael Koskinen <mijap...@gmail.com> wrote:
>
> > Hi,
> >
> > I'm wondering if KameletBinding works differently if run through Camel
> > JBang vs running the binding using Camel-K.
> >
> > The documentation states that if I use http or https-endpoint as a
> > sink, I should receive a CloudEvent from the source but this doesn't
> > seem to be the case based on my testing using the Camel JBang. That's
> > why I'm wondering if there's a difference between Camel-K and the CLI
> > or if the documentation is missing a step.
> >
> > Here's the part from the documentation:
> > ---
> > the uri option is also conventionally used in Knative to specify a
> > non-kubernetes destination. To comply with the Knative specifications,
> > in case an "http" or "https" URI is used, Camel will send CloudEvents
> > to the destination.
> > ---
> >
> > To test this I created the following binding:
> >
> > apiVersion: camel.apache.org/v1alpha1
> > kind: KameletBinding
> > metadata:
> >   name: test-binding
> > spec:
> >   source:
> >     ref:
> >       kind: Kamelet
> >       apiVersion: camel.apache.org/v1alpha1
> >       name: file-watch-source
> >     properties:
> >       filePath: c:/temp/kamel
> >       events: CREATE
> >   sink:
> >     uri: https://webhook.site/7e80a696-5d47-4a03-8507-1fe4e47cfec6
> >
> > And used the CLI to run this: camel run hmm.yaml
> >
> > The binding itself works but instead of CloudEvents the sink is
> > receiving just the exchange body.
> >
> > Any ideas if there's a step missing? Thanks in advance.
> >
> > Best regards,
> > Mikael
> >

Reply via email to