fluent-plugin-aws-elasticsearch-service 2.3.0 → 2.4.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: 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: []