== Camel Kafka Connector

image:https://img.shields.io/gitter/room/apache/camel-kafka-connector["Chat on Gitter", link="https://gitter.im/apache/camel-kafka-connector"]
image:https://github.com/apache/camel-kafka-connector/workflows/master%20build/badge.svg[Master Build, link="https://github.com/apache/camel-kafka-connector/actions?query=workflow%3A%22master+build%22"]

=== Introduction
[NOTE]
====
*The project is WIP!*
====

This is a "Camel Kafka connector adapter" that aims to provide a user friendly way to use all Apache Camel components in Kafka Connect.
For more information about Kafka Connect take a look http://kafka.apache.org/documentation/#connect[here].

=== Build the project
[source,bash]
----
mvn clean package
----

=== Build the project and run integration tests
To build the project it is sufficient to:
[source,bash]
----
mvn clean install
----
To run the integration tests it is required to:

  * have Docker version 17.05 or higher running
  * run:
+
[source,bash]
----
mvn -DskipIntegrationTests=false clean verify package
----

It is also possible to point the tests to use an external services. To do so, you must set
properties for the services that you want to run. This causes the tests to not launch the local
container and use existing remote instances. At the moment, the following properties can be set
for remote testing:

* kafka.instance.type
** kafka.bootstrap.servers
* aws-service.instance.type
** access.key: AWS access key (mandatory for remote testing)
** secret.key: AWS secret key (mandatory for remote testing)
** aws.region: AWS region (optional)
** aws.host: AWS host (optional)
* aws-service.kinesis.instance.type
** access.key: AWS access key (mandatory for remote testing)
** secret.key: AWS secret key (mandatory for remote testing)
** aws.region: AWS region (optional)
** aws.host: AWS host (optional)
* elasticsearch.instance.type
** elasticsearch.host
** elasticsearch.port
* cassandra.instance.type
** cassandra.host
** cassandra.cql3.port
* jms-service.instance.type
** jms.broker.address


----
mvn -Dkafka.bootstrap.servers=host1:port -Dkafka.instance.type=remote -DskipIntegrationTests=false clean verify package
----

It's possible to use a properties file to set these properties. To do so use `-Dtest.properties=/path/to/file.properties`.


=== Try it out locally

You can use Camel Kafka connectors with local Apache Kafka installation.
For more details see the link:./docs/modules/ROOT/pages/try-it-out-locally.adoc[local guide].

=== Try it out on OpenShift with Strimzi

You can also use Camel Kafka connectors on OpenShift.
For more details see the link:./docs/modules/ROOT/pages/try-it-out-on-openshift-with-strimzi.adoc[OpenShift guide].

=== Known limitations
In order to use other Camel components you need to add them as dependencies in the project `pom.xml`.
