fluent-plugin-s3 1.6.0 → 1.6.1

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: 155f0d28d700caf2e5c817843abec96a26f301404d2bf521c6cd383068fdeb47
4
- data.tar.gz: '0701182695128c6812b28179685658a8b570332a2f747146e157e859d61d0898'
3
+ metadata.gz: fbb79ec06cc2a084f5043825a68b9e15b3d3eed9008f0906ff6fedede8659a22
4
+ data.tar.gz: '09eb263937f9f5dd397296579426a744f701eee6ba45d4a2b05b0f5c7990fe5b'
5
5
  SHA512:
6
- metadata.gz: 47460a080d212895f1a121da9dc547b08281df9c9ae1c2644dce582c63cad4b971aeefcf287553bf8f983dd4b2e628acfd6119b2dd3b725e5d0125e58fe5c043
7
- data.tar.gz: a10f906a8db7c81f80dad1257a1aaf38a9a432ede35f12df6e21df2e138fd6662668192c6382cba9b647dd4e8427c9697f8b4188acef5280fd0278f24ef87b26
6
+ metadata.gz: 5a0685a1d250f12608bf432c4157d6a1b9cd7a627161cf2278c703ae07cce9fe858d5468bbe5056d060f40914570ea9ec39bbec04828c1dbf193737edf72193a
7
+ data.tar.gz: 0caf64221c557536e5e3d1d6f21f28cfdce5fc865a4a4d5b55ec490fd716701675b49999faf81b9e030348abbd68e265df690154f2aac155613efbfcf4ba144d
@@ -0,0 +1,72 @@
1
+ name: Bug Report
2
+ description: Create a report with a procedure for reproducing the bug
3
+ body:
4
+ - type: markdown
5
+ attributes:
6
+ value: |
7
+ Check [README](https://github.com/fluent/fluent-plugin-s3#readme) first and here is the list to help us investigate the problem.
8
+ - type: textarea
9
+ id: description
10
+ attributes:
11
+ label: Describe the bug
12
+ description: A clear and concise description of what the bug is
13
+ validations:
14
+ required: true
15
+ - type: textarea
16
+ id: reproduce
17
+ attributes:
18
+ label: To Reproduce
19
+ description: Steps to reproduce the behavior
20
+ validations:
21
+ required: true
22
+ - type: textarea
23
+ id: expected
24
+ attributes:
25
+ label: Expected behavior
26
+ description: A clear and concise description of what you expected to happen
27
+ validations:
28
+ required: true
29
+ - type: textarea
30
+ id: environment
31
+ attributes:
32
+ label: Your Environment
33
+ description: |
34
+ - Fluentd or td-agent version: `fluentd --version` or `td-agent --version`
35
+ - Operating system: `cat /etc/os-release`
36
+ - Kernel version: `uname -r`
37
+
38
+ Tip: If you hit the problem with older fluentd version, try latest version first.
39
+ value: |
40
+ - Fluentd version:
41
+ - TD Agent version:
42
+ - fluent-plugin-s3 version:
43
+ - aws-sdk-s3 version:
44
+ - aws-sdk-sqs version:
45
+ - Operating system:
46
+ - Kernel version:
47
+ render: markdown
48
+ validations:
49
+ required: true
50
+ - type: textarea
51
+ id: configuration
52
+ attributes:
53
+ label: Your Configuration
54
+ description: |
55
+ Write your configuration here. Minimum reproducible fluentd.conf is recommended.
56
+ validations:
57
+ required: true
58
+ - type: textarea
59
+ id: logs
60
+ attributes:
61
+ label: Your Error Log
62
+ description: Write your ALL error log here
63
+ render: shell
64
+ validations:
65
+ required: true
66
+ - type: textarea
67
+ id: addtional-context
68
+ attributes:
69
+ label: Additional context
70
+ description: Add any other context about the problem here.
71
+ validations:
72
+ required: false
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Ask a Question
4
+ url: https://discuss.fluentd.org/
5
+ about: I have questions about fluent-plugin-kafka. Please ask and answer questions at https://discuss.fluentd.org/.
@@ -0,0 +1,38 @@
1
+ name: Feature request
2
+ description: Suggest an idea for this project
3
+ body:
4
+ - type: markdown
5
+ attributes:
6
+ value: |
7
+ Check [README.md](https://github.com/fluent/fluent-plugin-s3/blob/master/README.md) first and here is the list to help us investigate the problem.
8
+ - type: textarea
9
+ id: description
10
+ attributes:
11
+ label: Is your feature request related to a problem? Please describe.
12
+ description: |
13
+ A clear and concise description of what the problem is.
14
+ Ex. I'm always frustrated when [...]
15
+ validations:
16
+ required: true
17
+ - type: textarea
18
+ id: solution
19
+ attributes:
20
+ label: Describe the solution you'd like
21
+ description: A clear and concise description of what you want to happen.
22
+ validations:
23
+ required: true
24
+ - type: textarea
25
+ id: alternative
26
+ attributes:
27
+ label: Describe alternatives you've considered
28
+ description: A clear and concise description of any alternative solutions or features you've considered.
29
+ validations:
30
+ required: true
31
+ - type: textarea
32
+ id: addtional-context
33
+ attributes:
34
+ label: Additional context
35
+ description: Add any other context or screenshots about the feature request here.
36
+ validations:
37
+ required: false
38
+
@@ -0,0 +1,22 @@
1
+ name: "Mark or close stale issues and PRs"
2
+ on:
3
+ schedule:
4
+ - cron: "00 10 * * *"
5
+
6
+ jobs:
7
+ stale:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/stale@v3
11
+ with:
12
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
13
+ days-before-stale: 90
14
+ days-before-close: 30
15
+ stale-issue-message: "This issue has been automatically marked as stale because it has been open 90 days with no activity. Remove stale label or comment or this issue will be closed in 30 days"
16
+ stale-pr-message: "This PR has been automatically marked as stale because it has been open 90 days with no activity. Remove stale label or comment or this PR will be closed in 30 days"
17
+ close-issue-message: "This issue was automatically closed because of stale in 30 days"
18
+ close-pr-message: "This PR was automatically closed because of stale in 30 days"
19
+ stale-pr-label: "stale"
20
+ stale-issue-label: "stale"
21
+ exempt-issue-labels: "bug,help wanted"
22
+ exempt-pr-labels: "bug,help wanted"
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ Release 1.6.1 - 2021/08/19
2
+
3
+ * in_s3/out_s3: Don't raise error when s3_endpoint is used for VPC endpoint (GitHub: #384)
4
+
1
5
  Release 1.6.0 - 2021/04/08
2
6
 
3
7
  * out_s3: Add support for Parquet compressor. Use `<compress>` section to configure columnify command behavior.
data/README.md CHANGED
@@ -20,6 +20,8 @@ the former one is stored in "20110102.gz" file, and latter one in
20
20
  SQS queue on the region same as S3 bucket.
21
21
  We must setup SQS queue and S3 event notification before use this plugin.
22
22
 
23
+ :warning: Be sure to keep a close eye on S3 costs, as a few user have reported [unexpectedly high costs](https://github.com/fluent/fluent-plugin-s3/issues/160).
24
+
23
25
  ## Requirements
24
26
 
25
27
  | fluent-plugin-s3 | fluentd | ruby |
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.6.0
1
+ 1.6.1
data/docs/output.md CHANGED
@@ -152,6 +152,8 @@ NOTE: ${hostname} placeholder is deprecated since v0.8. You can get same result
152
152
 
153
153
  Above two configurations are same. The important point is wrapping `""` is needed for `#{Socket.gethostname}`.
154
154
 
155
+ NOTE: If `check_object` is set to `false`, Ensure the value of `s3_object_key_format` must be unique in each write, If not, existing file will be overwritten.
156
+
155
157
  ## force_path_style
156
158
 
157
159
  :force_path_style (Boolean) — default: false — When set to true, the
@@ -322,6 +324,8 @@ Use UTC instead of local time.
322
324
 
323
325
  Set storage class. Possible values are `STANDARD`, `REDUCED_REDUNDANCY`, `STANDARD_IA` from [Ruby SDK](http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Object.html#storage_class-instance_method).
324
326
 
327
+ Note that reduced redundancy is [not reccomended](https://serverfault.com/a/1010951/512362).
328
+
325
329
  ## reduced_redundancy
326
330
 
327
331
  Use S3 reduced redundancy storage for 33% cheaper pricing. Default is
@@ -115,10 +115,15 @@ module Fluent::Plugin
115
115
 
116
116
  attr_reader :bucket
117
117
 
118
+ def reject_s3_endpoint?
119
+ @s3_endpoint && !@s3_endpoint.end_with?('vpce.amazonaws.com') &&
120
+ @s3_endpoint.end_with?('amazonaws.com') && !['fips', 'gov'].any? { |e| @s3_endpoint.include?(e) }
121
+ end
122
+
118
123
  def configure(conf)
119
124
  super
120
125
 
121
- if @s3_endpoint && (@s3_endpoint.end_with?('amazonaws.com') && !['fips', 'gov'].any? { |e| @s3_endpoint.include?(e) })
126
+ if reject_s3_endpoint?
122
127
  raise Fluent::ConfigError, "s3_endpoint parameter is not supported for S3, use s3_region instead. This parameter is for S3 compatible services"
123
128
  end
124
129
 
@@ -173,6 +173,11 @@ module Fluent::Plugin
173
173
 
174
174
  MAX_HEX_RANDOM_LENGTH = 16
175
175
 
176
+ def reject_s3_endpoint?
177
+ @s3_endpoint && !@s3_endpoint.end_with?('vpce.amazonaws.com') &&
178
+ @s3_endpoint.end_with?('amazonaws.com') && !['fips', 'gov'].any? { |e| @s3_endpoint.include?(e) }
179
+ end
180
+
176
181
  def configure(conf)
177
182
  compat_parameters_convert(conf, :buffer, :formatter, :inject)
178
183
 
@@ -180,7 +185,7 @@ module Fluent::Plugin
180
185
 
181
186
  Aws.use_bundled_cert! if @use_bundled_cert
182
187
 
183
- if @s3_endpoint && (@s3_endpoint.end_with?('amazonaws.com') && !['fips', 'gov'].any? { |e| @s3_endpoint.include?(e) })
188
+ if reject_s3_endpoint?
184
189
  raise Fluent::ConfigError, "s3_endpoint parameter is not supported for S3, use s3_region instead. This parameter is for S3 compatible services"
185
190
  end
186
191
 
data/test/test_in_s3.rb CHANGED
@@ -115,14 +115,19 @@ class S3InputTest < Test::Unit::TestCase
115
115
  end
116
116
 
117
117
 
118
- def test_s3_endpoint_with_valid_endpoint
119
- d = create_driver(CONFIG + 's3_endpoint riak-cs.example.com')
120
- assert_equal 'riak-cs.example.com', d.instance.s3_endpoint
118
+ data('Normal endpoint' => 'riak-cs.example.com',
119
+ 'VPCE endpoint' => 'vpce.amazonaws.com',
120
+ 'FIPS endpoint' => 'fips.xxx.amazonaws.com',
121
+ 'GOV endpoint' => 'gov.xxx.amazonaws.com')
122
+ def test_s3_endpoint_with_valid_endpoint(endpoint)
123
+ d = create_driver(CONFIG + "s3_endpoint #{endpoint}")
124
+ assert_equal endpoint, d.instance.s3_endpoint
121
125
  end
122
126
 
123
127
  data('US West (Oregon)' => 's3-us-west-2.amazonaws.com',
124
128
  'EU (Frankfurt)' => 's3.eu-central-1.amazonaws.com',
125
- 'Asia Pacific (Tokyo)' => 's3-ap-northeast-1.amazonaws.com')
129
+ 'Asia Pacific (Tokyo)' => 's3-ap-northeast-1.amazonaws.com',
130
+ 'Invalid VPCE' => 'vpce.xxx.amazonaws.com')
126
131
  def test_s3_endpoint_with_invalid_endpoint(endpoint)
127
132
  assert_raise(Fluent::ConfigError, "s3_endpoint parameter is not supported, use s3_region instead. This parameter is for S3 compatible services") {
128
133
  create_driver(CONFIG + "s3_endpoint #{endpoint}")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-04-09 00:00:00.000000000 Z
12
+ date: 2021-08-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd
@@ -121,7 +121,11 @@ executables: []
121
121
  extensions: []
122
122
  extra_rdoc_files: []
123
123
  files:
124
+ - ".github/ISSUE_TEMPLATE/bug_report.yaml"
125
+ - ".github/ISSUE_TEMPLATE/config.yml"
126
+ - ".github/ISSUE_TEMPLATE/feature_request.yaml"
124
127
  - ".github/workflows/linux.yml"
128
+ - ".github/workflows/stale-actions.yml"
125
129
  - ".gitignore"
126
130
  - AUTHORS
127
131
  - ChangeLog
@@ -168,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
172
  - !ruby/object:Gem::Version
169
173
  version: '0'
170
174
  requirements: []
171
- rubygems_version: 3.1.2
175
+ rubygems_version: 3.1.6
172
176
  signing_key:
173
177
  specification_version: 4
174
178
  summary: Amazon S3 output plugin for Fluentd event collector