fluentd 1.12.2 → 1.13.2
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.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.yaml +69 -0
- data/.github/ISSUE_TEMPLATE/feature_request.yaml +38 -0
- data/.github/workflows/linux-test.yaml +1 -1
- data/.github/workflows/windows-test.yaml +19 -3
- data/.gitlab-ci.yml +19 -19
- data/CHANGELOG.md +153 -0
- data/CONTRIBUTING.md +2 -2
- data/MAINTAINERS.md +1 -1
- data/README.md +8 -5
- data/bin/fluentd +8 -1
- data/example/counter.conf +1 -1
- data/fluentd.gemspec +4 -3
- data/lib/fluent/command/cat.rb +19 -3
- data/lib/fluent/command/fluentd.rb +1 -2
- data/lib/fluent/command/plugin_generator.rb +42 -2
- data/lib/fluent/config.rb +1 -1
- data/lib/fluent/config/section.rb +5 -0
- data/lib/fluent/config/types.rb +15 -0
- data/lib/fluent/config/v1_parser.rb +3 -2
- data/lib/fluent/env.rb +2 -1
- data/lib/fluent/log.rb +1 -0
- data/lib/fluent/oj_options.rb +62 -0
- data/lib/fluent/plugin/file_wrapper.rb +49 -4
- data/lib/fluent/plugin/formatter.rb +1 -0
- data/lib/fluent/plugin/formatter_json.rb +9 -7
- data/lib/fluent/plugin/in_http.rb +10 -0
- data/lib/fluent/plugin/in_tail.rb +150 -39
- data/lib/fluent/plugin/in_tail/position_file.rb +15 -1
- data/lib/fluent/plugin/out_forward.rb +14 -33
- data/lib/fluent/plugin/output.rb +11 -9
- data/lib/fluent/plugin/parser_csv.rb +2 -2
- data/lib/fluent/plugin/parser_json.rb +2 -3
- data/lib/fluent/plugin/parser_syslog.rb +2 -2
- data/lib/fluent/plugin/service_discovery.rb +0 -15
- data/lib/fluent/plugin/storage_local.rb +1 -1
- data/lib/fluent/plugin_helper/http_server/router.rb +1 -1
- data/lib/fluent/plugin_helper/server.rb +4 -2
- data/lib/fluent/plugin_helper/service_discovery.rb +39 -1
- data/lib/fluent/plugin_helper/service_discovery/manager.rb +11 -5
- data/lib/fluent/plugin_helper/socket_option.rb +2 -2
- data/lib/fluent/supervisor.rb +15 -0
- data/lib/fluent/system_config.rb +14 -0
- data/lib/fluent/test/driver/storage.rb +30 -0
- data/lib/fluent/version.rb +1 -1
- data/templates/new_gem/fluent-plugin.gemspec.erb +3 -3
- data/templates/new_gem/lib/fluent/plugin/storage.rb.erb +40 -0
- data/templates/new_gem/test/plugin/test_storage.rb.erb +18 -0
- data/test/command/test_cat.rb +99 -0
- data/test/command/test_plugin_generator.rb +2 -1
- data/test/config/test_section.rb +9 -0
- data/test/config/test_system_config.rb +46 -0
- data/test/config/test_types.rb +7 -0
- data/test/plugin/in_tail/test_io_handler.rb +4 -4
- data/test/plugin/in_tail/test_position_file.rb +54 -0
- data/test/plugin/out_forward/test_connection_manager.rb +0 -6
- data/test/plugin/test_file_wrapper.rb +115 -0
- data/test/plugin/test_in_forward.rb +59 -83
- data/test/plugin/test_in_http.rb +58 -40
- data/test/plugin/test_in_syslog.rb +66 -56
- data/test/plugin/test_in_tail.rb +329 -10
- data/test/plugin/test_in_tcp.rb +45 -32
- data/test/plugin/test_in_udp.rb +47 -33
- data/test/plugin/test_out_forward.rb +138 -105
- data/test/plugin/test_out_stream.rb +18 -8
- data/test/plugin/test_output.rb +15 -3
- data/test/plugin/test_output_as_buffered_backup.rb +2 -0
- data/test/plugin/test_parser_csv.rb +14 -0
- data/test/plugin/test_parser_syslog.rb +14 -0
- data/test/plugin_helper/http_server/test_route.rb +1 -1
- data/test/plugin_helper/service_discovery/test_manager.rb +1 -1
- data/test/plugin_helper/test_child_process.rb +1 -1
- data/test/plugin_helper/test_http_server_helper.rb +34 -27
- data/test/plugin_helper/test_server.rb +144 -139
- data/test/plugin_helper/test_service_discovery.rb +74 -14
- data/test/plugin_helper/test_socket.rb +16 -9
- data/test/test_config.rb +2 -1
- data/test/test_event_time.rb +2 -2
- data/test/test_oj_options.rb +55 -0
- data/test/test_output.rb +2 -2
- data/test/test_supervisor.rb +35 -0
- metadata +19 -9
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
- 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 '
|
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 '
|
59
|
-
d = @d =
|
76
|
+
test 'start discovery manager' do
|
77
|
+
d = @d = DummyPlugin.new
|
60
78
|
|
61
|
-
|
62
|
-
|
63
|
-
|
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 =
|
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.
|
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(:
|
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.
|
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
|
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',
|
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',
|
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',
|
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',
|
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)
|
data/test/test_event_time.rb
CHANGED
@@ -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/
|
68
|
-
|
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
|
data/test/test_output.rb
CHANGED
@@ -117,7 +117,7 @@ module FluentOutputTest
|
|
117
117
|
end
|
118
118
|
|
119
119
|
mock(d.instance.log).warn("Use different plugin for secondary. Check the plugin works with primary like secondary_file",
|
120
|
-
|
120
|
+
primary: d.instance.class.to_s, secondary: "Fluent::Plugin::Test2Output")
|
121
121
|
d.configure(CONFIG + %[
|
122
122
|
<secondary>
|
123
123
|
type test2
|
@@ -133,7 +133,7 @@ module FluentOutputTest
|
|
133
133
|
d = Fluent::Test::BufferedOutputTestDriver.new(Fluent::ObjectBufferedOutput)
|
134
134
|
|
135
135
|
mock(d.instance.log).warn("Use different plugin for secondary. Check the plugin works with primary like secondary_file",
|
136
|
-
|
136
|
+
primary: d.instance.class.to_s, secondary: "Fluent::Plugin::Test2Output").never
|
137
137
|
d.configure(CONFIG + %[
|
138
138
|
<secondary>
|
139
139
|
type test2
|
data/test/test_supervisor.rb
CHANGED
@@ -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.
|
4
|
+
version: 1.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sadayuki Furuhashi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-12 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.
|
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.
|
120
|
+
version: 0.8.0
|
121
121
|
- !ruby/object:Gem::Dependency
|
122
122
|
name: sigdump
|
123
123
|
requirement: !ruby/object:Gem::Requirement
|
@@ -268,14 +268,14 @@ dependencies:
|
|
268
268
|
requirements:
|
269
269
|
- - "~>"
|
270
270
|
- !ruby/object:Gem::Version
|
271
|
-
version: '
|
271
|
+
version: '3.0'
|
272
272
|
type: :development
|
273
273
|
prerelease: false
|
274
274
|
version_requirements: !ruby/object:Gem::Requirement
|
275
275
|
requirements:
|
276
276
|
- - "~>"
|
277
277
|
- !ruby/object:Gem::Version
|
278
|
-
version: '
|
278
|
+
version: '3.0'
|
279
279
|
- !ruby/object:Gem::Dependency
|
280
280
|
name: timecop
|
281
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -373,9 +373,9 @@ files:
|
|
373
373
|
- ".deepsource.toml"
|
374
374
|
- ".drone.yml"
|
375
375
|
- ".github/ISSUE_TEMPLATE.md"
|
376
|
-
- ".github/ISSUE_TEMPLATE/bug_report.
|
376
|
+
- ".github/ISSUE_TEMPLATE/bug_report.yaml"
|
377
377
|
- ".github/ISSUE_TEMPLATE/config.yml"
|
378
|
-
- ".github/ISSUE_TEMPLATE/feature_request.
|
378
|
+
- ".github/ISSUE_TEMPLATE/feature_request.yaml"
|
379
379
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
380
380
|
- ".github/workflows/issue-auto-closer.yml"
|
381
381
|
- ".github/workflows/linux-test.yaml"
|
@@ -519,6 +519,7 @@ files:
|
|
519
519
|
- lib/fluent/match.rb
|
520
520
|
- lib/fluent/mixin.rb
|
521
521
|
- lib/fluent/msgpack_factory.rb
|
522
|
+
- lib/fluent/oj_options.rb
|
522
523
|
- lib/fluent/output.rb
|
523
524
|
- lib/fluent/output_chain.rb
|
524
525
|
- lib/fluent/parser.rb
|
@@ -664,6 +665,7 @@ files:
|
|
664
665
|
- lib/fluent/test/driver/multi_output.rb
|
665
666
|
- lib/fluent/test/driver/output.rb
|
666
667
|
- lib/fluent/test/driver/parser.rb
|
668
|
+
- lib/fluent/test/driver/storage.rb
|
667
669
|
- lib/fluent/test/driver/test_event_router.rb
|
668
670
|
- lib/fluent/test/filter_test.rb
|
669
671
|
- lib/fluent/test/formatter_test.rb
|
@@ -689,12 +691,14 @@ files:
|
|
689
691
|
- templates/new_gem/lib/fluent/plugin/input.rb.erb
|
690
692
|
- templates/new_gem/lib/fluent/plugin/output.rb.erb
|
691
693
|
- templates/new_gem/lib/fluent/plugin/parser.rb.erb
|
694
|
+
- templates/new_gem/lib/fluent/plugin/storage.rb.erb
|
692
695
|
- templates/new_gem/test/helper.rb.erb
|
693
696
|
- templates/new_gem/test/plugin/test_filter.rb.erb
|
694
697
|
- templates/new_gem/test/plugin/test_formatter.rb.erb
|
695
698
|
- templates/new_gem/test/plugin/test_input.rb.erb
|
696
699
|
- templates/new_gem/test/plugin/test_output.rb.erb
|
697
700
|
- templates/new_gem/test/plugin/test_parser.rb.erb
|
701
|
+
- templates/new_gem/test/plugin/test_storage.rb.erb
|
698
702
|
- templates/plugin_config_formatter/param.md-compact.erb
|
699
703
|
- templates/plugin_config_formatter/param.md-table.erb
|
700
704
|
- templates/plugin_config_formatter/param.md.erb
|
@@ -702,6 +706,7 @@ files:
|
|
702
706
|
- test/command/test_binlog_reader.rb
|
703
707
|
- test/command/test_ca_generate.rb
|
704
708
|
- test/command/test_cap_ctl.rb
|
709
|
+
- test/command/test_cat.rb
|
705
710
|
- test/command/test_ctl.rb
|
706
711
|
- test/command/test_fluentd.rb
|
707
712
|
- test/command/test_plugin_config_formatter.rb
|
@@ -760,6 +765,7 @@ files:
|
|
760
765
|
- test/plugin/test_buffer_memory_chunk.rb
|
761
766
|
- test/plugin/test_compressable.rb
|
762
767
|
- test/plugin/test_file_util.rb
|
768
|
+
- test/plugin/test_file_wrapper.rb
|
763
769
|
- test/plugin/test_filter.rb
|
764
770
|
- test/plugin/test_filter_grep.rb
|
765
771
|
- test/plugin/test_filter_parser.rb
|
@@ -897,6 +903,7 @@ files:
|
|
897
903
|
- test/test_match.rb
|
898
904
|
- test/test_mixin.rb
|
899
905
|
- test/test_msgpack_factory.rb
|
906
|
+
- test/test_oj_options.rb
|
900
907
|
- test/test_output.rb
|
901
908
|
- test/test_plugin.rb
|
902
909
|
- test/test_plugin_classes.rb
|
@@ -931,7 +938,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
931
938
|
- !ruby/object:Gem::Version
|
932
939
|
version: '0'
|
933
940
|
requirements: []
|
934
|
-
rubygems_version: 3.
|
941
|
+
rubygems_version: 3.1.6
|
935
942
|
signing_key:
|
936
943
|
specification_version: 4
|
937
944
|
summary: Fluentd event collector
|
@@ -939,6 +946,7 @@ test_files:
|
|
939
946
|
- test/command/test_binlog_reader.rb
|
940
947
|
- test/command/test_ca_generate.rb
|
941
948
|
- test/command/test_cap_ctl.rb
|
949
|
+
- test/command/test_cat.rb
|
942
950
|
- test/command/test_ctl.rb
|
943
951
|
- test/command/test_fluentd.rb
|
944
952
|
- test/command/test_plugin_config_formatter.rb
|
@@ -997,6 +1005,7 @@ test_files:
|
|
997
1005
|
- test/plugin/test_buffer_memory_chunk.rb
|
998
1006
|
- test/plugin/test_compressable.rb
|
999
1007
|
- test/plugin/test_file_util.rb
|
1008
|
+
- test/plugin/test_file_wrapper.rb
|
1000
1009
|
- test/plugin/test_filter.rb
|
1001
1010
|
- test/plugin/test_filter_grep.rb
|
1002
1011
|
- test/plugin/test_filter_parser.rb
|
@@ -1134,6 +1143,7 @@ test_files:
|
|
1134
1143
|
- test/test_match.rb
|
1135
1144
|
- test/test_mixin.rb
|
1136
1145
|
- test/test_msgpack_factory.rb
|
1146
|
+
- test/test_oj_options.rb
|
1137
1147
|
- test/test_output.rb
|
1138
1148
|
- test/test_plugin.rb
|
1139
1149
|
- test/test_plugin_classes.rb
|