fluent-plugin-opensearch 1.1.0 → 1.1.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/History.md +3 -0
- data/fluent-plugin-opensearch.gemspec +1 -1
- data/lib/fluent/plugin/out_opensearch.rb +21 -4
- data/test/plugin/test_out_opensearch.rb +3 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c4ad0e88f3c4bb0497f3af7d1fa669bc0a9e0820fd7ccbe32713fa86f9fdc69
|
4
|
+
data.tar.gz: 56626ed3aadd52c4b560fb6eb8d9a0c0070ac68178ce789a63db19c404ab39e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 620d0a42bb7b4db1bdd32bf863697644a5afc499a4d9b071a99192cfb8c621dd863e8f35f30ae6eab6ab90e982ed5a68a2dbab83de6f7b526e44ebe419fd6c5b
|
7
|
+
data.tar.gz: ca2cdd6fa2a704423e7cee2c065e72075b6e0d564414d5dcc1feb08608aa303fa93b9bf57afde32ed8a6e90c707bbe2c89bcdfcf8af84aabec904d1d52222dfd
|
data/History.md
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = 'fluent-plugin-opensearch'
|
6
|
-
s.version = '1.1.
|
6
|
+
s.version = '1.1.1'
|
7
7
|
s.authors = ['Hiroshi Hatake']
|
8
8
|
s.email = ['cosmo0920.wp@gmail.com']
|
9
9
|
s.description = %q{Opensearch output plugin for Fluent event collector}
|
@@ -83,6 +83,7 @@ module Fluent::Plugin
|
|
83
83
|
attr_reader :template_names
|
84
84
|
attr_reader :ssl_version_options
|
85
85
|
attr_reader :compressable_connection
|
86
|
+
attr_reader :duration_seconds
|
86
87
|
|
87
88
|
helpers :event_emitter, :compat_parameters, :record_accessor, :timer
|
88
89
|
|
@@ -94,6 +95,7 @@ module Fluent::Plugin
|
|
94
95
|
DEFAULT_RELOAD_AFTER = -1
|
95
96
|
DEFAULT_TARGET_BULK_BYTES = -1
|
96
97
|
DEFAULT_POLICY_ID = "logstash-policy"
|
98
|
+
DEFAULT_DURATION = "5h"
|
97
99
|
|
98
100
|
config_param :host, :string, :default => 'localhost'
|
99
101
|
config_param :port, :integer, :default => 9200
|
@@ -195,7 +197,7 @@ module Fluent::Plugin
|
|
195
197
|
config_param :assume_role_session_name, :string, :default => "fluentd"
|
196
198
|
config_param :assume_role_web_identity_token_file, :string, :default => nil
|
197
199
|
config_param :sts_credentials_region, :string, :default => nil
|
198
|
-
config_param :refresh_credentials_interval, :time, :default =>
|
200
|
+
config_param :refresh_credentials_interval, :time, :default => DEFAULT_DURATION
|
199
201
|
config_param :aws_service_name, :enum, list: [:es, :aoss], :default => :es
|
200
202
|
end
|
201
203
|
|
@@ -211,6 +213,8 @@ module Fluent::Plugin
|
|
211
213
|
|
212
214
|
def initialize
|
213
215
|
super
|
216
|
+
|
217
|
+
@duration_seconds = Fluent::Config.time_value(DEFAULT_DURATION)
|
214
218
|
end
|
215
219
|
|
216
220
|
######################################################################################################
|
@@ -238,13 +242,15 @@ module Fluent::Plugin
|
|
238
242
|
credentials = Aws::AssumeRoleCredentials.new({
|
239
243
|
role_arn: conf[:assume_role_arn],
|
240
244
|
role_session_name: conf[:assume_role_session_name],
|
241
|
-
region: sts_creds_region(conf)
|
245
|
+
region: sts_creds_region(conf),
|
246
|
+
duration_seconds: @duration_seconds
|
242
247
|
}).credentials
|
243
248
|
else
|
244
249
|
credentials = Aws::AssumeRoleWebIdentityCredentials.new({
|
245
250
|
role_arn: conf[:assume_role_arn],
|
246
251
|
web_identity_token_file: conf[:assume_role_web_identity_token_file],
|
247
|
-
region: sts_creds_region(conf)
|
252
|
+
region: sts_creds_region(conf),
|
253
|
+
duration_seconds: @duration_seconds
|
248
254
|
}).credentials
|
249
255
|
end
|
250
256
|
end
|
@@ -345,7 +351,18 @@ module Fluent::Plugin
|
|
345
351
|
@_aws_credentials = aws_credentials(@endpoint)
|
346
352
|
|
347
353
|
if @endpoint.refresh_credentials_interval
|
348
|
-
|
354
|
+
@duration_seconds = Fluent::Config.time_value(@endpoint.refresh_credentials_interval)
|
355
|
+
# 60 * 60 * 12 = 12 hours
|
356
|
+
if @duration_seconds > 43200
|
357
|
+
raise Fluent::ConfigError, "Maximum duration is 12 hours."
|
358
|
+
end
|
359
|
+
|
360
|
+
# 60 * 15 = 15 minutes
|
361
|
+
if @duration_seconds < 900
|
362
|
+
raise Fluent::ConfigError, "Minimum duration is 15 minutes."
|
363
|
+
end
|
364
|
+
|
365
|
+
timer_execute(:out_opensearch_expire_credentials, @duration_seconds) do
|
349
366
|
log.debug('Recreate the AWS credentials')
|
350
367
|
|
351
368
|
@credential_mutex.synchronize do
|
@@ -300,6 +300,7 @@ class OpenSearchOutputTest < Test::Unit::TestCase
|
|
300
300
|
'region' => "local",
|
301
301
|
'access_key_id' => 'YOUR_AWESOME_KEY',
|
302
302
|
'secret_access_key' => 'YOUR_AWESOME_SECRET',
|
303
|
+
'refresh_credentials_interval' => '10h'
|
303
304
|
}, []),
|
304
305
|
Fluent::Config::Element.new('buffer', 'tag', {}, [])
|
305
306
|
|
@@ -316,6 +317,8 @@ class OpenSearchOutputTest < Test::Unit::TestCase
|
|
316
317
|
assert_nil instance.endpoint.assume_role_web_identity_token_file
|
317
318
|
assert_nil instance.endpoint.sts_credentials_region
|
318
319
|
assert_equal :es, instance.endpoint.aws_service_name
|
320
|
+
assert_equal 36000, instance.endpoint.refresh_credentials_interval
|
321
|
+
assert_equal 36000, instance.duration_seconds
|
319
322
|
end
|
320
323
|
|
321
324
|
data("OpenSearch Service" => [:es, 'es'],
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-opensearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiroshi Hatake
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -270,7 +270,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
270
|
- !ruby/object:Gem::Version
|
271
271
|
version: '0'
|
272
272
|
requirements: []
|
273
|
-
rubygems_version: 3.
|
273
|
+
rubygems_version: 3.2.32
|
274
274
|
signing_key:
|
275
275
|
specification_version: 4
|
276
276
|
summary: Opensearch output plugin for Fluent event collector
|