logstash-output-http 5.7.2 → 6.0.0

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: 98c4571dd30d9e18c7b3117e9a551add7409e06fa33cd6978fdb5e5aa8c2a1c7
4
- data.tar.gz: 3e5f9e9f9a63799ab9100f222a8707e6a631e642cae9ca285ced272237139a1d
3
+ metadata.gz: db0ed1f5276a90d88d30a99169a07a55017f9743ecebafc71c76714ef11f5871
4
+ data.tar.gz: 677dce576d73352be645576d4599d1a89bc116b5094f1bb47d224a9627dc8180
5
5
  SHA512:
6
- metadata.gz: 97698e9715b68ea41955a807151d19338b05414fc2b60a45653e6264739c308722d57e6c41dda80547ed9f6d868663f589315ab5ae65aaa87a2d160ec043fd87
7
- data.tar.gz: f15ba9c4ba26d0dcd59d78e47241b10089ede7001b84d58f84bd2a4447771e9bf593f1e40697ffef26692ec0c52994887f0dc91ed573f571ab237bf7c06e3c3e
6
+ metadata.gz: 27ac44cdad0f1b1c3abebdbdd5105377b0e311af48b18b3da88dba28566a8d3932428475b6aea7487b9fcd2c3e03352be31bcf4483c4a11a803fad40792d1986
7
+ data.tar.gz: 8ae0110d539687581f8ad419b7a6d6e33e1a20234205eb39f438df6309c2d701eb683fcfdd98d40dc568b6d7427e3140c7892e5b092136a4e6fba9777f8a6eb7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
- ## 5.7.2
2
- - [DOC] Clarify that `ssl_certificate_authorities` takes at-most-one value [#150](https://github.com/logstash-plugins/logstash-output-http/pull/150)
1
+ ## 6.0.0
2
+ - SSL settings that were marked deprecated in version `5.6.0` are now marked obsolete, and will prevent the plugin from starting.
3
+ - These settings are:
4
+ - `cacert`, which should be replaced by `ssl_certificate_authorities`
5
+ - `client_cert`, which should be replaced by `ssl_certificate`
6
+ - `client_key`, which should be replaced by `ssl_key`
7
+ - `keystore`, which should be replaced by `ssl_keystore_path`
8
+ - `keystore_password`, which should be replaced by `ssl_keystore_password`
9
+ - `keystore_type`, which should be replaced by `ssl_keystore_password`
10
+ - `truststore`, which should be replaced by `ssl_truststore_path>`
11
+ - `truststore_password`, which should be replaced by `ssl_truststore_password`
12
+ - `truststore_type`, which should be replaced by `ssl_truststore_type`
13
+ - [#147](https://github.com/logstash-plugins/logstash-output-http/pull/147)
3
14
 
4
15
  ## 5.7.1
5
16
  - Added new development `rackup` dependency to fix tests
data/docs/index.asciidoc CHANGED
@@ -70,13 +70,13 @@ NOTE: The `retry_failed` option does not control the library level retry.
70
70
 
71
71
  This plugin supports the following configuration options plus the <<plugins-{type}s-{plugin}-common-options>> described later.
72
72
 
73
+ NOTE: As of version `6.0.0` of this plugin, a number of previously deprecated settings related to SSL have been removed.
74
+ Please check out <<plugins-{type}s-{plugin}-obsolete-options>> for details.
75
+
73
76
  [cols="<,<,<",options="header",]
74
77
  |=======================================================================
75
78
  |Setting |Input type|Required
76
79
  | <<plugins-{type}s-{plugin}-automatic_retries>> |<<number,number>>|No
77
- | <<plugins-{type}s-{plugin}-cacert>> |a valid filesystem path|__Deprecated__
78
- | <<plugins-{type}s-{plugin}-client_cert>> |a valid filesystem path|__Deprecated__
79
- | <<plugins-{type}s-{plugin}-client_key>> |a valid filesystem path|__Deprecated__
80
80
  | <<plugins-{type}s-{plugin}-connect_timeout>> |<<number,number>>|No
81
81
  | <<plugins-{type}s-{plugin}-content_type>> |<<string,string>>|No
82
82
  | <<plugins-{type}s-{plugin}-cookies>> |<<boolean,boolean>>|No
@@ -87,9 +87,6 @@ This plugin supports the following configuration options plus the <<plugins-{typ
87
87
  | <<plugins-{type}s-{plugin}-http_method>> |<<string,string>>, one of `["put", "post", "patch", "delete", "get", "head"]`|Yes
88
88
  | <<plugins-{type}s-{plugin}-ignorable_codes>> |<<number,number>>|No
89
89
  | <<plugins-{type}s-{plugin}-keepalive>> |<<boolean,boolean>>|No
90
- | <<plugins-{type}s-{plugin}-keystore>> |a valid filesystem path|__Deprecated__
91
- | <<plugins-{type}s-{plugin}-keystore_password>> |<<password,password>>|__Deprecated__
92
- | <<plugins-{type}s-{plugin}-keystore_type>> |<<string,string>>|__Deprecated__
93
90
  | <<plugins-{type}s-{plugin}-mapping>> |<<hash,hash>>|No
94
91
  | <<plugins-{type}s-{plugin}-message>> |<<string,string>>|No
95
92
  | <<plugins-{type}s-{plugin}-pool_max>> |<<number,number>>|No
@@ -112,9 +109,6 @@ This plugin supports the following configuration options plus the <<plugins-{typ
112
109
  | <<plugins-{type}s-{plugin}-ssl_truststore_path>> |<<path,path>>|No
113
110
  | <<plugins-{type}s-{plugin}-ssl_truststore_type>> |<<string,string>>|No
114
111
  | <<plugins-{type}s-{plugin}-ssl_verification_mode>> |<<string,string>>, one of `["full", "none"]`|No
115
- | <<plugins-{type}s-{plugin}-truststore>> |a valid filesystem path|__Deprecated__
116
- | <<plugins-{type}s-{plugin}-truststore_password>> |<<password,password>>|__Deprecated__
117
- | <<plugins-{type}s-{plugin}-truststore_type>> |<<string,string>>|__Deprecated__
118
112
  | <<plugins-{type}s-{plugin}-url>> |<<string,string>>|Yes
119
113
  | <<plugins-{type}s-{plugin}-validate_after_inactivity>> |<<number,number>>|No
120
114
  |=======================================================================
@@ -135,32 +129,6 @@ to a value other than zero if the <<plugins-{type}s-{plugin}-keepalive,`keepaliv
135
129
  Some servers incorrectly end keepalives early, requiring a retry.
136
130
  See <<plugins-{type}s-{plugin}-retry_policy,Retry Policy>> for more information.
137
131
 
138
- [id="plugins-{type}s-{plugin}-cacert"]
139
- ===== `cacert`
140
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_certificate_authorities>>]
141
-
142
- * Value type is <<path,path>>
143
- * There is no default value for this setting.
144
-
145
- If you need to use a custom X.509 CA (.pem certs) specify the path to that here
146
-
147
- [id="plugins-{type}s-{plugin}-client_cert"]
148
- ===== `client_cert`
149
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_certificate>>]
150
-
151
- * Value type is <<path,path>>
152
- * There is no default value for this setting.
153
-
154
- If you'd like to use a client certificate (note, most people don't want this) set the path to the x509 cert here
155
-
156
- [id="plugins-{type}s-{plugin}-client_key"]
157
- ===== `client_key`
158
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_key>>]
159
-
160
- * Value type is <<path,path>>
161
- * There is no default value for this setting.
162
-
163
- If you're using a client certificate specify the path to the encryption key here
164
132
 
165
133
  [id="plugins-{type}s-{plugin}-connect_timeout"]
166
134
  ===== `connect_timeout`
@@ -265,34 +233,6 @@ enumerate them here. Responses returning these codes will be considered successe
265
233
  Turn this on to enable HTTP keepalive support. We highly recommend setting `automatic_retries` to at least
266
234
  one with this to fix interactions with broken keepalive implementations.
267
235
 
268
- [id="plugins-{type}s-{plugin}-keystore"]
269
- ===== `keystore`
270
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_keystore_path>>]
271
-
272
- * Value type is <<path,path>>
273
- * There is no default value for this setting.
274
-
275
- If you need to use a custom keystore (`.jks`) specify that here. This does not work with .pem keys!
276
-
277
- [id="plugins-{type}s-{plugin}-keystore_password"]
278
- ===== `keystore_password`
279
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_keystore_password>>]
280
-
281
- * Value type is <<password,password>>
282
- * There is no default value for this setting.
283
-
284
- Specify the keystore password here.
285
- Note, most .jks files created with keytool require a password!
286
-
287
- [id="plugins-{type}s-{plugin}-keystore_type"]
288
- ===== `keystore_type`
289
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_keystore_type>>]
290
-
291
- * Value type is <<string,string>>
292
- * Default value is `"JKS"`
293
-
294
- Specify the keystore type here. One of `JKS` or `PKCS12`. Default is `JKS`
295
-
296
236
  [id="plugins-{type}s-{plugin}-mapping"]
297
237
  ===== `mapping`
298
238
 
@@ -408,13 +348,10 @@ NOTE: This setting can be used only if <<plugins-{type}s-{plugin}-ssl_key>> is s
408
348
  ===== `ssl_certificate_authorities`
409
349
 
410
350
  * Value type is a list of <<path,path>>
411
- * This plugin does not support multiple entries
412
351
  * There is no default value for this setting
413
352
 
414
353
  The .cer or .pem CA files to validate the server's certificate.
415
354
 
416
- NOTE: When provided with a single PEM file that contains multiple certificates, all enclosed certificates will be trusted.
417
-
418
355
  [id="plugins-{type}s-{plugin}-ssl_cipher_suites"]
419
356
  ===== `ssl_cipher_suites`
420
357
 
@@ -526,34 +463,6 @@ This mode disables many of the security benefits of SSL/TLS and should only be u
526
463
  It is primarily intended as a temporary diagnostic mechanism when attempting to resolve TLS errors.
527
464
  Using `none` in production environments is strongly discouraged.
528
465
 
529
- [id="plugins-{type}s-{plugin}-truststore"]
530
- ===== `truststore`
531
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_truststore_path>>]
532
-
533
- * Value type is <<path,path>>
534
- * There is no default value for this setting.
535
-
536
- If you need to use a custom truststore (`.jks`) specify that here. This does not work with .pem certs!
537
-
538
- [id="plugins-{type}s-{plugin}-truststore_password"]
539
- ===== `truststore_password`
540
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_truststore_password>>]
541
-
542
- * Value type is <<password,password>>
543
- * There is no default value for this setting.
544
-
545
- Specify the truststore password here.
546
- Note, most .jks files created with keytool require a password!
547
-
548
- [id="plugins-{type}s-{plugin}-truststore_type"]
549
- ===== `truststore_type`
550
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_truststore_type>>]
551
-
552
- * Value type is <<string,string>>
553
- * Default value is `"JKS"`
554
-
555
- Specify the truststore type here. One of `JKS` or `PKCS12`. Default is `JKS`
556
-
557
466
  [id="plugins-{type}s-{plugin}-url"]
558
467
  ===== `url`
559
468
 
@@ -576,8 +485,29 @@ Quoting the Apache commons docs (this client is based Apache Commmons):
576
485
  See https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.html#setValidateAfterInactivity(int)[these docs for more info]
577
486
 
578
487
 
488
+ [id="plugins-{type}s-{plugin}-obsolete-options"]
489
+ ==== HTTP Output Obsolete Configuration Options
490
+
491
+ WARNING: As of version `6.0.0` of this plugin, some configuration options have been replaced.
492
+ The plugin will fail to start if it contains any of these obsolete options.
493
+
494
+
495
+ [cols="<,<",options="header",]
496
+ |=======================================================================
497
+ |Setting|Replaced by
498
+ | cacert |<<plugins-{type}s-{plugin}-ssl_certificate_authorities>>
499
+ | client_cert |<<plugins-{type}s-{plugin}-ssl_certificate>>
500
+ | client_key |<<plugins-{type}s-{plugin}-ssl_key>>
501
+ | keystore |<<plugins-{type}s-{plugin}-ssl_keystore_path>>
502
+ | keystore_password |<<plugins-{type}s-{plugin}-ssl_keystore_password>>
503
+ | keystore_type |<<plugins-{type}s-{plugin}-ssl_keystore_password>>
504
+ | truststore |<<plugins-{type}s-{plugin}-ssl_truststore_path>>
505
+ | truststore_password |<<plugins-{type}s-{plugin}-ssl_truststore_password>>
506
+ | truststore_type |<<plugins-{type}s-{plugin}-ssl_truststore_type>>
507
+ |=======================================================================
508
+
579
509
 
580
510
  [id="plugins-{type}s-{plugin}-common-options"]
581
511
  include::{include_path}/{type}.asciidoc[]
582
512
 
583
- :default_codec!:
513
+ :default_codec!:
@@ -7,7 +7,7 @@ require "logstash/plugin_mixins/http_client"
7
7
  require "zlib"
8
8
 
9
9
  class LogStash::Outputs::Http < LogStash::Outputs::Base
10
- include LogStash::PluginMixins::HttpClient[:with_deprecated => true]
10
+ include LogStash::PluginMixins::HttpClient[:with_obsolete => true]
11
11
 
12
12
  concurrency :shared
13
13
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-output-http'
3
- s.version = '5.7.2'
3
+ s.version = '6.0.0'
4
4
  s.licenses = ['Apache License (2.0)']
5
5
  s.summary = "Sends events to a generic HTTP or HTTPS endpoint"
6
6
  s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
20
20
 
21
21
  # Gem dependencies
22
22
  s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
23
- s.add_runtime_dependency "logstash-mixin-http_client", ">= 7.4.0", "< 8.0.0"
23
+ s.add_runtime_dependency "logstash-mixin-http_client", ">= 7.5.0", "< 8.0.0"
24
24
 
25
25
  s.add_development_dependency 'logstash-devutils'
26
26
  s.add_development_dependency 'sinatra'
@@ -20,6 +20,32 @@ describe LogStash::Outputs::Http do
20
20
  let(:url) { "http://localhost:#{port}/good" }
21
21
  let(:method) { "post" }
22
22
 
23
+ describe "obsolete settings" do
24
+ let(:config) { {"url" => url, "http_method" => "post"} }
25
+
26
+ [{:name => 'cacert', :canonical_name => 'ssl_certificate_authorities'},
27
+ {:name => 'client_cert', :canonical_name => 'ssl_certificate'},
28
+ {:name => 'client_key', :canonical_name => 'ssl_key'},
29
+ {:name => "keystore", :canonical_name => 'ssl_keystore_path'},
30
+ {:name => 'truststore', :canonical_name => 'ssl_truststore_path'},
31
+ {:name => "keystore_password", :canonical_name => "ssl_keystore_password"},
32
+ {:name => 'truststore_password', :canonical_name => "ssl_truststore_password"},
33
+ {:name => "keystore_type", :canonical_name => "ssl_keystore_type"},
34
+ {:name => 'truststore_type', :canonical_name => 'ssl_truststore_type'}
35
+ ].each do |settings|
36
+ context "with option #{settings[:name]}" do
37
+ let(:obsolete_config) { config.merge(settings[:name] => 'test_value') }
38
+
39
+ it "emits an error about the setting `#{settings[:name]}` now being obsolete and provides guidance to use `#{settings[:canonical_name]}`" do
40
+ error_text = /The setting `#{settings[:name]}` in plugin `http` is obsolete and is no longer available. Use `#{settings[:canonical_name]}` instead/i
41
+ expect { LogStash::Outputs::Http.new(obsolete_config) }.to raise_error LogStash::ConfigurationError, error_text
42
+ end
43
+
44
+ end
45
+ end
46
+ end
47
+
48
+
23
49
  shared_examples("verb behavior") do |method|
24
50
 
25
51
  shared_examples("failure log behaviour") do
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-http
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.7.2
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 2026-03-12 00:00:00.000000000 Z
11
+ date: 2024-11-21 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
- name: logstash-core-plugin-api
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - ">="
@@ -19,6 +19,7 @@ dependencies:
19
19
  - - "<="
20
20
  - !ruby/object:Gem::Version
21
21
  version: '2.99'
22
+ name: logstash-core-plugin-api
22
23
  type: :runtime
23
24
  prerelease: false
24
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -30,32 +31,32 @@ dependencies:
30
31
  - !ruby/object:Gem::Version
31
32
  version: '2.99'
32
33
  - !ruby/object:Gem::Dependency
33
- name: logstash-mixin-http_client
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ">="
37
37
  - !ruby/object:Gem::Version
38
- version: 7.4.0
38
+ version: 7.5.0
39
39
  - - "<"
40
40
  - !ruby/object:Gem::Version
41
41
  version: 8.0.0
42
+ name: logstash-mixin-http_client
42
43
  type: :runtime
43
44
  prerelease: false
44
45
  version_requirements: !ruby/object:Gem::Requirement
45
46
  requirements:
46
47
  - - ">="
47
48
  - !ruby/object:Gem::Version
48
- version: 7.4.0
49
+ version: 7.5.0
49
50
  - - "<"
50
51
  - !ruby/object:Gem::Version
51
52
  version: 8.0.0
52
53
  - !ruby/object:Gem::Dependency
53
- name: logstash-devutils
54
54
  requirement: !ruby/object:Gem::Requirement
55
55
  requirements:
56
56
  - - ">="
57
57
  - !ruby/object:Gem::Version
58
58
  version: '0'
59
+ name: logstash-devutils
59
60
  type: :development
60
61
  prerelease: false
61
62
  version_requirements: !ruby/object:Gem::Requirement
@@ -64,12 +65,12 @@ dependencies:
64
65
  - !ruby/object:Gem::Version
65
66
  version: '0'
66
67
  - !ruby/object:Gem::Dependency
67
- name: sinatra
68
68
  requirement: !ruby/object:Gem::Requirement
69
69
  requirements:
70
70
  - - ">="
71
71
  - !ruby/object:Gem::Version
72
72
  version: '0'
73
+ name: sinatra
73
74
  type: :development
74
75
  prerelease: false
75
76
  version_requirements: !ruby/object:Gem::Requirement
@@ -78,12 +79,12 @@ dependencies:
78
79
  - !ruby/object:Gem::Version
79
80
  version: '0'
80
81
  - !ruby/object:Gem::Dependency
81
- name: webrick
82
82
  requirement: !ruby/object:Gem::Requirement
83
83
  requirements:
84
84
  - - ">="
85
85
  - !ruby/object:Gem::Version
86
86
  version: '0'
87
+ name: webrick
87
88
  type: :development
88
89
  prerelease: false
89
90
  version_requirements: !ruby/object:Gem::Requirement
@@ -92,12 +93,12 @@ dependencies:
92
93
  - !ruby/object:Gem::Version
93
94
  version: '0'
94
95
  - !ruby/object:Gem::Dependency
95
- name: rackup
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  requirements:
98
98
  - - "<"
99
99
  - !ruby/object:Gem::Version
100
100
  version: 2.1.0
101
+ name: rackup
101
102
  type: :development
102
103
  prerelease: false
103
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -131,6 +132,7 @@ licenses:
131
132
  metadata:
132
133
  logstash_plugin: 'true'
133
134
  logstash_group: output
135
+ post_install_message:
134
136
  rdoc_options: []
135
137
  require_paths:
136
138
  - lib
@@ -145,7 +147,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
147
  - !ruby/object:Gem::Version
146
148
  version: '0'
147
149
  requirements: []
148
- rubygems_version: 3.6.3
150
+ rubygems_version: 3.3.26
151
+ signing_key:
149
152
  specification_version: 4
150
153
  summary: Sends events to a generic HTTP or HTTPS endpoint
151
154
  test_files: