/camel-karavan

Karavan the Mastering Tool for Apache Camel

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Build Camel Java Quarkus React Typescript License

karavan-logo karavan-logo

Apache Camel Karavan

Mastering Tool for Apache Camel makes integration easy and fun through the visualization of pipelines and integration with runtimes.

Features

  • Enterprise Integration Patterns DSL
  • REST DSL
  • Beans and dependencies
  • 100+ Kamelets source/sink/action
  • 300+ Components consumer/producer
  • Read/Write Integration CRD (*.yaml with kind:Integration) and plain yaml routes
  • Integration with Camel-K and JBang

VS Code extension

Install Karavan VS Code extension from the Marketplace

karavan-vscode

Standalone application

Install Karavan Standalone command line: docker pull ghcr.io/apache/camel-karavan:latest

karavan-web

Project structure

  1. Karavan-generator
    Generate Camel Models and Api from Camel sources to Typescript in Karavan-designer
  2. Karavan-Designer
    KaravanDesigner UI component and simple web app
  3. Karavan-vscode
    VS Code extension based on KaravanDesigner
  4. Karavan-app
    Karavan Application
  5. Karavan-demo
    Demo of Karavan use cases

How to build

  1. Generate Camel Models ad API for Typescript
mvn clean compile exec:java -Dexec.mainClass="org.apache.camel.karavan.generator.KaravanGenerator" -f karavan-generator
  1. Build VS Code extension
cd  karavan-vscode
yarn install
yarn run compile // dev
yarn run package //prod
  1. Build Karavan app
  • Build JVM Mode
cd karavan-app
mvn clean package -Dquarkus.container-image.build=true
  • Build native
DOCKER_BUILDKIT=1 docker build -f karavan-app/src/main/docker/Dockerfile.multistage -t apache/camel-karavan .

Development Karavan app

You can run your application in dev mode that enables live coding using:

  • Backend
cd karavan-app
mvn quarkus:dev
  • Frontend
cd karavan-app/src/main/webapp/
npm start

Running in local mode

  • Run JVM Mode
docker run -it -p 8080:8080 -v $(pwd):/deployments/integrations ghcr.io/apache/camel-karavan:latest

For SELinux

docker run -it -p 8080:8080 -v $(pwd):/deployments/integrations:z ghcr.io/apache/camel-karavan:latest
  • Run native
docker run -it -p 8080:8080 -v $(pwd):/deployments/integrations ghcr.io/apache/camel-karavan-native:latest

For SELinux

docker run -it -p 8080:8080 -v $(pwd):/deployments/integrations:z ghcr.io/apache/camel-karavan-native:latest

Running in GitOps mode

Karavan demo on OpenShift

Running in Serverless mode

Karavan demo on Kubernetes