logstash-filter-elasticsearch 4.3.0 → 4.3.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 +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/logstash/filters/elasticsearch/client.rb +8 -2
- data/logstash-filter-elasticsearch.gemspec +1 -1
- data/spec/filters/elasticsearch_spec.rb +20 -6
- metadata +12 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57e0e5b17b9f3c454be9379c9dc617fdaad05f961600ec6d002eee6b2841a515
|
4
|
+
data.tar.gz: 5b484b241209b5bd9e067d798a6267ba9702734471b2ec99227238b5a2728fdb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebb1434c624d486b3f07ccf786b9a277ecf46fe57860a0e665fb487f685045bd3f9e1097ab2fe6457f740f0387b3a987502b98b734508742811196825aad969b
|
7
|
+
data.tar.gz: 1bb0519e3894124b26a4c29ecae6683d8be668df51d40f20dd5cd1f231ba7666032bf353d685cd96ed63167e628998a2430e2f67b1594f3e0ae00be4760a9f9a
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
## 4.3.1
|
2
|
+
- Added support for encoded and non encoded api-key formats on plugin configuration [#203](https://github.com/logstash-plugins/logstash-filter-elasticsearch/pull/203)
|
3
|
+
|
1
4
|
## 4.3.0
|
2
5
|
- ES|QL support [#194](https://github.com/logstash-plugins/logstash-filter-elasticsearch/pull/194)
|
3
6
|
|
@@ -101,12 +101,18 @@ module LogStash
|
|
101
101
|
end
|
102
102
|
|
103
103
|
def setup_api_key(api_key)
|
104
|
-
return {} unless (api_key
|
104
|
+
return {} unless (api_key&.value)
|
105
105
|
|
106
|
-
token =
|
106
|
+
token = base64?(api_key.value) ? api_key.value : Base64.strict_encode64(api_key.value)
|
107
107
|
{ 'Authorization' => "ApiKey #{token}" }
|
108
108
|
end
|
109
109
|
|
110
|
+
def base64?(string)
|
111
|
+
string == Base64.strict_encode64(Base64.strict_decode64(string))
|
112
|
+
rescue ArgumentError
|
113
|
+
false
|
114
|
+
end
|
115
|
+
|
110
116
|
def get_transport_client_class
|
111
117
|
# LS-core includes `elasticsearch` gem. The gem is composed of two separate gems: `elasticsearch-api` and `elasticsearch-transport`
|
112
118
|
# And now `elasticsearch-transport` is old, instead we have `elastic-transport`.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-filter-elasticsearch'
|
4
|
-
s.version = '4.3.
|
4
|
+
s.version = '4.3.1'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "Copies fields from previous log events in Elasticsearch to current events "
|
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"
|
@@ -324,14 +324,28 @@ describe LogStash::Filters::Elasticsearch do
|
|
324
324
|
end
|
325
325
|
|
326
326
|
context "with ssl" do
|
327
|
-
let(:
|
327
|
+
let(:api_key_value) { nil }
|
328
|
+
let(:config) { super().merge("ssl_enabled" => true, 'api_key' => LogStash::Util::Password.new(api_key_value)) }
|
329
|
+
let(:encoded_api_key) { Base64.strict_encode64('foo:bar') }
|
328
330
|
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
331
|
+
shared_examples "a plugin that sets the ApiKey authorization header" do
|
332
|
+
it "correctly sets the Authorization header" do
|
333
|
+
plugin.register
|
334
|
+
client= plugin.send(:get_client).client
|
335
|
+
auth_header = extract_transport(client).options[:transport_options][:headers]['Authorization']
|
336
|
+
|
337
|
+
expect(auth_header).to eql("ApiKey #{encoded_api_key}")
|
338
|
+
end
|
339
|
+
end
|
340
|
+
|
341
|
+
context "with a non-encoded API key" do
|
342
|
+
let(:api_key_value) { "foo:bar" }
|
343
|
+
it_behaves_like "a plugin that sets the ApiKey authorization header"
|
344
|
+
end
|
333
345
|
|
334
|
-
|
346
|
+
context "with an encoded API key" do
|
347
|
+
let(:api_key_value) { encoded_api_key }
|
348
|
+
it_behaves_like "a plugin that sets the ApiKey authorization header"
|
335
349
|
end
|
336
350
|
|
337
351
|
context 'user also set' do
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.3.
|
4
|
+
version: 4.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date: 2025-
|
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,6 +30,7 @@ dependencies:
|
|
31
30
|
- !ruby/object:Gem::Version
|
32
31
|
version: '2.99'
|
33
32
|
- !ruby/object:Gem::Dependency
|
33
|
+
name: elasticsearch
|
34
34
|
requirement: !ruby/object:Gem::Requirement
|
35
35
|
requirements:
|
36
36
|
- - ">="
|
@@ -39,7 +39,6 @@ dependencies:
|
|
39
39
|
- - "<"
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '9'
|
42
|
-
name: elasticsearch
|
43
42
|
type: :runtime
|
44
43
|
prerelease: false
|
45
44
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -51,12 +50,12 @@ dependencies:
|
|
51
50
|
- !ruby/object:Gem::Version
|
52
51
|
version: '9'
|
53
52
|
- !ruby/object:Gem::Dependency
|
53
|
+
name: manticore
|
54
54
|
requirement: !ruby/object:Gem::Requirement
|
55
55
|
requirements:
|
56
56
|
- - ">="
|
57
57
|
- !ruby/object:Gem::Version
|
58
58
|
version: 0.7.1
|
59
|
-
name: manticore
|
60
59
|
type: :runtime
|
61
60
|
prerelease: false
|
62
61
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -65,12 +64,12 @@ dependencies:
|
|
65
64
|
- !ruby/object:Gem::Version
|
66
65
|
version: 0.7.1
|
67
66
|
- !ruby/object:Gem::Dependency
|
67
|
+
name: logstash-mixin-ecs_compatibility_support
|
68
68
|
requirement: !ruby/object:Gem::Requirement
|
69
69
|
requirements:
|
70
70
|
- - "~>"
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: '1.3'
|
73
|
-
name: logstash-mixin-ecs_compatibility_support
|
74
73
|
type: :runtime
|
75
74
|
prerelease: false
|
76
75
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -79,12 +78,12 @@ dependencies:
|
|
79
78
|
- !ruby/object:Gem::Version
|
80
79
|
version: '1.3'
|
81
80
|
- !ruby/object:Gem::Dependency
|
81
|
+
name: logstash-mixin-ca_trusted_fingerprint_support
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
83
83
|
requirements:
|
84
84
|
- - "~>"
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: '1.0'
|
87
|
-
name: logstash-mixin-ca_trusted_fingerprint_support
|
88
87
|
type: :runtime
|
89
88
|
prerelease: false
|
90
89
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -93,12 +92,12 @@ dependencies:
|
|
93
92
|
- !ruby/object:Gem::Version
|
94
93
|
version: '1.0'
|
95
94
|
- !ruby/object:Gem::Dependency
|
95
|
+
name: logstash-mixin-validator_support
|
96
96
|
requirement: !ruby/object:Gem::Requirement
|
97
97
|
requirements:
|
98
98
|
- - "~>"
|
99
99
|
- !ruby/object:Gem::Version
|
100
100
|
version: '1.0'
|
101
|
-
name: logstash-mixin-validator_support
|
102
101
|
type: :runtime
|
103
102
|
prerelease: false
|
104
103
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -107,12 +106,12 @@ dependencies:
|
|
107
106
|
- !ruby/object:Gem::Version
|
108
107
|
version: '1.0'
|
109
108
|
- !ruby/object:Gem::Dependency
|
109
|
+
name: cabin
|
110
110
|
requirement: !ruby/object:Gem::Requirement
|
111
111
|
requirements:
|
112
112
|
- - "~>"
|
113
113
|
- !ruby/object:Gem::Version
|
114
114
|
version: '0.6'
|
115
|
-
name: cabin
|
116
115
|
type: :development
|
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: '0.6'
|
123
122
|
- !ruby/object:Gem::Dependency
|
123
|
+
name: webrick
|
124
124
|
requirement: !ruby/object:Gem::Requirement
|
125
125
|
requirements:
|
126
126
|
- - ">="
|
127
127
|
- !ruby/object:Gem::Version
|
128
128
|
version: '0'
|
129
|
-
name: webrick
|
130
129
|
type: :development
|
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: '0'
|
137
136
|
- !ruby/object:Gem::Dependency
|
137
|
+
name: logstash-devutils
|
138
138
|
requirement: !ruby/object:Gem::Requirement
|
139
139
|
requirements:
|
140
140
|
- - ">="
|
141
141
|
- !ruby/object:Gem::Version
|
142
142
|
version: '0'
|
143
|
-
name: logstash-devutils
|
144
143
|
type: :development
|
145
144
|
prerelease: false
|
146
145
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -205,7 +204,6 @@ licenses:
|
|
205
204
|
metadata:
|
206
205
|
logstash_plugin: 'true'
|
207
206
|
logstash_group: filter
|
208
|
-
post_install_message:
|
209
207
|
rdoc_options: []
|
210
208
|
require_paths:
|
211
209
|
- lib
|
@@ -220,8 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
220
218
|
- !ruby/object:Gem::Version
|
221
219
|
version: '0'
|
222
220
|
requirements: []
|
223
|
-
rubygems_version: 3.3
|
224
|
-
signing_key:
|
221
|
+
rubygems_version: 3.6.3
|
225
222
|
specification_version: 4
|
226
223
|
summary: Copies fields from previous log events in Elasticsearch to current events
|
227
224
|
test_files:
|