The kamel-maven-plugin is designed to simplify the deployment and management of Camel integrations within a Kubernetes environment using the kamel CLI. This plugin distinguishes itself by auto-scanning and auto-configuring various resources, properties, and dependencies to streamline the deployment process.
-
Auto-scanning: The plugin automatically scans your project for configuration files, resources, and properties to include in the kamel command.
-
Auto-configuring: It automatically detects and sets up configuration maps in Kubernetes for the discovered resources.
-
Dependencies Management: It fetches non-Apache Camel dependencies from the project and appends them to the kamel command.
Executes the kamel run command to deploy the integration to Kubernetes. The goal is designed to discover:
- Configuration files and treats them to create configMaps in Kubernetes.
- Non-Apache Camel Maven dependencies and appends them to the
kamel runcommand.
Executes the kamel run command in development mode by appending the --dev flag. It allows for quicker iterative development as it facilitates hot-reloading of Camel routes during runtime.
The dev goal leverages all the capabilities of the run goal but provides a more developer-friendly approach to deploying integrations to Kubernetes.
-
project: Maven project reference. (Required)
-
configs: List of configurations to be passed to the kamel CLI.
-
traits: Map of traits to be used by the kamel CLI.
-
parentScans: List of paths relative to the parent directory to be scanned for files.
-
excludedDependencies: List of Maven artifactIds to be excluded when fetching the list of non-Apache Camel dependencies.
-
resourceFileTypes: List of file extensions considered as resource files. Default is
.yaml. -
connectorNamePattern: Pattern to match filenames considered as connector files. Default is
*Connector.java. -
apiDirectoryPattern: Pattern to identify directories containing API documentation. Default is
**/api/doc/.
-
PARENT_DIR: Absolute path of the parent directory.
-
MODULE_DIR: Absolute path of the module directory.
Add the plugin to your pom.xml:
<build>
<plugins>
<plugin>
<groupId>com.backbase.oss</groupId>
<artifactId>kamel-maven-plugin</artifactId>
<version>YOUR_PLUGIN_VERSION</version>
<configuration>
<!-- Your configurations here -->
</configuration>
</plugin>
</plugins>
</build>