logstash-output-http 5.7.1 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ee250c7e18f8f86d45a9976fdad992c6b329d862c153c1ee786032bb1fca022
4
- data.tar.gz: 346c7c1027d694bb03288a271a72bdde0f8f1d37a162dd2b2f6b6e8073e45f37
3
+ metadata.gz: db0ed1f5276a90d88d30a99169a07a55017f9743ecebafc71c76714ef11f5871
4
+ data.tar.gz: 677dce576d73352be645576d4599d1a89bc116b5094f1bb47d224a9627dc8180
5
5
  SHA512:
6
- metadata.gz: 889fc141a67c6eddc1dc35f87da3fde5fcc56c5f294662a370bcc401a8a7848937ad5e1c912d1234ae68f1de3779bab2648e8588249c6f3e6ef6087dbf5c0a34
7
- data.tar.gz: d6ef06b950a4763025625ca3dc9e8c09bd086f50a42d0bce35f0de64ab445cac4a3e54980343374a69ab615fdc1940a7df4b57e9077c3ddcc956213e11476bdb
6
+ metadata.gz: 27ac44cdad0f1b1c3abebdbdd5105377b0e311af48b18b3da88dba28566a8d3932428475b6aea7487b9fcd2c3e03352be31bcf4483c4a11a803fad40792d1986
7
+ data.tar.gz: 8ae0110d539687581f8ad419b7a6d6e33e1a20234205eb39f438df6309c2d701eb683fcfdd98d40dc568b6d7427e3140c7892e5b092136a4e6fba9777f8a6eb7
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
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)
14
+
1
15
  ## 5.7.1
2
16
  - Added new development `rackup` dependency to fix tests
3
17
 
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
 
@@ -523,34 +463,6 @@ This mode disables many of the security benefits of SSL/TLS and should only be u
523
463
  It is primarily intended as a temporary diagnostic mechanism when attempting to resolve TLS errors.
524
464
  Using `none` in production environments is strongly discouraged.
525
465
 
526
- [id="plugins-{type}s-{plugin}-truststore"]
527
- ===== `truststore`
528
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_truststore_path>>]
529
-
530
- * Value type is <<path,path>>
531
- * There is no default value for this setting.
532
-
533
- If you need to use a custom truststore (`.jks`) specify that here. This does not work with .pem certs!
534
-
535
- [id="plugins-{type}s-{plugin}-truststore_password"]
536
- ===== `truststore_password`
537
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_truststore_password>>]
538
-
539
- * Value type is <<password,password>>
540
- * There is no default value for this setting.
541
-
542
- Specify the truststore password here.
543
- Note, most .jks files created with keytool require a password!
544
-
545
- [id="plugins-{type}s-{plugin}-truststore_type"]
546
- ===== `truststore_type`
547
- deprecated[5.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_truststore_type>>]
548
-
549
- * Value type is <<string,string>>
550
- * Default value is `"JKS"`
551
-
552
- Specify the truststore type here. One of `JKS` or `PKCS12`. Default is `JKS`
553
-
554
466
  [id="plugins-{type}s-{plugin}-url"]
555
467
  ===== `url`
556
468
 
@@ -573,6 +485,27 @@ Quoting the Apache commons docs (this client is based Apache Commmons):
573
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]
574
486
 
575
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
+
576
509
 
577
510
  [id="plugins-{type}s-{plugin}-common-options"]
578
511
  include::{include_path}/{type}.asciidoc[]
@@ -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.1'
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,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-http
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.7.1
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-18 00:00:00.000000000 Z
11
+ date: 2024-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -35,7 +35,7 @@ dependencies:
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
@@ -46,7 +46,7 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 7.4.0
49
+ version: 7.5.0
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: 8.0.0