fluent-plugin-aws-elasticsearch-service 2.3.0 → 2.4.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: c00328bd3ff633df7108730e87120720e0bf6ce805ef97c4e3d21f117bd7960d
4
- data.tar.gz: b01eb257a5231f9e0aeeae68f039583a98c3c9fb0ea9ad660ea5a388befc4271
3
+ metadata.gz: 5b43f023ea0c787dc6b18db57b47050078babc38c33d45bccd172e30c2f0b2a0
4
+ data.tar.gz: a2310d3e8fb5a710edca64ec72b656a5cc0517bac9151976e5ad23b16acfe12c
5
5
  SHA512:
6
- metadata.gz: b81a8b614b5cf1c4d637396462b3067e6d8ae7e34c2a33c5c99f3faf2625091d23576037ad48db7f94f56f2dabfcf8b2a824a6bbff57dba29c1998d7452ad8e7
7
- data.tar.gz: 0a3f0da04dee0d718300196847e7bcfac96b46d4d6c6e16fa2d5acfb0169371f55298e075436fb6dcbf3a6d719644e7421b0673d12c3905dfa8d65bf126d6398
6
+ metadata.gz: 6563475cc1717bc69c6c1d417dcef797e4418f172cdab5d0d767efd8f2aedd3beeb38e405ca162f6c1bee2b1a505004e59a50ce8c5ae625fd01b1ab7e291918f
7
+ data.tar.gz: f270b332238a0e438de2062a72e5e53e5689e4130bf422b0f092423dad625b4a156a62862f5f7c452f4f6855d2f7ee5c61b0eca3473a58cbc692f8ce81b8acd8
data/Gemfile CHANGED
@@ -3,6 +3,6 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in fluent-plugin-aws-elasticsearch-service.gemspec
4
4
  gemspec
5
5
 
6
- gem 'fluent-plugin-elasticsearch', [">= 2.4.0", "< 4"], require: false
6
+ gem 'fluent-plugin-elasticsearch', [">= 2.4.0", "< 5"], require: false
7
7
  gem 'aws-sdk-core', '~> 3', require: false
8
8
  gem 'faraday_middleware-aws-sigv4', '~> 0.3.0', require: false
data/README.md CHANGED
@@ -92,6 +92,7 @@ Additionally, you can use an STS assumed role as the authenticating factor and i
92
92
  region eu-west-1
93
93
  assume_role_arn arn:aws:sts::ACCOUNT:role/ROLE
94
94
  assume_role_session_name SESSION_ID # Defaults to fluentd if omitted
95
+ sts_credentials_region us-west-2 # Defaults to region if omitted
95
96
  </endpoint>
96
97
  ```
97
98
 
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "fluent-plugin-aws-elasticsearch-service"
8
- spec.version = "2.3.0"
8
+ spec.version = "2.4.0"
9
9
  spec.authors = ["atomita"]
10
10
  spec.email = ["sleeping.cait.sith+gh@gmail.com"]
11
11
 
@@ -20,12 +20,12 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.10"
24
- spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "bundler", [">= 1.10", "< 3"]
24
+ spec.add_development_dependency "rake", "~> 13.0"
25
25
  spec.add_development_dependency "rspec", "~> 3.0"
26
26
  spec.add_development_dependency "test-unit", "~> 3.0"
27
27
  spec.add_runtime_dependency "fluentd", [">= 0.14.15", "< 2"]
28
- spec.add_runtime_dependency "fluent-plugin-elasticsearch", [">= 3.3.0", "< 4"]
28
+ spec.add_runtime_dependency "fluent-plugin-elasticsearch", [">= 3.3.0", "< 5"]
29
29
  spec.add_runtime_dependency "aws-sdk-core", "~> 3"
30
30
  spec.add_runtime_dependency "faraday_middleware-aws-sigv4", "~> 0.3.0"
31
31
  end
@@ -20,6 +20,7 @@ module Fluent::Plugin
20
20
  config_param :ecs_container_credentials_relative_uri, :string, :default => nil #Set with AWS_CONTAINER_CREDENTIALS_RELATIVE_URI environment variable value
21
21
  config_param :assume_role_session_name, :string, :default => "fluentd"
22
22
  config_param :assume_role_web_identity_token_file, :string, :default => nil
23
+ config_param :sts_credentials_region, :string, :default => nil
23
24
  end
24
25
 
25
26
  # here overrides default value of reload_connections to false because
@@ -35,6 +36,10 @@ module Fluent::Plugin
35
36
  def get_connection_options(con_host=nil)
36
37
  raise "`endpoint` require." if @endpoint.empty?
37
38
 
39
+ @endpoint.map do |ep|
40
+ raise Fluent::ConfigError, "Ensure you don't have a trailing slash on the endpoint URL in your fluentd configuration." if ep[:url].end_with?("/")
41
+ end
42
+
38
43
  hosts =
39
44
  begin
40
45
  @endpoint.map do |ep|
@@ -75,27 +80,29 @@ module Fluent::Plugin
75
80
  credentials = Aws::Credentials.new opts[:access_key_id], opts[:secret_access_key]
76
81
  else
77
82
  if opts[:assume_role_arn].nil?
78
- if opts[:ecs_container_credentials_relative_uri].nil?
83
+ aws_container_credentials_relative_uri = opts[:ecs_container_credentials_relative_uri] || ENV["AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"]
84
+ if aws_container_credentials_relative_uri.nil?
79
85
  credentials = Aws::SharedCredentials.new({retries: 2}).credentials
80
86
  credentials ||= Aws::InstanceProfileCredentials.new.credentials
81
87
  credentials ||= Aws::ECSCredentials.new.credentials
82
88
  else
83
89
  credentials = Aws::ECSCredentials.new({
84
- credential_path: opts[:ecs_container_credentials_relative_uri]
90
+ credential_path: aws_container_credentials_relative_uri
85
91
  }).credentials
86
92
  end
87
93
  else
94
+
88
95
  if opts[:assume_role_web_identity_token_file].nil?
89
96
  credentials = sts_credential_provider({
90
97
  role_arn: opts[:assume_role_arn],
91
98
  role_session_name: opts[:assume_role_session_name],
92
- region: opts[:region]
99
+ region: sts_credentials_region(opts)
93
100
  }).credentials
94
101
  else
95
102
  credentials = sts_web_identity_credential_provider({
96
103
  role_arn: opts[:assume_role_arn],
97
104
  web_identity_token_file: opts[:assume_role_web_identity_token_file],
98
- region: opts[:region]
105
+ region: sts_credentials_region(opts)
99
106
  }).credentials
100
107
  end
101
108
  end
@@ -110,6 +117,10 @@ module Fluent::Plugin
110
117
  calback
111
118
  end
112
119
 
120
+ def sts_credentials_region(opts)
121
+ opts[:sts_credentials_region] || opts[:region]
122
+ end
123
+
113
124
  def sts_credential_provider(opts)
114
125
  # AssumeRoleCredentials is an auto-refreshing credential provider
115
126
  @sts ||= Aws::AssumeRoleCredentials.new(opts)
metadata CHANGED
@@ -1,43 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-aws-elasticsearch-service
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - atomita
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-12-19 00:00:00.000000000 Z
11
+ date: 2020-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.10'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3'
20
23
  type: :development
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '1.10'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rake
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '10.0'
39
+ version: '13.0'
34
40
  type: :development
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '10.0'
46
+ version: '13.0'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: rspec
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +101,7 @@ dependencies:
95
101
  version: 3.3.0
96
102
  - - "<"
97
103
  - !ruby/object:Gem::Version
98
- version: '4'
104
+ version: '5'
99
105
  type: :runtime
100
106
  prerelease: false
101
107
  version_requirements: !ruby/object:Gem::Requirement
@@ -105,7 +111,7 @@ dependencies:
105
111
  version: 3.3.0
106
112
  - - "<"
107
113
  - !ruby/object:Gem::Version
108
- version: '4'
114
+ version: '5'
109
115
  - !ruby/object:Gem::Dependency
110
116
  name: aws-sdk-core
111
117
  requirement: !ruby/object:Gem::Requirement
@@ -153,7 +159,7 @@ homepage: https://github.com/atomita/fluent-plugin-aws-elasticsearch-service
153
159
  licenses:
154
160
  - MIT
155
161
  metadata: {}
156
- post_install_message:
162
+ post_install_message:
157
163
  rdoc_options: []
158
164
  require_paths:
159
165
  - lib
@@ -169,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
175
  version: '0'
170
176
  requirements: []
171
177
  rubygems_version: 3.0.1
172
- signing_key:
178
+ signing_key:
173
179
  specification_version: 4
174
180
  summary: Output plugin to post to "Amazon Elasticsearch Service".
175
181
  test_files: []