diff --git a/DEV.md b/DEV.md deleted file mode 100644 index 60213a91d87..00000000000 --- a/DEV.md +++ /dev/null @@ -1,37 +0,0 @@ -## Project structure -1. Karavan-generator -Generate Camel Models and Api from Camel sources to Typescript in karavan-core -2. Karavan-core -Front-end Camel Models and Api -3. Karavan-Designer -KaravanDesigner UI component -4. Karavan-app -Karavan Cloud Application -5. Karavan-vscode -VS Code extension based on Karavan Designer - -## How to build -1. Generate Camel Models and API for Typescript -``` -cd karavan-generator -mvn clean compile exec:java -Dexec.mainClass="org.apache.camel.karavan.generator.KaravanGenerator" -f karavan-generator -``` - -2. Install Karavan core library -``` -cd karavan-core -npm install -``` - -3. Build Karavan app -``` -cd karavan-app -mvn clean package -Dquarkus.profile=public -``` - -## Development Karavan app -You can run your application in dev mode that enables live coding using: -```shell script -cd karavan-app -mvn quarkus:dev -Dquarkus.profile=public -``` \ No newline at end of file diff --git a/README.md b/README.md index 5b16c5b4edd..518f1757431 100644 --- a/README.md +++ b/README.md @@ -19,32 +19,9 @@ Integrations could be created using visual designer that includes Enterprise Int https://user-images.githubusercontent.com/1379213/211049026-4496d054-d529-4917-837f-a59b6f2f84b1.mp4 - -## Installation - -Two types of applications are available: -1. [Cloud-native](karavan-cloud/README.md) application deployed into Kubernetes/OpenShift -2. [VS Code extension](karavan-vscode/README.md) available on the [Marketplace](https://marketplace.visualstudio.com/items?itemName=camel-karavan.karavan). Extensions for VS Code Compatible Editors available on [Open VSX Registry](https://open-vsx.org/extension/camel-karavan/karavan) - -Both applications share same visual designer and work with Camel YAMl DSL. - -## Karavan cloud-native application -Karavan cloud-native integration toolkit is an application to manage projects, design and monitor integrations, Tekton pipeline to build and deploy integrations. More about [cloud-native Karavan](karavan-cloud/README.md) - -![karavan-ipaas-1](images/karavan-ipaas-1.png) - - -## Karavan VS Code extension -Install Karavan VS Code extension from the [Marketplace](https://marketplace.visualstudio.com/items?itemName=camel-karavan.karavan) or from [Open VSX Registry](https://open-vsx.org/extension/camel-karavan/karavan) - -More about [Karavan VS Code Extension](karavan-vscode/README.md) - -![karavan-vscode](images/karavan-vscode.png) - - ## Features ### Mode -* [Cloud-native](karavan-cloud/README.md) +* [Web application](karavan-cloud/README.md) * [VS Code extension](karavan-vscode/README.md) ### Visual Designer for Integrations * Enterprise Integration Patterns DSL @@ -61,11 +38,11 @@ More about [Karavan VS Code Extension](karavan-vscode/README.md) ### Build and Deploy * Maven for local development * Tekton Pipelines for Kubernetes/OpenShift -### Documentation +### Knowledgebase Build-in catalogues: * Enterprise Integration Patterns * Kamelets * Components -## Development -How to build [Karavan](DEV.md) +## Documentation +[Karavan documentation](docs/INDEX.md) diff --git a/karavan-web/docs/AWS.md b/docs/AWS.md similarity index 100% rename from karavan-web/docs/AWS.md rename to docs/AWS.md diff --git a/karavan-web/docs/AWS/karavan-acl-environments.yaml b/docs/AWS/karavan-acl-environments.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-acl-environments.yaml rename to docs/AWS/karavan-acl-environments.yaml diff --git a/karavan-web/docs/AWS/karavan-acl.yaml b/docs/AWS/karavan-acl.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-acl.yaml rename to docs/AWS/karavan-acl.yaml diff --git a/karavan-web/docs/AWS/karavan-app-deployment-public.yaml b/docs/AWS/karavan-app-deployment-public.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-app-deployment-public.yaml rename to docs/AWS/karavan-app-deployment-public.yaml diff --git a/karavan-web/docs/AWS/karavan-app-ingress.yaml b/docs/AWS/karavan-app-ingress.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-app-ingress.yaml rename to docs/AWS/karavan-app-ingress.yaml diff --git a/karavan-web/docs/AWS/karavan-app-service-node-port.yaml b/docs/AWS/karavan-app-service-node-port.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-app-service-node-port.yaml rename to docs/AWS/karavan-app-service-node-port.yaml diff --git a/karavan-web/docs/AWS/karavan-pvc.yaml b/docs/AWS/karavan-pvc.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-pvc.yaml rename to docs/AWS/karavan-pvc.yaml diff --git a/karavan-web/docs/AWS/karavan-quarkus-pipeline.yaml b/docs/AWS/karavan-quarkus-pipeline.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-quarkus-pipeline.yaml rename to docs/AWS/karavan-quarkus-pipeline.yaml diff --git a/karavan-web/docs/AWS/karavan-quarkus-task-aws.yaml b/docs/AWS/karavan-quarkus-task-aws.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-quarkus-task-aws.yaml rename to docs/AWS/karavan-quarkus-task-aws.yaml diff --git a/karavan-web/docs/AWS/karavan-sc.yaml b/docs/AWS/karavan-sc.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-sc.yaml rename to docs/AWS/karavan-sc.yaml diff --git a/karavan-web/docs/AWS/karavan-secret.yaml b/docs/AWS/karavan-secret.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-secret.yaml rename to docs/AWS/karavan-secret.yaml diff --git a/karavan-web/docs/AWS/karavan-spring-boot-pipeline.yaml b/docs/AWS/karavan-spring-boot-pipeline.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-spring-boot-pipeline.yaml rename to docs/AWS/karavan-spring-boot-pipeline.yaml diff --git a/karavan-web/docs/AWS/karavan-spring-boot-task-aws.yaml b/docs/AWS/karavan-spring-boot-task-aws.yaml similarity index 100% rename from karavan-web/docs/AWS/karavan-spring-boot-task-aws.yaml rename to docs/AWS/karavan-spring-boot-task-aws.yaml diff --git a/karavan-web/docs/AWS/kustomization.yaml b/docs/AWS/kustomization.yaml similarity index 100% rename from karavan-web/docs/AWS/kustomization.yaml rename to docs/AWS/kustomization.yaml diff --git a/karavan-web/docs/AWS/pipeline-service-account.yaml b/docs/AWS/pipeline-service-account.yaml similarity index 100% rename from karavan-web/docs/AWS/pipeline-service-account.yaml rename to docs/AWS/pipeline-service-account.yaml diff --git a/docs/DEV.md b/docs/DEV.md new file mode 100644 index 00000000000..4fa597915f8 --- /dev/null +++ b/docs/DEV.md @@ -0,0 +1,55 @@ +## Project structure +1. karavan-generator +Generate Camel Models and Api from Camel sources to Typescript in karavan-core +2. karavan-core +Front-end Camel Models and Api +3. karavan-Designer +KaravanDesigner UI component +4. karavan-web +Karavan Cloud Application + * karavan-app + Karavan Application to be installed into Kubernetes + * karavan-cli + Karavan CLI to install into Kubernetes + * karavan-operator + Karavan Operator to install into Openshift +5. karavan-vscode +VS Code extension based on Karavan Designer + +## How to build Karavan Web Application +1. Generate Camel Models and API for Typescript +``` +mvn clean compile exec:java -Dexec.mainClass="org.apache.camel.karavan.generator.KaravanGenerator" -f karavan-generator +``` + +2. Install Karavan core library +``` +cd karavan-core +npm install +``` + +3. Build Karavan app +``` +cd karavan-web +mvn clean package -f karavan-app -Dquarkus.profile=public +``` + +## How to build Karavan VS Code extension +1. Generate Camel Models and API for Typescript +``` +mvn clean compile exec:java -Dexec.mainClass="org.apache.camel.karavan.generator.KaravanGenerator" -f karavan-generator +``` + +2. Install Karavan core library +``` +cd karavan-core +npm install +``` + +3. Build Karavan VS Code extension +``` +cd karavan-vscode +npm update && npm install +npm install -g @vscode/vsce +vsce package +``` diff --git a/docs/INDEX.md b/docs/INDEX.md new file mode 100644 index 00000000000..b596713baec --- /dev/null +++ b/docs/INDEX.md @@ -0,0 +1,27 @@ +![karavan-logo](../images/karavan-logo-dark.png#gh-dark-mode-only) +![karavan-logo](../images/karavan-logo-light.png#gh-light-mode-only) + +# Documentation + +## User guide + +### Web Application + +Karavan Web Application is a container deployed into Kubernetes/OpenShift + +1. [Install](WEB_INSTALL.md) +2. [How to use](WEB_HOWTO.md) + +### VS Code extensions + +VS Code extension available on the [Marketplace](https://marketplace.visualstudio.com/items?itemName=camel-karavan.karavan). + +Extensions for VS Code Compatible Editors available on [Open VSX Registry](https://open-vsx.org/extension/camel-karavan/karavan) + +1. [Install](VSCODE_INSTALL.md) +2. [How to use](VSCODE_HOWTO.md) + + +## Developer Guide + +1. [How to build Karavan](DEV.md) diff --git a/karavan-web/karavan-cli/INFINISPAN.md b/docs/INFINISPAN.md similarity index 100% rename from karavan-web/karavan-cli/INFINISPAN.md rename to docs/INFINISPAN.md diff --git a/karavan-web/docs/MINIKUBE.md b/docs/MINIKUBE.md similarity index 100% rename from karavan-web/docs/MINIKUBE.md rename to docs/MINIKUBE.md diff --git a/karavan-web/docs/OPENSHIFT.md b/docs/OPENSHIFT.md similarity index 100% rename from karavan-web/docs/OPENSHIFT.md rename to docs/OPENSHIFT.md diff --git a/karavan-web/docs/OPENSHIFT_DEMO.md b/docs/OPENSHIFT_DEMO.md similarity index 100% rename from karavan-web/docs/OPENSHIFT_DEMO.md rename to docs/OPENSHIFT_DEMO.md diff --git a/karavan-web/docs/README.md b/docs/README.md similarity index 100% rename from karavan-web/docs/README.md rename to docs/README.md diff --git a/ROADMAP.md b/docs/ROADMAP.md similarity index 100% rename from ROADMAP.md rename to docs/ROADMAP.md diff --git a/docs/VSCODE_HOWTO.md b/docs/VSCODE_HOWTO.md new file mode 100644 index 00000000000..f3eac071c89 --- /dev/null +++ b/docs/VSCODE_HOWTO.md @@ -0,0 +1,36 @@ +# Create and edit integration + +## Create new Integration + +![create](../images/create.png) + +## Edit an existing Integration + +![open](../images/open.png) + + +# Run integration + +## Run integration locally +* Run in UI: click `Run` button + +![run](../images/run.png) + +* Run using CLI + ```shell + jbang -Dcamel.jbang.version=3.21.0 camel@apache/camel run $INTEGRATION.yaml --max-messages=10 --logging-level=info + ``` + +## Export integration to Maven project + +* Export using context menu +![export](../images/export.png) + +* Export using CLI + ```shell + jbang -Dcamel.jbang.version=3.21.0 camel@apache/camel export --directory=export + ``` + +# Issues + +If you find a new issue, please [create a new issue report in GitHub](https://github.com/apache/camel-karavan/issues)! diff --git a/docs/VSCODE_INSTALL.md b/docs/VSCODE_INSTALL.md new file mode 100644 index 00000000000..5d858a1ecd5 --- /dev/null +++ b/docs/VSCODE_INSTALL.md @@ -0,0 +1,13 @@ +# Installation + +## Prerequisites +* 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) + +## How to install +1. Open your VS Code Integrated Development Environment (IDE). +2. In the VS Code Activity Bar, select Extensions. (Alternatively, press Ctrl+Shift+X). +3. In the search bar, type **Karavan** +4. In the **Apache Camel Karavan** box, click **Install**. + +![install](../images/install.png) diff --git a/docs/WEB_HOWTO.md b/docs/WEB_HOWTO.md new file mode 100644 index 00000000000..8db4ad2a09e --- /dev/null +++ b/docs/WEB_HOWTO.md @@ -0,0 +1,6 @@ +## How to use Karavan + + +[![Watch the video](https://img.youtube.com/vi/trsZyzEvbWw/default.jpg)](https://youtu.be/trsZyzEvbWw) + + diff --git a/karavan-web/karavan-cli/CLI.md b/docs/WEB_INSTALL.md similarity index 95% rename from karavan-web/karavan-cli/CLI.md rename to docs/WEB_INSTALL.md index 1cb0b0d544a..4fe0604f1e3 100644 --- a/karavan-web/karavan-cli/CLI.md +++ b/docs/WEB_INSTALL.md @@ -1,4 +1,4 @@ -## Install Karavan with CLI +## Install Karavan Web Application with CLI ### Requirements 1. minikube v1.30+ installed with `--driver=hyperkit` diff --git a/karavan-web/docs/keycloack/karavan-realm.json b/docs/keycloack/karavan-realm.json similarity index 100% rename from karavan-web/docs/keycloack/karavan-realm.json rename to docs/keycloack/karavan-realm.json diff --git a/karavan-web/docs/minikube/karavan-app-ingress.yaml b/docs/minikube/karavan-app-ingress.yaml similarity index 100% rename from karavan-web/docs/minikube/karavan-app-ingress.yaml rename to docs/minikube/karavan-app-ingress.yaml diff --git a/karavan-web/docs/minikube/karavan-secret.yaml b/docs/minikube/karavan-secret.yaml similarity index 100% rename from karavan-web/docs/minikube/karavan-secret.yaml rename to docs/minikube/karavan-secret.yaml diff --git a/karavan-web/docs/minikube/karavan.yaml b/docs/minikube/karavan.yaml similarity index 100% rename from karavan-web/docs/minikube/karavan.yaml rename to docs/minikube/karavan.yaml diff --git a/karavan-web/docs/openshift/catalog.yaml b/docs/openshift/catalog.yaml similarity index 100% rename from karavan-web/docs/openshift/catalog.yaml rename to docs/openshift/catalog.yaml diff --git a/karavan-web/docs/openshift/gitea-operator.yaml b/docs/openshift/gitea-operator.yaml similarity index 100% rename from karavan-web/docs/openshift/gitea-operator.yaml rename to docs/openshift/gitea-operator.yaml diff --git a/karavan-web/docs/openshift/gitea.yaml b/docs/openshift/gitea.yaml similarity index 100% rename from karavan-web/docs/openshift/gitea.yaml rename to docs/openshift/gitea.yaml diff --git a/karavan-web/docs/openshift/karavan-operator.yaml b/docs/openshift/karavan-operator.yaml similarity index 100% rename from karavan-web/docs/openshift/karavan-operator.yaml rename to docs/openshift/karavan-operator.yaml diff --git a/karavan-web/docs/openshift/karavan-secret.yaml b/docs/openshift/karavan-secret.yaml similarity index 100% rename from karavan-web/docs/openshift/karavan-secret.yaml rename to docs/openshift/karavan-secret.yaml diff --git a/karavan-web/docs/openshift/karavan.yaml b/docs/openshift/karavan.yaml similarity index 100% rename from karavan-web/docs/openshift/karavan.yaml rename to docs/openshift/karavan.yaml diff --git a/karavan-web/docs/openshift/pipeline-operator.yaml b/docs/openshift/pipeline-operator.yaml similarity index 100% rename from karavan-web/docs/openshift/pipeline-operator.yaml rename to docs/openshift/pipeline-operator.yaml diff --git a/images/export.png b/images/export.png new file mode 100644 index 00000000000..caf8339badc Binary files /dev/null and b/images/export.png differ diff --git a/images/run.png b/images/run.png new file mode 100644 index 00000000000..380c175301d Binary files /dev/null and b/images/run.png differ diff --git a/karavan-vscode/README.md b/karavan-vscode/README.md index 2908e4aaadd..ad85d120888 100644 --- a/karavan-vscode/README.md +++ b/karavan-vscode/README.md @@ -26,7 +26,7 @@ Integration project output is a runnable uber-jar or an OCI image for local envi ### Runtimes * [Camel JBang](https://camel.apache.org/manual/camel-jbang.html) * [Camel Quarkus](https://camel.apache.org/camel-quarkus) -* [Camel Spring-Boot](https://camel.apache.org/camel-spring-boot) (WIP) +* [Camel Spring-Boot](https://camel.apache.org/camel-spring-boot) * [Camel Main](https://camel.apache.org/components/3.18.x/others/main.html) (WIP) ### Build and Deploy * Maven for local development