logstash-input-elasticsearch 5.2.0 → 5.2.1

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: 718adf02c14b980691bd1572ac7e46b14f0f7850d82cd267fa52ddbde8289892
4
- data.tar.gz: e10f582747a7ae11d707c4268ffce6485ed35453afbe140d999857485e022cda
3
+ metadata.gz: 1c6cb55dd7365bae4a363382b6fb927e54a94489347fa50eb212164b157c090b
4
+ data.tar.gz: b19f9d63c887a46a13106dedba5cdac1f0715ed2beb8db622ede6b8f762890cf
5
5
  SHA512:
6
- metadata.gz: e88b12e47cfad23b4a1128ab05c1510c1f89bd76d20511064ada02999b6fa694d118a8e37ec2fede700d2008beaef045255b3e345d21eadcfa5b492a250d01dd
7
- data.tar.gz: f533570ba4268088ddbe73572ec1e49924fe7febf3f6dad1c6e957b6eff5d414410970749521b0543b6bd03264776d4ac6ea2082589704cf1e7ea5faf36c1f07
6
+ metadata.gz: 1b5da3cb2c9de33cb94d9cc140cafe118f86de372f9eb7c7e77c2ec47356ee6d17f530a2c74e44111bf94e460b956ad5b55b20dc0467aa24b92a1b12accbe012
7
+ data.tar.gz: 69307789e59c91e4c763bdc8ad1a4ef4c5090f6e8c3749587790652b44562ab16f54062e57a479965860cdfb619547ca54273d0850ea1cfed4753470712d1fe6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 5.2.1
2
+ - Added support for encoded and non encoded api-key formats on plugin configuration [#237](https://github.com/logstash-plugins/logstash-input-elasticsearch/pull/237)
3
+
1
4
  ## 5.2.0
2
5
  - ES|QL support [#233](https://github.com/logstash-plugins/logstash-input-elasticsearch/pull/233)
3
6
 
@@ -563,12 +563,18 @@ class LogStash::Inputs::Elasticsearch < LogStash::Inputs::Base
563
563
  end
564
564
 
565
565
  def setup_api_key(api_key)
566
- return {} unless (api_key && api_key.value)
566
+ return {} unless (api_key&.value)
567
567
 
568
- token = ::Base64.strict_encode64(api_key.value)
568
+ token = base64?(api_key.value) ? api_key.value : Base64.strict_encode64(api_key.value)
569
569
  { 'Authorization' => "ApiKey #{token}" }
570
570
  end
571
571
 
572
+ def base64?(string)
573
+ string == Base64.strict_encode64(Base64.strict_decode64(string))
574
+ rescue ArgumentError
575
+ false
576
+ end
577
+
572
578
  def prepare_user_agent
573
579
  os_name = java.lang.System.getProperty('os.name')
574
580
  os_version = java.lang.System.getProperty('os.version')
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-input-elasticsearch'
4
- s.version = '5.2.0'
4
+ s.version = '5.2.1'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Reads query results from an Elasticsearch cluster"
7
7
  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"
@@ -823,14 +823,28 @@ describe LogStash::Inputs::Elasticsearch, :ecs_compatibility_support do
823
823
  end
824
824
 
825
825
  context "with ssl" do
826
- let(:config) { super().merge({ 'api_key' => LogStash::Util::Password.new('foo:bar'), "ssl_enabled" => true }) }
826
+ let(:api_key_value) { nil }
827
+ let(:config) { super().merge("ssl_enabled" => true, 'api_key' => LogStash::Util::Password.new(api_key_value)) }
828
+ let(:encoded_api_key) { Base64.strict_encode64('foo:bar') }
827
829
 
828
- it "should set authorization" do
829
- plugin.register
830
- client = plugin.send(:client)
831
- auth_header = extract_transport(client).options[:transport_options][:headers]['Authorization']
830
+ shared_examples "a plugin that sets the ApiKey authorization header" do
831
+ it "correctly sets the Authorization header" do
832
+ plugin.register
833
+ client = plugin.send(:client)
834
+ auth_header = extract_transport(client).options[:transport_options][:headers]['Authorization']
835
+
836
+ expect(auth_header).to eql("ApiKey #{encoded_api_key}")
837
+ end
838
+ end
839
+
840
+ context "with a non-encoded API key" do
841
+ let(:api_key_value) { "foo:bar" }
842
+ it_behaves_like "a plugin that sets the ApiKey authorization header"
843
+ end
832
844
 
833
- expect( auth_header ).to eql "ApiKey #{Base64.strict_encode64('foo:bar')}"
845
+ context "with an encoded API key" do
846
+ let(:api_key_value) { encoded_api_key }
847
+ it_behaves_like "a plugin that sets the ApiKey authorization header"
834
848
  end
835
849
 
836
850
  context 'user also set' do
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-elasticsearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 5.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-06-06 00:00:00.000000000 Z
10
+ date: 2025-09-23 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
13
+ name: logstash-core-plugin-api
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - ">="
@@ -19,7 +19,6 @@ dependencies:
19
19
  - - "<="
20
20
  - !ruby/object:Gem::Version
21
21
  version: '2.99'
22
- name: logstash-core-plugin-api
23
22
  type: :runtime
24
23
  prerelease: false
25
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -31,12 +30,12 @@ dependencies:
31
30
  - !ruby/object:Gem::Version
32
31
  version: '2.99'
33
32
  - !ruby/object:Gem::Dependency
33
+ name: logstash-mixin-ecs_compatibility_support
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - "~>"
37
37
  - !ruby/object:Gem::Version
38
38
  version: '1.3'
39
- name: logstash-mixin-ecs_compatibility_support
40
39
  type: :runtime
41
40
  prerelease: false
42
41
  version_requirements: !ruby/object:Gem::Requirement
@@ -45,12 +44,12 @@ dependencies:
45
44
  - !ruby/object:Gem::Version
46
45
  version: '1.3'
47
46
  - !ruby/object:Gem::Dependency
47
+ name: logstash-mixin-event_support
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '1.0'
53
- name: logstash-mixin-event_support
54
53
  type: :runtime
55
54
  prerelease: false
56
55
  version_requirements: !ruby/object:Gem::Requirement
@@ -59,12 +58,12 @@ dependencies:
59
58
  - !ruby/object:Gem::Version
60
59
  version: '1.0'
61
60
  - !ruby/object:Gem::Dependency
61
+ name: logstash-mixin-validator_support
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '1.0'
67
- name: logstash-mixin-validator_support
68
67
  type: :runtime
69
68
  prerelease: false
70
69
  version_requirements: !ruby/object:Gem::Requirement
@@ -73,12 +72,12 @@ dependencies:
73
72
  - !ruby/object:Gem::Version
74
73
  version: '1.0'
75
74
  - !ruby/object:Gem::Dependency
75
+ name: logstash-mixin-scheduler
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: '1.0'
81
- name: logstash-mixin-scheduler
82
81
  type: :runtime
83
82
  prerelease: false
84
83
  version_requirements: !ruby/object:Gem::Requirement
@@ -87,6 +86,7 @@ dependencies:
87
86
  - !ruby/object:Gem::Version
88
87
  version: '1.0'
89
88
  - !ruby/object:Gem::Dependency
89
+ name: elasticsearch
90
90
  requirement: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - ">="
@@ -95,7 +95,6 @@ dependencies:
95
95
  - - "<"
96
96
  - !ruby/object:Gem::Version
97
97
  version: '9'
98
- name: elasticsearch
99
98
  type: :runtime
100
99
  prerelease: false
101
100
  version_requirements: !ruby/object:Gem::Requirement
@@ -107,12 +106,12 @@ dependencies:
107
106
  - !ruby/object:Gem::Version
108
107
  version: '9'
109
108
  - !ruby/object:Gem::Dependency
109
+ name: logstash-mixin-ca_trusted_fingerprint_support
110
110
  requirement: !ruby/object:Gem::Requirement
111
111
  requirements:
112
112
  - - "~>"
113
113
  - !ruby/object:Gem::Version
114
114
  version: '1.0'
115
- name: logstash-mixin-ca_trusted_fingerprint_support
116
115
  type: :runtime
117
116
  prerelease: false
118
117
  version_requirements: !ruby/object:Gem::Requirement
@@ -121,12 +120,12 @@ dependencies:
121
120
  - !ruby/object:Gem::Version
122
121
  version: '1.0'
123
122
  - !ruby/object:Gem::Dependency
123
+ name: logstash-mixin-normalize_config_support
124
124
  requirement: !ruby/object:Gem::Requirement
125
125
  requirements:
126
126
  - - "~>"
127
127
  - !ruby/object:Gem::Version
128
128
  version: '1.0'
129
- name: logstash-mixin-normalize_config_support
130
129
  type: :runtime
131
130
  prerelease: false
132
131
  version_requirements: !ruby/object:Gem::Requirement
@@ -135,12 +134,12 @@ dependencies:
135
134
  - !ruby/object:Gem::Version
136
135
  version: '1.0'
137
136
  - !ruby/object:Gem::Dependency
137
+ name: tzinfo
138
138
  requirement: !ruby/object:Gem::Requirement
139
139
  requirements:
140
140
  - - ">="
141
141
  - !ruby/object:Gem::Version
142
142
  version: '0'
143
- name: tzinfo
144
143
  type: :runtime
145
144
  prerelease: false
146
145
  version_requirements: !ruby/object:Gem::Requirement
@@ -149,12 +148,12 @@ dependencies:
149
148
  - !ruby/object:Gem::Version
150
149
  version: '0'
151
150
  - !ruby/object:Gem::Dependency
151
+ name: tzinfo-data
152
152
  requirement: !ruby/object:Gem::Requirement
153
153
  requirements:
154
154
  - - ">="
155
155
  - !ruby/object:Gem::Version
156
156
  version: '0'
157
- name: tzinfo-data
158
157
  type: :runtime
159
158
  prerelease: false
160
159
  version_requirements: !ruby/object:Gem::Requirement
@@ -163,12 +162,12 @@ dependencies:
163
162
  - !ruby/object:Gem::Version
164
163
  version: '0'
165
164
  - !ruby/object:Gem::Dependency
165
+ name: manticore
166
166
  requirement: !ruby/object:Gem::Requirement
167
167
  requirements:
168
168
  - - ">="
169
169
  - !ruby/object:Gem::Version
170
170
  version: 0.7.1
171
- name: manticore
172
171
  type: :runtime
173
172
  prerelease: false
174
173
  version_requirements: !ruby/object:Gem::Requirement
@@ -177,12 +176,12 @@ dependencies:
177
176
  - !ruby/object:Gem::Version
178
177
  version: 0.7.1
179
178
  - !ruby/object:Gem::Dependency
179
+ name: logstash-codec-plain
180
180
  requirement: !ruby/object:Gem::Requirement
181
181
  requirements:
182
182
  - - ">="
183
183
  - !ruby/object:Gem::Version
184
184
  version: '0'
185
- name: logstash-codec-plain
186
185
  type: :development
187
186
  prerelease: false
188
187
  version_requirements: !ruby/object:Gem::Requirement
@@ -191,12 +190,12 @@ dependencies:
191
190
  - !ruby/object:Gem::Version
192
191
  version: '0'
193
192
  - !ruby/object:Gem::Dependency
193
+ name: logstash-devutils
194
194
  requirement: !ruby/object:Gem::Requirement
195
195
  requirements:
196
196
  - - ">="
197
197
  - !ruby/object:Gem::Version
198
198
  version: '0'
199
- name: logstash-devutils
200
199
  type: :development
201
200
  prerelease: false
202
201
  version_requirements: !ruby/object:Gem::Requirement
@@ -205,12 +204,12 @@ dependencies:
205
204
  - !ruby/object:Gem::Version
206
205
  version: '0'
207
206
  - !ruby/object:Gem::Dependency
207
+ name: timecop
208
208
  requirement: !ruby/object:Gem::Requirement
209
209
  requirements:
210
210
  - - ">="
211
211
  - !ruby/object:Gem::Version
212
212
  version: '0'
213
- name: timecop
214
213
  type: :development
215
214
  prerelease: false
216
215
  version_requirements: !ruby/object:Gem::Requirement
@@ -219,12 +218,12 @@ dependencies:
219
218
  - !ruby/object:Gem::Version
220
219
  version: '0'
221
220
  - !ruby/object:Gem::Dependency
221
+ name: cabin
222
222
  requirement: !ruby/object:Gem::Requirement
223
223
  requirements:
224
224
  - - "~>"
225
225
  - !ruby/object:Gem::Version
226
226
  version: '0.6'
227
- name: cabin
228
227
  type: :development
229
228
  prerelease: false
230
229
  version_requirements: !ruby/object:Gem::Requirement
@@ -233,12 +232,12 @@ dependencies:
233
232
  - !ruby/object:Gem::Version
234
233
  version: '0.6'
235
234
  - !ruby/object:Gem::Dependency
235
+ name: webrick
236
236
  requirement: !ruby/object:Gem::Requirement
237
237
  requirements:
238
238
  - - ">="
239
239
  - !ruby/object:Gem::Version
240
240
  version: '0'
241
- name: webrick
242
241
  type: :development
243
242
  prerelease: false
244
243
  version_requirements: !ruby/object:Gem::Requirement
@@ -247,12 +246,12 @@ dependencies:
247
246
  - !ruby/object:Gem::Version
248
247
  version: '0'
249
248
  - !ruby/object:Gem::Dependency
249
+ name: rufus-scheduler
250
250
  requirement: !ruby/object:Gem::Requirement
251
251
  requirements:
252
252
  - - "~>"
253
253
  - !ruby/object:Gem::Version
254
254
  version: 3.0.9
255
- name: rufus-scheduler
256
255
  type: :development
257
256
  prerelease: false
258
257
  version_requirements: !ruby/object:Gem::Requirement
@@ -306,7 +305,6 @@ licenses:
306
305
  metadata:
307
306
  logstash_plugin: 'true'
308
307
  logstash_group: input
309
- post_install_message:
310
308
  rdoc_options: []
311
309
  require_paths:
312
310
  - lib
@@ -321,8 +319,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
321
319
  - !ruby/object:Gem::Version
322
320
  version: '0'
323
321
  requirements: []
324
- rubygems_version: 3.3.26
325
- signing_key:
322
+ rubygems_version: 3.6.3
326
323
  specification_version: 4
327
324
  summary: Reads query results from an Elasticsearch cluster
328
325
  test_files: