logstash-integration-kafka 12.1.1-java → 12.1.2-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9210f7be0def80b3b89f73361148fec857dcc0fb6b3375b02536a553e6cefdba
4
- data.tar.gz: e0a5f5d701dfe8e5e587d79a7f539dfa72eaf584b8bccd537bf8256b4872df68
3
+ metadata.gz: 6662c7fc77920efbe9f6f3ddd7c0427185a38925c20189650f873c3a3e17bbbb
4
+ data.tar.gz: a16d3c5dfa9991e389f74c69d1d61b65b44a7aaa4864e46eed9761f50f0dac7b
5
5
  SHA512:
6
- metadata.gz: 8dfe76b566df21bb2c2eb660ab71daeb9449ecc8d659a2c40c11d89c815888c183ef301c98cd09e1f222fd08ab869bc87c16c6aa67e6c8a65c4c5d9718af48fa
7
- data.tar.gz: d8a05444b24f21d96db399c914315a20274ccc94c0ddcf876c49693dd4586124704393278c01a64840118feda7cf569c7c51cb04099af313c01aee2b48c8d0ff
6
+ metadata.gz: '0854e03cdcabd823ff931c39dbe129f8704d299027c1658d224ce52c379b2d0de85e499776b83b81b7296ce9c0dd67e05f5e19a91b473e363a817b58d4e78730'
7
+ data.tar.gz: fda448c098b2e3b2a9d22c823eaa7c8fe665ab13f8e3e6c252eb2610cc092aaefb7212eb00a4dc2dd44052b82dbb5bb0b07c935b310bc88b4872a6022142a1ad
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 12.1.2
2
+ - Upgrade `com.fasterxml.jackson` dependencies to 2.21.2 [#254](https://github.com/logstash-plugins/logstash-integration-kafka/pull/254)
3
+
1
4
  ## 12.1.1
2
5
  - Fix `sasl_jaas_config` output configuration [#245](https://github.com/logstash-plugins/logstash-integration-kafka/pull/245)
3
6
 
@@ -2,10 +2,15 @@
2
2
 
3
3
  require 'jar_dependencies'
4
4
  require_jar('io.confluent', 'kafka-avro-serializer', '8.2.0')
5
- require_jar('org.apache.kafka', 'kafka-clients', '4.2.0')
6
5
  require_jar('io.confluent', 'kafka-schema-serializer', '8.2.0')
7
6
  require_jar('io.confluent', 'kafka-schema-registry-client', '8.2.0')
8
7
  require_jar('org.apache.avro', 'avro', '1.12.1')
8
+ require_jar('com.fasterxml.jackson.dataformat', 'jackson-dataformat-csv', '2.21.2')
9
+ require_jar('com.fasterxml.jackson.datatype', 'jackson-datatype-jdk8', '2.21.2')
10
+ require_jar('com.fasterxml.jackson.core', 'jackson-databind', '2.21.2')
11
+ require_jar('com.fasterxml.jackson.core', 'jackson-core', '2.21.2')
12
+ require_jar('org.apache.kafka', 'kafka-clients', '4.2.0')
13
+ require_jar('com.fasterxml.jackson.core', 'jackson-annotations', '2.21')
9
14
  require_jar('org.apache.commons', 'commons-compress', '1.28.0')
10
15
  require_jar('com.google.guava', 'guava', '32.0.1-jre')
11
16
  require_jar('io.confluent', 'logredactor', '1.0.17')
@@ -15,10 +20,6 @@ require_jar('at.yawk.lz4', 'lz4-java', '1.10.1')
15
20
  require_jar('org.xerial.snappy', 'snappy-java', '1.1.10.7')
16
21
  require_jar('org.apache.httpcomponents.client5', 'httpclient5', '5.5')
17
22
  require_jar('org.slf4j', 'slf4j-api', '2.0.17')
18
- require_jar('com.fasterxml.jackson.dataformat', 'jackson-dataformat-csv', '2.20.0')
19
- require_jar('com.fasterxml.jackson.datatype', 'jackson-datatype-jdk8', '2.20.0')
20
- require_jar('com.fasterxml.jackson.core', 'jackson-databind', '2.20.0')
21
- require_jar('com.fasterxml.jackson.core', 'jackson-core', '2.20.0')
22
23
  require_jar('org.yaml', 'snakeyaml', '2.0')
23
24
  require_jar('io.swagger.core.v3', 'swagger-annotations', '2.2.29')
24
25
  require_jar('com.google.guava', 'failureaccess', '1.0.1')
@@ -33,6 +34,5 @@ require_jar('com.eclipsesource.minimal-json', 'minimal-json', '0.9.5')
33
34
  require_jar('commons-codec', 'commons-codec', '1.19.0')
34
35
  require_jar('commons-io', 'commons-io', '2.20.0')
35
36
  require_jar('org.apache.commons', 'commons-lang3', '3.18.0')
36
- require_jar('com.fasterxml.jackson.core', 'jackson-annotations', '2.20')
37
37
  require_jar('org.apache.httpcomponents.core5', 'httpcore5-h2', '5.3.4')
38
38
  require_jar('org.apache.httpcomponents.core5', 'httpcore5', '5.3.4')
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-integration-kafka'
3
- s.version = '12.1.1'
3
+ s.version = ::File.read('version').split("\n").first
4
4
  s.licenses = ['Apache-2.0']
5
5
  s.summary = "Integration with Kafka - input and output plugins"
6
6
  s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline "+
@@ -224,9 +224,87 @@ describe "outputs/kafka", :integration => true do
224
224
  it 'loads data' do
225
225
  expect(fetch_messages_from_all_partitions - @messages_offset).to eql num_events
226
226
  end
227
+ end
228
+
229
+ context 'SASL authentication' do
230
+ let(:test_topic) { 'logstash_integration_sasl_output_topic' }
231
+ let(:num_events) { 3 }
232
+
233
+ let(:sasl_config) do
234
+ base_config.merge(
235
+ 'topic_id' => test_topic,
236
+ 'bootstrap_servers' => 'localhost:9094',
237
+ 'security_protocol' => 'SASL_PLAINTEXT'
238
+ )
239
+ end
240
+
241
+ let(:sasl_ssl_config) do
242
+ base_config.merge(
243
+ 'topic_id' => test_topic,
244
+ 'bootstrap_servers' => 'localhost:9095',
245
+ 'security_protocol' => 'SASL_SSL',
246
+ 'ssl_truststore_location' => File.join(Dir.pwd, 'tls_repository/clienttruststore.jks'),
247
+ 'ssl_truststore_password' => 'changeit'
248
+ )
249
+ end
250
+
251
+ shared_examples 'loads data' do
252
+ before :each do
253
+ @messages_offset = fetch_messages_from_all_partitions
254
+ load_kafka_data(producer_config)
255
+ end
256
+
257
+ it 'loads data' do
258
+ expect(fetch_messages_from_all_partitions - @messages_offset).to eql num_events
259
+ end
260
+ end
261
+
262
+ context 'over SASL_PLAINTEXT' do
263
+ context 'with PLAIN mechanism' do
264
+ let(:producer_config) do
265
+ sasl_config.merge(
266
+ 'sasl_mechanism' => 'PLAIN',
267
+ 'sasl_jaas_config' => 'org.apache.kafka.common.security.plain.PlainLoginModule required username="logstash" password="logstash-secret";'
268
+ )
269
+ end
227
270
 
228
- def fetch_messages_from_all_partitions
229
- 3.times.map { |i| fetch_messages(test_topic, partition: i).size }.sum
271
+ include_examples 'loads data'
272
+ end
273
+
274
+ context 'with SCRAM-SHA-256 mechanism' do
275
+ let(:producer_config) do
276
+ sasl_config.merge(
277
+ 'sasl_mechanism' => 'SCRAM-SHA-256',
278
+ 'sasl_jaas_config' => 'org.apache.kafka.common.security.scram.ScramLoginModule required username="logstash" password="logstash-secret";'
279
+ )
280
+ end
281
+
282
+ include_examples 'loads data'
283
+ end
284
+
285
+ context 'with SCRAM-SHA-512 mechanism' do
286
+ let(:producer_config) do
287
+ sasl_config.merge(
288
+ 'sasl_mechanism' => 'SCRAM-SHA-512',
289
+ 'sasl_jaas_config' => 'org.apache.kafka.common.security.scram.ScramLoginModule required username="logstash" password="logstash-secret";'
290
+ )
291
+ end
292
+
293
+ include_examples 'loads data'
294
+ end
295
+ end
296
+
297
+ context 'over SASL_SSL' do
298
+ context 'with PLAIN mechanism' do
299
+ let(:producer_config) do
300
+ sasl_ssl_config.merge(
301
+ 'sasl_mechanism' => 'PLAIN',
302
+ 'sasl_jaas_config' => 'org.apache.kafka.common.security.plain.PlainLoginModule required username="logstash" password="logstash-secret";'
303
+ )
304
+ end
305
+
306
+ include_examples 'loads data'
307
+ end
230
308
  end
231
309
  end
232
310
 
@@ -242,4 +320,8 @@ describe "outputs/kafka", :integration => true do
242
320
  kafka_client.fetch_messages(topic: topic, partition: partition, offset: offset)
243
321
  end
244
322
 
323
+ def fetch_messages_from_all_partitions
324
+ 3.times.map { |i| fetch_messages(test_topic, partition: i).size }.sum
325
+ end
326
+
245
327
  end
@@ -330,5 +330,49 @@ describe "outputs/kafka" do
330
330
  ))
331
331
  subject.register
332
332
  end
333
+
334
+ context 'with sasl_jaas_config' do
335
+ let(:config) {
336
+ simple_kafka_config.merge(
337
+ 'security_protocol' => 'SASL_PLAINTEXT',
338
+ 'sasl_mechanism' => 'PLAIN'
339
+ )
340
+ }
341
+
342
+ shared_examples 'sasl_jaas_config password handling' do
343
+ it "sasl_jaas_config.value returns the original string" do
344
+ subject.register
345
+ expect(subject.sasl_jaas_config.value).to eq(jaas_config_value)
346
+ end
347
+
348
+ it "sasl_jaas_config.inspect does not expose the password" do
349
+ subject.register
350
+ expect(subject.sasl_jaas_config.inspect).not_to include('admin-secret')
351
+ expect(subject.sasl_jaas_config.inspect).to eq('<password>')
352
+ end
353
+ end
354
+
355
+ context 'with single-line config' do
356
+ let(:jaas_config_value) { 'org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";' }
357
+ let(:config) { super().merge('sasl_jaas_config' => jaas_config_value) }
358
+
359
+ include_examples 'sasl_jaas_config password handling'
360
+ end
361
+
362
+ context 'with multiline config' do
363
+ let(:jaas_config_value) {
364
+ <<~JAAS
365
+ org.apache.kafka.common.security.plain.PlainLoginModule required
366
+ username="admin"
367
+ password="admin-secret"
368
+ user_admin="admin-secret"
369
+ user_alice="alice-secret";
370
+ JAAS
371
+ }
372
+ let(:config) { super().merge('sasl_jaas_config' => jaas_config_value) }
373
+
374
+ include_examples 'sasl_jaas_config password handling'
375
+ end
376
+ end
333
377
  end
334
378
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-integration-kafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.1.1
4
+ version: 12.1.2
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-04-13 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: logstash-core-plugin-api
@@ -246,11 +246,11 @@ files:
246
246
  - spec/unit/outputs/kafka_spec.rb
247
247
  - vendor/jar-dependencies/at/yawk/lz4/lz4-java/1.10.1/lz4-java-1.10.1.jar
248
248
  - vendor/jar-dependencies/com/eclipsesource/minimal-json/minimal-json/0.9.5/minimal-json-0.9.5.jar
249
- - vendor/jar-dependencies/com/fasterxml/jackson/core/jackson-annotations/2.20/jackson-annotations-2.20.jar
250
- - vendor/jar-dependencies/com/fasterxml/jackson/core/jackson-core/2.20.0/jackson-core-2.20.0.jar
251
- - vendor/jar-dependencies/com/fasterxml/jackson/core/jackson-databind/2.20.0/jackson-databind-2.20.0.jar
252
- - vendor/jar-dependencies/com/fasterxml/jackson/dataformat/jackson-dataformat-csv/2.20.0/jackson-dataformat-csv-2.20.0.jar
253
- - vendor/jar-dependencies/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.20.0/jackson-datatype-jdk8-2.20.0.jar
249
+ - vendor/jar-dependencies/com/fasterxml/jackson/core/jackson-annotations/2.21/jackson-annotations-2.21.jar
250
+ - vendor/jar-dependencies/com/fasterxml/jackson/core/jackson-core/2.21.2/jackson-core-2.21.2.jar
251
+ - vendor/jar-dependencies/com/fasterxml/jackson/core/jackson-databind/2.21.2/jackson-databind-2.21.2.jar
252
+ - vendor/jar-dependencies/com/fasterxml/jackson/dataformat/jackson-dataformat-csv/2.21.2/jackson-dataformat-csv-2.21.2.jar
253
+ - vendor/jar-dependencies/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.21.2/jackson-datatype-jdk8-2.21.2.jar
254
254
  - vendor/jar-dependencies/com/github/luben/zstd-jni/1.5.6-10/zstd-jni-1.5.6-10.jar
255
255
  - vendor/jar-dependencies/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
256
256
  - vendor/jar-dependencies/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar
@@ -301,7 +301,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
301
301
  - !ruby/object:Gem::Version
302
302
  version: '0'
303
303
  requirements: []
304
- rubygems_version: 3.6.3
304
+ rubygems_version: 3.7.2
305
305
  specification_version: 4
306
306
  summary: Integration with Kafka - input and output plugins
307
307
  test_files: