Karavan is an Integration Toolkit for Apache Camel, which makes integration easy and fun through the visualization of pipelines, integration with runtimes and package, image build and deploy to kubernetes out-of-the-box.
Integrations could be created using visual designer that includes Enterprise Integration Patterns DSL, REST API and Beans builder, all Camel Kamelets and Components.
Karavan uses YAML (Integration CRD or plain) to read/write integrations.
Integrations could be run directly from Karavan UI using Camel JBang. Also they could exported in Maven project with preconfigured Camel Quarkus, Camel Spring-Boot or Camel Main runtime.
Integration project output is a runnable uber-jar or an OCI image for local environment or a deployed application to a Kubernetes/OpenShift in any cloud provider.
- Enterprise Integration Patterns DSL
- REST DSL designer
- OpenAPI to REST DSL generator
- Beans and dependencies
- 100+ Kamelets source/sink/action
- 300+ Components consumer/producer
- Read/Write Integration CRD (*.yaml with kind:Integration) and plain yaml routes
- Camel JBang
- Camel Quarkus
- Camel Spring-Boot (WIP)
- Camel Main (WIP)
- Maven for local development
- Tekton Pipelines for Kubernetes/OpenShift
Build-in catalogues:
- Enterprise Integration Patterns
- Kamelets
- Components
- Microsoft VS Code installed. You can get the most recent version from (https://code.visualstudio.com/) for your chosen operating system.
- [Camel JBang] installed(https://camel.apache.org/manual/camel-jbang.html)
- Open your VS Code Integrated Development Environment (IDE).
- In the VS Code Activity Bar, select Extensions. (Alternatively, press Ctrl+Shift+X).
- In the search bar, type Karavan
- In the Apache Camel Karavan box, click Install.
- Run in UI: click
Run
button
- Run using CLI
jbang -Dcamel.jbang.version=3.20.3 camel@apache/camel run $INTEGRATION.yaml --max-messages=10 --logging-level=info
-
Export using CLI
jbang -Dcamel.jbang.version=3.20.3 camel@apache/camel export --directory=export
If you find a new issue, please create a new issue report in GitHub!