Christoph Deppisch created CAMEL-21049:
------------------------------------------
Summary: Consider moving Kamelets to Camel
Key: CAMEL-21049
URL: https://issues.apache.org/jira/browse/CAMEL-21049
Project: Camel
Issue Type: Improvement
Components: camel-kamelet
Reporter: Christoph Deppisch
Fix For: 4.x
Kamelets represent declarative route templates in Apache Camel. The Kamelets
were born out of Camel K but soon became part of the Apache Camel project, too.
This means today you can use Kamelets in Apache Camel also without Camel K
being involved.
Kamelets are still kind of separated from the Camel core project. The Kamelets
live in a separate GitHub project repository
(https://github.com/apache/camel-kamelets) and follow a separate release
lifecycle. This means we do a follow-up release of the Kamelet catalog after
each Apache Camel release in order to keep the Kamelets aligned with the most
recent Camel versions.
In addition to that, writing and maintaining Kamelets is no fun as it boils
down to writing YAML files manually. Testing and verifying the Kamelets is
separated from the Camel core project, too.
Problems that arise due to separate GitHub repositories for Apache Camel and
Kamelets:
* Separate Kamelet catalog release lifecycle
* camel-kamelets-utils library that provides useful exchange body manipulation
utilities (e.g. hoist-flied) is only available with Kamelets
* Cyclic dependency between project versions:
Kamelets → Apache Camel → Camel JBang → Kamelets
* Separate issue tracking system: Camel JIRA vs. GitHub issues
* Testing and verification of Kamelets separate from Camel release. It is hard
to sense changes in Camel components that affect Kamelets and potential issues
are revealed and fixed late in the release life cycle
Problems with YAML as Kamelet definition:
* No compile time checks
* Poor code assistance
* Writing YAML files is cumbersome
* Separated from usual Camel component development
The proposal is to bring Kamelets to the Camel core project in order to make
them a natural part of the Camel components.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)