fluentd 1.12.2-x64-mingw32 → 1.13.2-x64-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.
- 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 +41 -11
- 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: x64-mingw32
|
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
|
@@ -206,20 +206,40 @@ dependencies:
|
|
206
206
|
- - "<"
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: 1.8.0
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: win32-api
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '1.10'
|
216
|
+
- - "<"
|
217
|
+
- !ruby/object:Gem::Version
|
218
|
+
version: 2.0.0
|
219
|
+
type: :runtime
|
220
|
+
prerelease: false
|
221
|
+
version_requirements: !ruby/object:Gem::Requirement
|
222
|
+
requirements:
|
223
|
+
- - ">="
|
224
|
+
- !ruby/object:Gem::Version
|
225
|
+
version: '1.10'
|
226
|
+
- - "<"
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: 2.0.0
|
209
229
|
- !ruby/object:Gem::Dependency
|
210
230
|
name: win32-service
|
211
231
|
requirement: !ruby/object:Gem::Requirement
|
212
232
|
requirements:
|
213
233
|
- - "~>"
|
214
234
|
- !ruby/object:Gem::Version
|
215
|
-
version: 2.
|
235
|
+
version: 2.2.0
|
216
236
|
type: :runtime
|
217
237
|
prerelease: false
|
218
238
|
version_requirements: !ruby/object:Gem::Requirement
|
219
239
|
requirements:
|
220
240
|
- - "~>"
|
221
241
|
- !ruby/object:Gem::Version
|
222
|
-
version: 2.
|
242
|
+
version: 2.2.0
|
223
243
|
- !ruby/object:Gem::Dependency
|
224
244
|
name: win32-ipc
|
225
245
|
requirement: !ruby/object:Gem::Requirement
|
@@ -338,14 +358,14 @@ dependencies:
|
|
338
358
|
requirements:
|
339
359
|
- - "~>"
|
340
360
|
- !ruby/object:Gem::Version
|
341
|
-
version: '
|
361
|
+
version: '3.0'
|
342
362
|
type: :development
|
343
363
|
prerelease: false
|
344
364
|
version_requirements: !ruby/object:Gem::Requirement
|
345
365
|
requirements:
|
346
366
|
- - "~>"
|
347
367
|
- !ruby/object:Gem::Version
|
348
|
-
version: '
|
368
|
+
version: '3.0'
|
349
369
|
- !ruby/object:Gem::Dependency
|
350
370
|
name: timecop
|
351
371
|
requirement: !ruby/object:Gem::Requirement
|
@@ -443,9 +463,9 @@ files:
|
|
443
463
|
- ".deepsource.toml"
|
444
464
|
- ".drone.yml"
|
445
465
|
- ".github/ISSUE_TEMPLATE.md"
|
446
|
-
- ".github/ISSUE_TEMPLATE/bug_report.
|
466
|
+
- ".github/ISSUE_TEMPLATE/bug_report.yaml"
|
447
467
|
- ".github/ISSUE_TEMPLATE/config.yml"
|
448
|
-
- ".github/ISSUE_TEMPLATE/feature_request.
|
468
|
+
- ".github/ISSUE_TEMPLATE/feature_request.yaml"
|
449
469
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
450
470
|
- ".github/workflows/issue-auto-closer.yml"
|
451
471
|
- ".github/workflows/linux-test.yaml"
|
@@ -589,6 +609,7 @@ files:
|
|
589
609
|
- lib/fluent/match.rb
|
590
610
|
- lib/fluent/mixin.rb
|
591
611
|
- lib/fluent/msgpack_factory.rb
|
612
|
+
- lib/fluent/oj_options.rb
|
592
613
|
- lib/fluent/output.rb
|
593
614
|
- lib/fluent/output_chain.rb
|
594
615
|
- lib/fluent/parser.rb
|
@@ -734,6 +755,7 @@ files:
|
|
734
755
|
- lib/fluent/test/driver/multi_output.rb
|
735
756
|
- lib/fluent/test/driver/output.rb
|
736
757
|
- lib/fluent/test/driver/parser.rb
|
758
|
+
- lib/fluent/test/driver/storage.rb
|
737
759
|
- lib/fluent/test/driver/test_event_router.rb
|
738
760
|
- lib/fluent/test/filter_test.rb
|
739
761
|
- lib/fluent/test/formatter_test.rb
|
@@ -759,12 +781,14 @@ files:
|
|
759
781
|
- templates/new_gem/lib/fluent/plugin/input.rb.erb
|
760
782
|
- templates/new_gem/lib/fluent/plugin/output.rb.erb
|
761
783
|
- templates/new_gem/lib/fluent/plugin/parser.rb.erb
|
784
|
+
- templates/new_gem/lib/fluent/plugin/storage.rb.erb
|
762
785
|
- templates/new_gem/test/helper.rb.erb
|
763
786
|
- templates/new_gem/test/plugin/test_filter.rb.erb
|
764
787
|
- templates/new_gem/test/plugin/test_formatter.rb.erb
|
765
788
|
- templates/new_gem/test/plugin/test_input.rb.erb
|
766
789
|
- templates/new_gem/test/plugin/test_output.rb.erb
|
767
790
|
- templates/new_gem/test/plugin/test_parser.rb.erb
|
791
|
+
- templates/new_gem/test/plugin/test_storage.rb.erb
|
768
792
|
- templates/plugin_config_formatter/param.md-compact.erb
|
769
793
|
- templates/plugin_config_formatter/param.md-table.erb
|
770
794
|
- templates/plugin_config_formatter/param.md.erb
|
@@ -772,6 +796,7 @@ files:
|
|
772
796
|
- test/command/test_binlog_reader.rb
|
773
797
|
- test/command/test_ca_generate.rb
|
774
798
|
- test/command/test_cap_ctl.rb
|
799
|
+
- test/command/test_cat.rb
|
775
800
|
- test/command/test_ctl.rb
|
776
801
|
- test/command/test_fluentd.rb
|
777
802
|
- test/command/test_plugin_config_formatter.rb
|
@@ -830,6 +855,7 @@ files:
|
|
830
855
|
- test/plugin/test_buffer_memory_chunk.rb
|
831
856
|
- test/plugin/test_compressable.rb
|
832
857
|
- test/plugin/test_file_util.rb
|
858
|
+
- test/plugin/test_file_wrapper.rb
|
833
859
|
- test/plugin/test_filter.rb
|
834
860
|
- test/plugin/test_filter_grep.rb
|
835
861
|
- test/plugin/test_filter_parser.rb
|
@@ -967,6 +993,7 @@ files:
|
|
967
993
|
- test/test_match.rb
|
968
994
|
- test/test_mixin.rb
|
969
995
|
- test/test_msgpack_factory.rb
|
996
|
+
- test/test_oj_options.rb
|
970
997
|
- test/test_output.rb
|
971
998
|
- test/test_plugin.rb
|
972
999
|
- test/test_plugin_classes.rb
|
@@ -1001,7 +1028,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1001
1028
|
- !ruby/object:Gem::Version
|
1002
1029
|
version: '0'
|
1003
1030
|
requirements: []
|
1004
|
-
rubygems_version: 3.
|
1031
|
+
rubygems_version: 3.1.6
|
1005
1032
|
signing_key:
|
1006
1033
|
specification_version: 4
|
1007
1034
|
summary: Fluentd event collector
|
@@ -1009,6 +1036,7 @@ test_files:
|
|
1009
1036
|
- test/command/test_binlog_reader.rb
|
1010
1037
|
- test/command/test_ca_generate.rb
|
1011
1038
|
- test/command/test_cap_ctl.rb
|
1039
|
+
- test/command/test_cat.rb
|
1012
1040
|
- test/command/test_ctl.rb
|
1013
1041
|
- test/command/test_fluentd.rb
|
1014
1042
|
- test/command/test_plugin_config_formatter.rb
|
@@ -1067,6 +1095,7 @@ test_files:
|
|
1067
1095
|
- test/plugin/test_buffer_memory_chunk.rb
|
1068
1096
|
- test/plugin/test_compressable.rb
|
1069
1097
|
- test/plugin/test_file_util.rb
|
1098
|
+
- test/plugin/test_file_wrapper.rb
|
1070
1099
|
- test/plugin/test_filter.rb
|
1071
1100
|
- test/plugin/test_filter_grep.rb
|
1072
1101
|
- test/plugin/test_filter_parser.rb
|
@@ -1204,6 +1233,7 @@ test_files:
|
|
1204
1233
|
- test/test_match.rb
|
1205
1234
|
- test/test_mixin.rb
|
1206
1235
|
- test/test_msgpack_factory.rb
|
1236
|
+
- test/test_oj_options.rb
|
1207
1237
|
- test/test_output.rb
|
1208
1238
|
- test/test_plugin.rb
|
1209
1239
|
- test/test_plugin_classes.rb
|