fluentd 1.12.4-x86-mingw32 → 1.13.3-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fluentd might be problematic. Click here for more details.

Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.yaml +69 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.yaml +38 -0
  4. data/.github/workflows/linux-test.yaml +1 -1
  5. data/.github/workflows/windows-test.yaml +14 -3
  6. data/.gitlab-ci.yml +0 -22
  7. data/CHANGELOG.md +129 -0
  8. data/CONTRIBUTING.md +2 -2
  9. data/MAINTAINERS.md +1 -1
  10. data/README.md +3 -3
  11. data/bin/fluentd +8 -1
  12. data/example/counter.conf +1 -1
  13. data/example/v0_12_filter.conf +2 -2
  14. data/fluentd.gemspec +1 -1
  15. data/lib/fluent/command/cat.rb +19 -3
  16. data/lib/fluent/command/fluentd.rb +1 -2
  17. data/lib/fluent/command/plugin_generator.rb +15 -5
  18. data/lib/fluent/config.rb +1 -1
  19. data/lib/fluent/config/section.rb +5 -0
  20. data/lib/fluent/config/types.rb +15 -0
  21. data/lib/fluent/config/v1_parser.rb +3 -2
  22. data/lib/fluent/env.rb +2 -1
  23. data/lib/fluent/log.rb +1 -0
  24. data/lib/fluent/oj_options.rb +62 -0
  25. data/lib/fluent/plugin/file_wrapper.rb +35 -4
  26. data/lib/fluent/plugin/formatter.rb +1 -0
  27. data/lib/fluent/plugin/formatter_json.rb +9 -7
  28. data/lib/fluent/plugin/in_http.rb +10 -0
  29. data/lib/fluent/plugin/in_tail.rb +159 -41
  30. data/lib/fluent/plugin/in_tail/position_file.rb +20 -18
  31. data/lib/fluent/plugin/out_forward.rb +14 -33
  32. data/lib/fluent/plugin/parser_json.rb +2 -3
  33. data/lib/fluent/plugin/service_discovery.rb +0 -15
  34. data/lib/fluent/plugin_helper/http_server/router.rb +1 -1
  35. data/lib/fluent/plugin_helper/service_discovery.rb +39 -1
  36. data/lib/fluent/plugin_helper/service_discovery/manager.rb +11 -5
  37. data/lib/fluent/supervisor.rb +15 -0
  38. data/lib/fluent/system_config.rb +14 -0
  39. data/lib/fluent/test/driver/storage.rb +30 -0
  40. data/lib/fluent/version.rb +1 -1
  41. data/templates/new_gem/lib/fluent/plugin/storage.rb.erb +40 -0
  42. data/templates/new_gem/test/plugin/test_storage.rb.erb +18 -0
  43. data/test/command/test_cat.rb +99 -0
  44. data/test/command/test_plugin_generator.rb +2 -1
  45. data/test/config/test_section.rb +9 -0
  46. data/test/config/test_system_config.rb +46 -0
  47. data/test/config/test_types.rb +7 -0
  48. data/test/plugin/in_tail/test_io_handler.rb +4 -4
  49. data/test/plugin/in_tail/test_position_file.rb +23 -5
  50. data/test/plugin/test_file_wrapper.rb +22 -1
  51. data/test/plugin/test_in_forward.rb +59 -83
  52. data/test/plugin/test_in_http.rb +58 -40
  53. data/test/plugin/test_in_syslog.rb +66 -56
  54. data/test/plugin/test_in_tail.rb +341 -1
  55. data/test/plugin/test_in_tcp.rb +45 -32
  56. data/test/plugin/test_in_udp.rb +47 -33
  57. data/test/plugin/test_out_forward.rb +114 -95
  58. data/test/plugin/test_out_stream.rb +18 -8
  59. data/test/plugin_helper/http_server/test_route.rb +1 -1
  60. data/test/plugin_helper/test_child_process.rb +1 -1
  61. data/test/plugin_helper/test_http_server_helper.rb +33 -26
  62. data/test/plugin_helper/test_server.rb +137 -138
  63. data/test/plugin_helper/test_service_discovery.rb +74 -14
  64. data/test/plugin_helper/test_socket.rb +16 -9
  65. data/test/test_config.rb +2 -1
  66. data/test/test_event_time.rb +2 -2
  67. data/test/test_oj_options.rb +55 -0
  68. data/test/test_supervisor.rb +35 -0
  69. metadata +15 -7
  70. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
  71. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -23
@@ -17,6 +17,24 @@ class ServiceDiscoveryHelper < Test::Unit::TestCase
17
17
  end
18
18
  end
19
19
 
20
+ class DummyPlugin < Fluent::Plugin::TestBase
21
+ helpers :service_discovery
22
+
23
+ def configure(conf)
24
+ super
25
+ service_discovery_configure(:service_discovery_helper_test, static_default_service_directive: 'node')
26
+ end
27
+
28
+ def select_service(&block)
29
+ service_discovery_select_service(&block)
30
+ end
31
+
32
+ # Make these mehtod public
33
+ def discovery_manager
34
+ super
35
+ end
36
+ end
37
+
20
38
  setup do
21
39
  @sd_file_dir = File.expand_path('../plugin/data/sd_file', __dir__)
22
40
 
@@ -33,7 +51,7 @@ class ServiceDiscoveryHelper < Test::Unit::TestCase
33
51
  end
34
52
  end
35
53
 
36
- test 'start discovery manager' do
54
+ test 'support calling #service_discovery_create_manager and #discovery_manager from plugin' do
37
55
  d = @d = Dummy.new
38
56
 
39
57
  d.service_discovery_create_manager(
@@ -55,13 +73,30 @@ class ServiceDiscoveryHelper < Test::Unit::TestCase
55
73
  assert_equal 1234, services[0].port
56
74
  end
57
75
 
58
- test 'call timer_execute if dynamic configuration' do
59
- d = @d = Dummy.new
76
+ test 'start discovery manager' do
77
+ d = @d = DummyPlugin.new
60
78
 
61
- d.service_discovery_create_manager(
62
- :service_discovery_helper_test,
63
- configurations: [{ type: :file, conf: config_element('file_config', '', { 'path' => File.join(@sd_file_dir, 'config.yml') }) }],
64
- )
79
+ services = [config_element('service', '', { 'host' => '127.0.0.1', 'port' => '1234' })]
80
+ d.configure(config_element('root', '', {}, [config_element('service_discovery', '', {'@type' => 'static'}, services)]))
81
+
82
+ assert_true !!d.discovery_manager
83
+
84
+ mock.proxy(d.discovery_manager).start.once
85
+ mock.proxy(d).timer_execute(:service_discovery_helper_test, anything).never
86
+
87
+ d.start
88
+ d.event_loop_wait_until_start
89
+
90
+ assert_equal 1, d.discovery_manager.services.size
91
+ d.select_service do |serv|
92
+ assert_equal "127.0.0.1", serv.host
93
+ assert_equal 1234, serv.port
94
+ end
95
+ end
96
+
97
+ test 'call timer_execute if dynamic configuration' do
98
+ d = @d = DummyPlugin.new
99
+ d.configure(config_element('root', '', {}, [config_element('service_discovery', '', { '@type' => 'file', 'path' => File.join(@sd_file_dir, 'config.yml' )})]))
65
100
 
66
101
  assert_true !!d.discovery_manager
67
102
  mock.proxy(d.discovery_manager).start.once
@@ -71,25 +106,22 @@ class ServiceDiscoveryHelper < Test::Unit::TestCase
71
106
  end
72
107
 
73
108
  test 'exits service discovery instances without any errors' do
74
- d = @d = Dummy.new
109
+ d = @d = DummyPlugin.new
75
110
  mockv = flexmock('dns_resolver', getaddress: '127.0.0.1')
76
111
  .should_receive(:getresources)
77
112
  .and_return([Resolv::DNS::Resource::IN::SRV.new(1, 10, 8081, 'service1.example.com')])
78
113
  .mock
79
114
  mock(Resolv::DNS).new { mockv }
80
115
 
81
- d.service_discovery_create_manager(
82
- :service_discovery_helper_test2,
83
- configurations: [{ type: :srv, conf: config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com' }) }],
84
- )
116
+ d.configure(config_element('root', '', {}, [config_element('service_discovery', '', { '@type' => 'srv', 'service' => 'service1', 'hostname' => 'example.com' })]))
85
117
 
86
118
  assert_true !!d.discovery_manager
87
119
  mock.proxy(d.discovery_manager).start.once
88
- mock(d).timer_execute(:service_discovery_helper_test2, anything).once
120
+ mock(d).timer_execute(:service_discovery_helper_test, anything).once
89
121
 
90
122
  # To avoid claring `@logs` during `terminate` step
91
123
  # https://github.com/fluent/fluentd/blob/bc78d889f93dad8c2a4e0ad1ca802546185dacba/lib/fluent/test/log.rb#L33
92
- mock(d.log).reset.twice
124
+ mock(d.log).reset.times(3)
93
125
 
94
126
  d.start
95
127
  d.event_loop_wait_until_start
@@ -102,4 +134,32 @@ class ServiceDiscoveryHelper < Test::Unit::TestCase
102
134
 
103
135
  assert_false(d.log.out.logs.any? { |e| e.match?(/thread doesn't exit correctly/) })
104
136
  end
137
+
138
+ test 'static service discovery will be configured automatically when default service directive is specified' do
139
+ d = @d = DummyPlugin.new
140
+
141
+ nodes = [
142
+ config_element('node', '', { 'host' => '192.168.0.1', 'port' => '24224' }),
143
+ config_element('node', '', { 'host' => '192.168.0.2', 'port' => '24224' })
144
+ ]
145
+ d.configure(config_element('root', '', {}, nodes))
146
+
147
+ assert_true !!d.discovery_manager
148
+
149
+ mock.proxy(d.discovery_manager).start.once
150
+ mock.proxy(d).timer_execute(:service_discovery_helper_test, anything).never
151
+
152
+ d.start
153
+ d.event_loop_wait_until_start
154
+
155
+ assert_equal 2, d.discovery_manager.services.size
156
+ d.select_service do |serv|
157
+ assert_equal "192.168.0.1", serv.host
158
+ assert_equal 24224, serv.port
159
+ end
160
+ d.select_service do |serv|
161
+ assert_equal "192.168.0.2", serv.host
162
+ assert_equal 24224, serv.port
163
+ end
164
+ end
105
165
  end
@@ -6,17 +6,24 @@ require 'socket'
6
6
  require 'openssl'
7
7
 
8
8
  class SocketHelperTest < Test::Unit::TestCase
9
- PORT = unused_port
10
9
  CERT_DIR = File.expand_path(File.dirname(__FILE__) + '/data/cert/without_ca')
11
10
  CA_CERT_DIR = File.expand_path(File.dirname(__FILE__) + '/data/cert/with_ca')
12
11
  CERT_CHAINS_DIR = File.expand_path(File.dirname(__FILE__) + '/data/cert/cert_chains')
13
12
 
13
+ def setup
14
+ @port = unused_port
15
+ end
16
+
17
+ def teardown
18
+ @port = nil
19
+ end
20
+
14
21
  class SocketHelperTestPlugin < Fluent::Plugin::TestBase
15
22
  helpers :socket
16
23
  end
17
24
 
18
25
  class EchoTLSServer
19
- def initialize(host = '127.0.0.1', port = PORT, cert_path: nil, private_key_path: nil, ca_path: nil)
26
+ def initialize(port, host: '127.0.0.1', cert_path: nil, private_key_path: nil, ca_path: nil)
20
27
  server = TCPServer.open(host, port)
21
28
  ctx = OpenSSL::SSL::SSLContext.new
22
29
  ctx.cert = OpenSSL::X509::Certificate.new(File.open(cert_path)) if cert_path
@@ -91,8 +98,8 @@ class SocketHelperTest < Test::Unit::TestCase
91
98
  cert_path = File.join(CERT_DIR, 'cert.pem')
92
99
  private_key_path = File.join(CERT_DIR, 'cert-key.pem')
93
100
 
94
- EchoTLSServer.new(cert_path: cert_path, private_key_path: private_key_path).start do
95
- client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', PORT, verify_fqdn: false, cert_paths: [cert_path])
101
+ EchoTLSServer.new(@port, cert_path: cert_path, private_key_path: private_key_path).start do
102
+ client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, verify_fqdn: false, cert_paths: [cert_path])
96
103
  client.write('hello')
97
104
  assert_equal 'hello', client.readpartial(100)
98
105
  client.close
@@ -105,8 +112,8 @@ class SocketHelperTest < Test::Unit::TestCase
105
112
 
106
113
  ca_cert_path = File.join(CA_CERT_DIR, 'ca-cert.pem')
107
114
 
108
- EchoTLSServer.new(cert_path: cert_path, private_key_path: private_key_path).start do
109
- client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', PORT, verify_fqdn: false, cert_paths: [ca_cert_path])
115
+ EchoTLSServer.new(@port, cert_path: cert_path, private_key_path: private_key_path).start do
116
+ client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, verify_fqdn: false, cert_paths: [ca_cert_path])
110
117
  client.write('hello')
111
118
  assert_equal 'hello', client.readpartial(100)
112
119
  client.close
@@ -121,8 +128,8 @@ class SocketHelperTest < Test::Unit::TestCase
121
128
  client_cert_path = File.join(CERT_CHAINS_DIR, 'cert.pem')
122
129
  client_private_key_path = File.join(CERT_CHAINS_DIR, 'cert-key.pem')
123
130
 
124
- EchoTLSServer.new(cert_path: cert_path, private_key_path: private_key_path, ca_path: client_ca_cert_path).start do
125
- client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', PORT, verify_fqdn: false, cert_path: client_cert_path, private_key_path: client_private_key_path, cert_paths: [cert_path])
131
+ EchoTLSServer.new(@port, cert_path: cert_path, private_key_path: private_key_path, ca_path: client_ca_cert_path).start do
132
+ client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, verify_fqdn: false, cert_path: client_cert_path, private_key_path: client_private_key_path, cert_paths: [cert_path])
126
133
  client.write('hello')
127
134
  assert_equal 'hello', client.readpartial(100)
128
135
  client.close
@@ -133,7 +140,7 @@ class SocketHelperTest < Test::Unit::TestCase
133
140
  cert_path = File.expand_path(File.dirname(__FILE__) + '/data/cert/empty.pem')
134
141
 
135
142
  assert_raise Fluent::ConfigError do
136
- SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', PORT, cert_path: cert_path)
143
+ SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, cert_path: cert_path)
137
144
  end
138
145
  end
139
146
  end
data/test/test_config.rb CHANGED
@@ -160,7 +160,8 @@ class ConfigTest < Test::Unit::TestCase
160
160
  prepare_config
161
161
  opts = {
162
162
  :config_path => "#{TMP_DIR}/config_test_1.conf",
163
- :inline_config => "<source>\n type http\n port 2222\n </source>"
163
+ :inline_config => "<source>\n type http\n port 2222\n </source>",
164
+ :use_v1_config => false
164
165
  }
165
166
  assert_nothing_raised do
166
167
  Fluent::Supervisor.new(opts)
@@ -64,8 +64,8 @@ class EventTimeTest < Test::Unit::TestCase
64
64
 
65
65
  test 'Oj.dump' do
66
66
  time = Fluent::EventTime.new(100)
67
- require 'fluent/env'
68
- Oj.default_options = Fluent::DEFAULT_OJ_OPTIONS
67
+ require 'fluent/oj_options'
68
+ Fluent::OjOptions.load_env
69
69
  assert_equal('{"time":100}', Oj.dump({'time' => time}))
70
70
  assert_equal('["tag",100,{"key":"value"}]', Oj.dump(["tag", time, {"key" => "value"}], mode: :compat))
71
71
  end
@@ -0,0 +1,55 @@
1
+ require_relative 'helper'
2
+ require 'fluent/test'
3
+ require 'fluent/oj_options'
4
+
5
+ class OjOptionsTest < ::Test::Unit::TestCase
6
+ begin
7
+ require 'oj'
8
+ @@oj_is_avaibale = true
9
+ rescue LoadError
10
+ @@oj_is_avaibale = false
11
+ end
12
+
13
+ setup do
14
+ @orig_env = {}
15
+ ENV.each do |key, value|
16
+ @orig_env[key] = value if key.start_with?("FLUENT_OJ_OPTION_")
17
+ end
18
+ end
19
+
20
+ teardown do
21
+ ENV.delete_if { |key| key.start_with?("FLUENT_OJ_OPTION_") }
22
+ @orig_env.each { |key, value| ENV[key] = value }
23
+ end
24
+
25
+ test "available?" do
26
+ assert_equal(@@oj_is_avaibale, Fluent::OjOptions.available?)
27
+ end
28
+
29
+ sub_test_case "set by environment variable" do
30
+ test "when no env vars set, returns default options" do
31
+ ENV.delete_if { |key| key.start_with?("FLUENT_OJ_OPTION_") }
32
+ defaults = Fluent::OjOptions::DEFAULTS
33
+ assert_equal(defaults, Fluent::OjOptions.load_env)
34
+ assert_equal(defaults, Oj.default_options.slice(*defaults.keys)) if @@oj_is_avaibale
35
+ end
36
+
37
+ test "valid env var passed with valid value, default is overridden" do
38
+ ENV["FLUENT_OJ_OPTION_BIGDECIMAL_LOAD"] = ":bigdecimal"
39
+ assert_equal(:bigdecimal, Fluent::OjOptions.load_env[:bigdecimal_load])
40
+ assert_equal(:bigdecimal, Oj.default_options[:bigdecimal_load]) if @@oj_is_avaibale
41
+ end
42
+
43
+ test "valid env var passed with invalid value, default is not overriden" do
44
+ ENV["FLUENT_OJ_OPTION_BIGDECIMAL_LOAD"] = ":conor"
45
+ assert_equal(:float, Fluent::OjOptions.load_env[:bigdecimal_load])
46
+ assert_equal(:float, Oj.default_options[:bigdecimal_load]) if @@oj_is_avaibale
47
+ end
48
+
49
+ test "invalid env var passed, nothing done with it" do
50
+ ENV["FLUENT_OJ_OPTION_CONOR"] = ":conor"
51
+ assert_equal(nil, Fluent::OjOptions.load_env[:conor])
52
+ assert_equal(nil, Oj.default_options[:conor]) if @@oj_is_avaibale
53
+ end
54
+ end
55
+ end
@@ -7,6 +7,7 @@ require_relative 'test_plugin_classes'
7
7
  require 'net/http'
8
8
  require 'uri'
9
9
  require 'fileutils'
10
+ require 'tempfile'
10
11
 
11
12
  if Fluent.windows?
12
13
  require 'win32/event'
@@ -489,6 +490,40 @@ class SupervisorTest < ::Test::Unit::TestCase
489
490
  assert_equal 10, $log.out.instance_variable_get(:@shift_size)
490
491
  end
491
492
 
493
+ sub_test_case "system log rotation" do
494
+ def parse_text(text)
495
+ basepath = File.expand_path(File.dirname(__FILE__) + '/../../')
496
+ Fluent::Config.parse(text, '(test)', basepath, true).elements.find { |e| e.name == 'system' }
497
+ end
498
+
499
+ def test_override_default_log_rotate
500
+ Tempfile.open do |file|
501
+ config = parse_text(<<-EOS)
502
+ <system>
503
+ <log>
504
+ rotate_age 3
505
+ rotate_size 300
506
+ </log>
507
+ </system>
508
+ EOS
509
+ file.puts(config)
510
+ file.flush
511
+ opts = Fluent::Supervisor.default_options.merge(
512
+ log_path: "#{TMP_DIR}/test.log", config_path: file.path
513
+ )
514
+ sv = Fluent::Supervisor.new(opts)
515
+
516
+ log = sv.instance_variable_get(:@log)
517
+ log.init(:standalone, 0)
518
+ logger = $log.instance_variable_get(:@logger)
519
+
520
+ assert_equal([3, 300],
521
+ [logger.instance_variable_get(:@rotate_age),
522
+ logger.instance_variable_get(:@rotate_size)])
523
+ end
524
+ end
525
+ end
526
+
492
527
  def test_inline_config
493
528
  omit 'this feature is deprecated. see https://github.com/fluent/fluentd/issues/2711'
494
529
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluentd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.4
4
+ version: 1.13.3
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-26 00:00:00.000000000 Z
11
+ date: 2021-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -107,7 +107,7 @@ dependencies:
107
107
  version: 0.5.1
108
108
  - - "<"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.7.0
110
+ version: 0.8.0
111
111
  type: :runtime
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
@@ -117,7 +117,7 @@ dependencies:
117
117
  version: 0.5.1
118
118
  - - "<"
119
119
  - !ruby/object:Gem::Version
120
- version: 0.7.0
120
+ version: 0.8.0
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: sigdump
123
123
  requirement: !ruby/object:Gem::Requirement
@@ -463,9 +463,9 @@ files:
463
463
  - ".deepsource.toml"
464
464
  - ".drone.yml"
465
465
  - ".github/ISSUE_TEMPLATE.md"
466
- - ".github/ISSUE_TEMPLATE/bug_report.md"
466
+ - ".github/ISSUE_TEMPLATE/bug_report.yaml"
467
467
  - ".github/ISSUE_TEMPLATE/config.yml"
468
- - ".github/ISSUE_TEMPLATE/feature_request.md"
468
+ - ".github/ISSUE_TEMPLATE/feature_request.yaml"
469
469
  - ".github/PULL_REQUEST_TEMPLATE.md"
470
470
  - ".github/workflows/issue-auto-closer.yml"
471
471
  - ".github/workflows/linux-test.yaml"
@@ -609,6 +609,7 @@ files:
609
609
  - lib/fluent/match.rb
610
610
  - lib/fluent/mixin.rb
611
611
  - lib/fluent/msgpack_factory.rb
612
+ - lib/fluent/oj_options.rb
612
613
  - lib/fluent/output.rb
613
614
  - lib/fluent/output_chain.rb
614
615
  - lib/fluent/parser.rb
@@ -754,6 +755,7 @@ files:
754
755
  - lib/fluent/test/driver/multi_output.rb
755
756
  - lib/fluent/test/driver/output.rb
756
757
  - lib/fluent/test/driver/parser.rb
758
+ - lib/fluent/test/driver/storage.rb
757
759
  - lib/fluent/test/driver/test_event_router.rb
758
760
  - lib/fluent/test/filter_test.rb
759
761
  - lib/fluent/test/formatter_test.rb
@@ -779,12 +781,14 @@ files:
779
781
  - templates/new_gem/lib/fluent/plugin/input.rb.erb
780
782
  - templates/new_gem/lib/fluent/plugin/output.rb.erb
781
783
  - templates/new_gem/lib/fluent/plugin/parser.rb.erb
784
+ - templates/new_gem/lib/fluent/plugin/storage.rb.erb
782
785
  - templates/new_gem/test/helper.rb.erb
783
786
  - templates/new_gem/test/plugin/test_filter.rb.erb
784
787
  - templates/new_gem/test/plugin/test_formatter.rb.erb
785
788
  - templates/new_gem/test/plugin/test_input.rb.erb
786
789
  - templates/new_gem/test/plugin/test_output.rb.erb
787
790
  - templates/new_gem/test/plugin/test_parser.rb.erb
791
+ - templates/new_gem/test/plugin/test_storage.rb.erb
788
792
  - templates/plugin_config_formatter/param.md-compact.erb
789
793
  - templates/plugin_config_formatter/param.md-table.erb
790
794
  - templates/plugin_config_formatter/param.md.erb
@@ -792,6 +796,7 @@ files:
792
796
  - test/command/test_binlog_reader.rb
793
797
  - test/command/test_ca_generate.rb
794
798
  - test/command/test_cap_ctl.rb
799
+ - test/command/test_cat.rb
795
800
  - test/command/test_ctl.rb
796
801
  - test/command/test_fluentd.rb
797
802
  - test/command/test_plugin_config_formatter.rb
@@ -988,6 +993,7 @@ files:
988
993
  - test/test_match.rb
989
994
  - test/test_mixin.rb
990
995
  - test/test_msgpack_factory.rb
996
+ - test/test_oj_options.rb
991
997
  - test/test_output.rb
992
998
  - test/test_plugin.rb
993
999
  - test/test_plugin_classes.rb
@@ -1022,7 +1028,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1022
1028
  - !ruby/object:Gem::Version
1023
1029
  version: '0'
1024
1030
  requirements: []
1025
- rubygems_version: 3.2.5
1031
+ rubygems_version: 3.1.6
1026
1032
  signing_key:
1027
1033
  specification_version: 4
1028
1034
  summary: Fluentd event collector
@@ -1030,6 +1036,7 @@ test_files:
1030
1036
  - test/command/test_binlog_reader.rb
1031
1037
  - test/command/test_ca_generate.rb
1032
1038
  - test/command/test_cap_ctl.rb
1039
+ - test/command/test_cat.rb
1033
1040
  - test/command/test_ctl.rb
1034
1041
  - test/command/test_fluentd.rb
1035
1042
  - test/command/test_plugin_config_formatter.rb
@@ -1226,6 +1233,7 @@ test_files:
1226
1233
  - test/test_match.rb
1227
1234
  - test/test_mixin.rb
1228
1235
  - test/test_msgpack_factory.rb
1236
+ - test/test_oj_options.rb
1229
1237
  - test/test_output.rb
1230
1238
  - test/test_plugin.rb
1231
1239
  - test/test_plugin_classes.rb
@@ -1,40 +0,0 @@
1
- ---
2
- name: Bug Report
3
- about: Create a report with a procedure for reproducing the bug
4
-
5
- ---
6
-
7
- Check [CONTRIBUTING guideline](https://github.com/fluent/fluentd/blob/master/CONTRIBUTING.md) first and here is the list to help us investigate the problem.
8
-
9
- **Describe the bug**
10
- <!-- A clear and concise description of what the bug is. -->
11
-
12
- **To Reproduce**
13
- <!-- Steps to reproduce the behavior: -->
14
-
15
- **Expected behavior**
16
- <!-- A clear and concise description of what you expected to happen. -->
17
-
18
- **Your Environment**
19
-
20
- - Fluentd or td-agent version: `fluentd --version` or `td-agent --version`
21
- - Operating system: `cat /etc/os-release`
22
- - Kernel version: `uname -r`
23
-
24
- If you hit the problem with older fluentd version, try latest version first.
25
-
26
- **Your Configuration**
27
-
28
- ```
29
- <!-- Write your configuration here -->
30
- ```
31
-
32
- **Your Error Log**
33
-
34
- ```
35
- <!-- Write your **ALL** error log here -->
36
- ```
37
-
38
- **Additional context**
39
-
40
- <!-- Add any other context about the problem here. -->