Closed claudio4j closed 1 month ago
I plan to work on this on a personal branch and later requesting review.
Inspecting the camel-k-runtime project, these are the structure and aspects to be migrated to camel-quarkus
docs
: These pages lists the languages and how it works in Camel K, this is specific to Camel K and should not me migrated to camel-quarkus, but shoud go to Camel K documentation. They are published in Camel K websiteexamples
: Migrate to https://github.com/apache/camel-quarkus-examplescamel-k-*
quarkus extensions: Migrate to camel-quarkus, some of them like cloudevents, cron, knative, master, webhook already exists in camel-quarkus, but are different. Other extensions as resume-kafka, runtime, are not present. These migrations are expected to be the main effort to bring into camel-quarkusitests
: Migrate as the quarkus extensions above.catalog
: Adapt to the camel-quarkus catalog and extend it whenever necessary.There are some aspects relevant only to Camel K and we should not add these concerns to camel-quarkus, but look for ways to adapt Camel K to use camel-quarkus directly, this is yet to be discovered along the migration process.
examples
: Migrate to https://github.com/apache/camel-quarkus-examples
I don't see those camel-k-runtime example projects adding any real value given that we have camel-k-examples.
I don't see those camel-k-runtime example projects adding any real value given that we have camel-k-examples.
I haven't look in detail the camel-k-runtime examples yet, but if they are perceived as not relevant for camel-quarkus, we are going to see another home for them.
We can remove them, they were mainly meant to provide some quickstart to test/debug things
* `catalog`: Adapt to the camel-quarkus catalog and extend it whenever necessary.
Note that this is not the same catalog as the camel one, it is used by camel-k to resolve artifacts and other capabilities. There is also a plugin to generate it.
I noticed most of the projects remaining in camel-k-runtime/support were built targeting camel-k, I am still investigating how to migrate them to camel quarkus, any ideas are welcome.
A description of each module (comprising of code), worth migrating.
camel-k-master, there's a PR that has been merged already https://github.com/apache/camel-quarkus/commit/17c9fdcfed19b14b12cbde928cd88aad31bb50ff
I migrated the camel-k-core
and camel-k-runtime
and their respective tests my camel-quarkus repository, branch merge_ckr for an early review
There are some parts that requires more investigation, like the use an existing camel-quarkus Runtime interface, instead of the one in the k-core/api
package
Also, there are some tests disabled due to failures in the CamelContextCustomizer tests, which I am investigating.
There is the ApplicationConfigSourceProvider
which I will see if it is really necessary to depend on microprofile config.
Any feedback is welcome.
Wont do for now. The initial work was reverted in https://github.com/apache/camel-quarkus/pull/6388.
We have backups in the form the 3.14.x branch and the previous release tags.
camel-k-runtime used to host some camel components and its quarkus extensions suitable for camel-k project, however today all camel components are already in camel, only the quarkus extensions remained in camel-k-runtime project.
It seems appropriate to move all camel-k-runtime quarkus extensions into camel-quarkus project.