Chapter 6. Generating a catalog
6.1. Overview Copy linkLink copied to clipboard!
By default, every Kaoto release includes the latest Camel version available at the moment of the build, nevertheless, generating a different set of catalogs is possible.
6.2. Catalog generator CLI Copy linkLink copied to clipboard!
Kaoto provides a Camel catalog generator CLI to ease this process, it supports the following runtimes:
- Main
- Quarkus
- Springboot
6.2.1. Using Camel catalog Copy linkLink copied to clipboard!
- Clone the Kaoto project
- Navigate to the packages/catalog-generator directory
Install the project dependencies:
./mvnw install
./mvnw install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the project with the following command:
./mvnw package; java -jar ./target/catalog-generator-0.0.1-SNAPSHOT.jar -o ./dist/camel-catalog -k 4.6.0 -m 4.6.0 -n "My Catalog"
./mvnw package; java -jar ./target/catalog-generator-0.0.1-SNAPSHOT.jar -o ./dist/camel-catalog -k 4.6.0 -m 4.6.0 -n "My Catalog"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow This will generate a Catalog library containing:
- Camel Main 4.6.0
- Camel Kamelets 4.6.0
-
The resulting files will be in the
packages/catalog-generator/dist/camel-catalog
folder - Providing that folder through a http server will make it available for using it in Kaoto
6.2.2. Creating a Catalog library with different runtimes Copy linkLink copied to clipboard!
In order to add multiple runtimes to the Catalog library, we can provide each runtime with its version using the following flags:
-m,--main <version> Camel Main version. If not specified, it will use the generator installed version -q,--quarkus <version> Camel Extensions for Quarkus version -s,--springboot <version> Camel SpringBoot version
-m,--main <version> Camel Main version. If not specified, it will use the generator installed version -q,--quarkus <version> Camel Extensions for Quarkus version -s,--springboot <version> Camel SpringBoot version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For instance, running the following command will create a Catalog library with Camel Main 4.6.0 and Camel extensions for Quarkus 3.8.0:
./mvnw package; java -jar ./target/catalog-generator-0.0.1-SNAPSHOT.jar -o ./dist/camel-catalog -k 4.6.0 -m 4.6.0 -q 3.8.0 -n "My Catalog"
./mvnw package; java -jar ./target/catalog-generator-0.0.1-SNAPSHOT.jar -o ./dist/camel-catalog -k 4.6.0 -m 4.6.0 -q 3.8.0 -n "My Catalog"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For a different Kamelets catalog version, the
--kamelets or -k
flag can be specified../mvnw package; java -jar ./target/catalog-generator-0.0.1-SNAPSHOT.jar -o ./dist/camel-catalog -k 4.5.0 -m 4.6.0 -n "My Catalog"
./mvnw package; java -jar ./target/catalog-generator-0.0.1-SNAPSHOT.jar -o ./dist/camel-catalog -k 4.5.0 -m 4.6.0 -n "My Catalog"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2.3. Instructing Kaoto to use a specific Catalog library Copy linkLink copied to clipboard!
In VSCode, go to the settings page and look for “Kaoto”
In the
TextField
, provide the URL of theindex.json
file that specifies the location of the subsequent catalogs, for instance, the public Kaoto catalog can be used:Restart Kaoto for the changes to have effect