Repository: karaf-decanter Updated Branches: refs/heads/master 5d38ae374 -> e9bd89f16
KARAF-4431 - Upgrade to kafka 0.9.0.0 KARAF-4368 - Add SSL support to Kafka appender Project: http://git-wip-us.apache.org/repos/asf/karaf-decanter/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf-decanter/commit/e9bd89f1 Tree: http://git-wip-us.apache.org/repos/asf/karaf-decanter/tree/e9bd89f1 Diff: http://git-wip-us.apache.org/repos/asf/karaf-decanter/diff/e9bd89f1 Branch: refs/heads/master Commit: e9bd89f163ed190f2c6e0dbf1e0744c44c105848 Parents: 5d38ae3 Author: Jean-Baptiste Onofré <[email protected]> Authored: Mon Mar 21 19:02:40 2016 +0100 Committer: Jean-Baptiste Onofré <[email protected]> Committed: Mon Mar 21 19:02:40 2016 +0100 ---------------------------------------------------------------------- appender/kafka/pom.xml | 2 +- ...org.apache.karaf.decanter.appender.kafka.cfg | 32 ++++++++++++- .../decanter/appender/kafka/KafkaAppender.java | 47 ++++++++++++++++++++ assembly/src/main/feature/feature.xml | 2 +- 4 files changed, 80 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/e9bd89f1/appender/kafka/pom.xml ---------------------------------------------------------------------- diff --git a/appender/kafka/pom.xml b/appender/kafka/pom.xml index ebdb19f..488eb24 100644 --- a/appender/kafka/pom.xml +++ b/appender/kafka/pom.xml @@ -41,7 +41,7 @@ <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> - <version>0.8.2.2</version> + <version>0.9.0.0</version> </dependency> </dependencies> http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/e9bd89f1/appender/kafka/src/main/cfg/org.apache.karaf.decanter.appender.kafka.cfg ---------------------------------------------------------------------- diff --git a/appender/kafka/src/main/cfg/org.apache.karaf.decanter.appender.kafka.cfg b/appender/kafka/src/main/cfg/org.apache.karaf.decanter.appender.kafka.cfg index 28802ed..ee606d0 100644 --- a/appender/kafka/src/main/cfg/org.apache.karaf.decanter.appender.kafka.cfg +++ b/appender/kafka/src/main/cfg/org.apache.karaf.decanter.appender.kafka.cfg @@ -34,4 +34,34 @@ # value.serializer=org.apache.kafka.common.serialization.StringSerializer # Name of the topic -# topic=decanter \ No newline at end of file +# topic=decanter + +# Security (SSL) +# security.protocol=SSL + +# SSL truststore location (Kafka broker) and password +# ssl.truststore.location=${karaf.etc}/keystores/keystore.jks +# ssl.truststore.password=karaf + +# SSL keystore (if client authentication is required) +# ssl.keystore.location=${karaf.etc}/keystores/clientstore.jks +# ssl.keystore.password=karaf +# ssl.key.password=karaf + +# (Optional) SSL provider (default uses the JVM one) +# ssl.provider= + +# (Optional) SSL Cipher suites +# ssl.cipher.suites= + +# (Optional) SSL Protocols enabled (default is TLSv1.2,TLSv1.1,TLSv1) +# ssl.enabled.protocols=TLSv1.2,TLSv1.1,TLSv1 + +# (Optional) SSL Truststore type (default is JKS) +# ssl.truststore.type=JKS + +# (Optional) SSL Keystore type (default is JKS) +# ssl.keystore.type=JKS + +# Security (SASL) +# For SASL, you have to configure Java System property as explained in http://kafka.apache.org/documentation.html#security_ssl \ No newline at end of file http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/e9bd89f1/appender/kafka/src/main/java/org/apache/karaf/decanter/appender/kafka/KafkaAppender.java ---------------------------------------------------------------------- diff --git a/appender/kafka/src/main/java/org/apache/karaf/decanter/appender/kafka/KafkaAppender.java b/appender/kafka/src/main/java/org/apache/karaf/decanter/appender/kafka/KafkaAppender.java index a81f1b0..241d843 100644 --- a/appender/kafka/src/main/java/org/apache/karaf/decanter/appender/kafka/KafkaAppender.java +++ b/appender/kafka/src/main/java/org/apache/karaf/decanter/appender/kafka/KafkaAppender.java @@ -80,7 +80,54 @@ public class KafkaAppender implements EventHandler { String valueSerializer = getValue(config, "value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); properties.put("value.serializer", valueSerializer); + String securityProtocol = getValue(config, "security.protocol", null); + if (securityProtocol != null) + properties.put("security.protocol", securityProtocol); + + String sslTruststoreLocation = getValue(config, "ssl.truststore.location", null); + if (sslTruststoreLocation != null) + properties.put("ssl.truststore.location", sslTruststoreLocation); + + String sslTruststorePassword = getValue(config, "ssl.truststore.password", null); + if (sslTruststorePassword != null) + properties.put("ssl.truststore.password", sslTruststorePassword); + + String sslKeystoreLocation = getValue(config, "ssl.keystore.location", null); + if (sslKeystoreLocation != null) + properties.put("ssl.keystore.location", sslKeystoreLocation); + + String sslKeystorePassword = getValue(config, "ssl.keystore.password", null); + if (sslKeystorePassword != null) + properties.put("ssl.keystore.password", sslKeystorePassword); + + String sslKeyPassword = getValue(config, "ssl.key.password", null); + if (sslKeyPassword != null) + properties.put("ssl.key.password", sslKeyPassword); + + String sslProvider = getValue(config, "ssl.provider", null); + if (sslProvider != null) + properties.put("ssl.provider", sslProvider); + + String sslCipherSuites = getValue(config, "ssl.cipher.suites", null); + if (sslCipherSuites != null) + properties.put("ssl.cipher.suites", sslCipherSuites); + + String sslEnabledProtocols = getValue(config, "ssl.enabled.protocols", null); + if (sslEnabledProtocols != null) + properties.put("ssl.enabled.protocols", sslEnabledProtocols); + + String sslTruststoreType = getValue(config, "ssl.truststore.type", null); + if (sslTruststoreType != null) + properties.put("ssl.truststore.type", sslTruststoreType); + + String sslKeystoreType = getValue(config, "ssl.keystore.type", null); + if (sslKeystoreType != null) + properties.put("ssl.keystore.type", sslKeystoreType); + this.topic = getValue(config, "topic", "decanter"); + + // workaround for KAFKA-3218 + Thread.currentThread().setContextClassLoader(null); this.producer = new KafkaProducer<>(properties); } http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/e9bd89f1/assembly/src/main/feature/feature.xml ---------------------------------------------------------------------- diff --git a/assembly/src/main/feature/feature.xml b/assembly/src/main/feature/feature.xml index ddd2b8a..79da000 100644 --- a/assembly/src/main/feature/feature.xml +++ b/assembly/src/main/feature/feature.xml @@ -143,7 +143,7 @@ <feature name="decanter-appender-kafka" version="${project.version}" description="Karaf Decanter Kafka Appender"> <feature version="${project.version}">decanter-common</feature> - <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.kafka-clients/0.8.2.2_1</bundle> + <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.kafka-clients/0.9.0.0_1</bundle> <bundle>mvn:org.apache.karaf.decanter.appender/org.apache.karaf.decanter.appender.kafka/${project.version}</bundle> <configfile finalname="/etc/org.apache.karaf.decanter.appender.kafka.cfg">mvn:org.apache.karaf.decanter.appender/org.apache.karaf.decanter.appender.kafka/${project.version}/cfg</configfile> </feature>
