You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2016/03/21 19:03:51 UTC

karaf-decanter git commit: KARAF-4431 - Upgrade to kafka 0.9.0.0 KARAF-4368 - Add SSL support to Kafka appender

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é <jb...@apache.org>
Authored: Mon Mar 21 19:02:40 2016 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
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>