fluent-plugin-kubernetes-objects 1.1.9 → 1.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +9 -9
- data/VERSION +1 -1
- data/lib/fluent/plugin/in_kubernetes_objects.rb +24 -14
- data/test/fluent/plugin/in_kubernetes_objects_test.rb +23 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 31c2ee4ae02b06ac69811b0df399f70ca9641a0449b6891e715363d0122a2805
|
4
|
+
data.tar.gz: 945e7c6459aa6de997e6b578f7205a839c8300c6ab598852bb656e493659e1a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c6c6197b3cfa30a9c12f53de39a49a2b9e6faa17ebb58e89999349df390422e458171d3fcb32207074b3cc3b801df619e188a4a7ef1646e2ef05c26ea26bb1a
|
7
|
+
data.tar.gz: 369e596ee739619b78f484ce4611b77726d8acb54b386da5c4f057d699a4aac71f3d47858b57a9f86c655ee10878c80463dab520247d1b556dc1be3de32ce7fd
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
fluent-plugin-kubernetes-objects (1.1.
|
4
|
+
fluent-plugin-kubernetes-objects (1.1.10)
|
5
5
|
fluentd (>= 1.9.1)
|
6
6
|
http_parser.rb (= 0.5.3)
|
7
7
|
kubeclient (~> 4.6.0)
|
@@ -18,14 +18,14 @@ GEM
|
|
18
18
|
docile (1.4.0)
|
19
19
|
domain_name (0.5.20190701)
|
20
20
|
unf (>= 0.0.5, < 1.0.0)
|
21
|
-
ffi (1.15.
|
21
|
+
ffi (1.15.5)
|
22
22
|
ffi-compiler (1.0.1)
|
23
23
|
ffi (>= 1.0.0)
|
24
24
|
rake
|
25
|
-
fluentd (1.14.
|
25
|
+
fluentd (1.14.4)
|
26
26
|
bundler
|
27
27
|
cool.io (>= 1.4.5, < 2.0.0)
|
28
|
-
http_parser.rb (>= 0.5.1, < 0.
|
28
|
+
http_parser.rb (>= 0.5.1, < 0.9.0)
|
29
29
|
msgpack (>= 1.3.1, < 2.0.0)
|
30
30
|
serverengine (>= 2.2.2, < 3.0.0)
|
31
31
|
sigdump (~> 0.2.2)
|
@@ -51,11 +51,11 @@ GEM
|
|
51
51
|
http (>= 3.0, < 5.0)
|
52
52
|
recursive-open-struct (~> 1.0, >= 1.0.4)
|
53
53
|
rest-client (~> 2.0)
|
54
|
-
mime-types (3.
|
54
|
+
mime-types (3.4.1)
|
55
55
|
mime-types-data (~> 3.2015)
|
56
|
-
mime-types-data (3.
|
56
|
+
mime-types-data (3.2022.0105)
|
57
57
|
minitest (5.14.4)
|
58
|
-
msgpack (1.4.
|
58
|
+
msgpack (1.4.4)
|
59
59
|
netrc (0.11.0)
|
60
60
|
power_assert (2.0.1)
|
61
61
|
public_suffix (4.0.6)
|
@@ -67,7 +67,7 @@ GEM
|
|
67
67
|
mime-types (>= 1.16, < 4.0)
|
68
68
|
netrc (~> 0.8)
|
69
69
|
rexml (3.2.5)
|
70
|
-
serverengine (2.2.
|
70
|
+
serverengine (2.2.5)
|
71
71
|
sigdump (~> 0.2.2)
|
72
72
|
sigdump (0.2.4)
|
73
73
|
simplecov (0.21.2)
|
@@ -106,4 +106,4 @@ DEPENDENCIES
|
|
106
106
|
webmock (~> 3.5)
|
107
107
|
|
108
108
|
BUNDLED WITH
|
109
|
-
2.
|
109
|
+
2.3.9
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.10
|
@@ -200,7 +200,12 @@ module Fluent::Plugin
|
|
200
200
|
tag = generate_tag resource_name
|
201
201
|
while thread_current_running?
|
202
202
|
log.debug "Going to pull #{resource_name}"
|
203
|
-
|
203
|
+
begin
|
204
|
+
response = @client.public_send "get_#{resource_name}", options
|
205
|
+
rescue Kubeclient::ResourceNotFoundError, NoMethodError
|
206
|
+
log.error "resource '#{resource_name}' not found. Stopped pulling it"
|
207
|
+
break
|
208
|
+
end
|
204
209
|
now = Fluent::Engine.now
|
205
210
|
es = Fluent::MultiEventStream.new
|
206
211
|
|
@@ -243,22 +248,27 @@ module Fluent::Plugin
|
|
243
248
|
|
244
249
|
thread_create :"watch_#{resource_name}" do
|
245
250
|
while thread_current_running?
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
251
|
+
begin
|
252
|
+
@client.public_send("watch_#{resource_name}", options).tap do |watcher|
|
253
|
+
tag = generate_tag "#{resource_name}"
|
254
|
+
begin
|
255
|
+
watcher.each do |entity|
|
256
|
+
begin
|
257
|
+
entity = JSON.parse(entity)
|
258
|
+
router.emit tag, Fluent::Engine.now, entity
|
259
|
+
options[:resource_version] = entity['object']['metadata']['resourceVersion']
|
260
|
+
@storage.put resource_name, entity['object']['metadata']['resourceVersion']
|
261
|
+
rescue => e
|
262
|
+
log.info "Got exception #{e} parsing entity #{entity}. Resetting watcher."
|
263
|
+
end
|
257
264
|
end
|
265
|
+
rescue => e
|
266
|
+
log.info "Got exception #{e}. Resetting watcher."
|
258
267
|
end
|
259
|
-
rescue => e
|
260
|
-
log.info "Got exception #{e}. Resetting watcher."
|
261
268
|
end
|
269
|
+
rescue Kubeclient::ResourceNotFoundError, NoMethodError
|
270
|
+
log.error "resource '#{resource_name}' not found. Stopped watching it"
|
271
|
+
break
|
262
272
|
end
|
263
273
|
end
|
264
274
|
end
|
@@ -144,5 +144,28 @@ describe Fluent::Plugin::KubernetesObjectsInput do
|
|
144
144
|
f.unlink
|
145
145
|
end
|
146
146
|
end
|
147
|
+
it "checks for invalid pull request" do
|
148
|
+
d = create_input_driver(<<~CONF)
|
149
|
+
kubernetes_url #{k8s_url}
|
150
|
+
<pull>
|
151
|
+
resource_name fakeResource
|
152
|
+
</pull>
|
153
|
+
CONF
|
154
|
+
|
155
|
+
d.run expect_emits: 0, timeout: 3
|
156
|
+
|
157
|
+
expect(d.logs.any? { |log| log.include? "resource 'fakeResource' not found." }).must_equal(true)
|
158
|
+
end
|
159
|
+
it "checks for invalid watch request" do
|
160
|
+
d = create_input_driver(<<~CONF)
|
161
|
+
kubernetes_url #{k8s_url}
|
162
|
+
<watch>
|
163
|
+
resource_name fakeResource
|
164
|
+
</watch>
|
165
|
+
CONF
|
166
|
+
|
167
|
+
d.run expect_emits: 0, timeout: 3
|
168
|
+
expect(d.logs.any? { |log| log.include? "resource 'fakeResource' not found." }).must_equal(true)
|
169
|
+
end
|
147
170
|
end
|
148
171
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-kubernetes-objects
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Splunk Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -172,12 +172,12 @@ signing_key:
|
|
172
172
|
specification_version: 4
|
173
173
|
summary: Fluentd Plugin for Kubernetes Objects.
|
174
174
|
test_files:
|
175
|
+
- test/fluent/plugin/in_kubernetes_objects_test.rb
|
175
176
|
- test/test_helper.rb
|
176
177
|
- test/lib/no_webmock/http_lib_adapters/httpclient_adapter.rb
|
177
|
-
- test/lib/no_webmock/http_lib_adapters/manticore_adapter.rb
|
178
|
-
- test/lib/no_webmock/http_lib_adapters/typhoeus_hydra_adapter.rb
|
179
|
-
- test/lib/no_webmock/http_lib_adapters/em_http_request_adapter.rb
|
180
178
|
- test/lib/no_webmock/http_lib_adapters/excon_adapter.rb
|
179
|
+
- test/lib/no_webmock/http_lib_adapters/em_http_request_adapter.rb
|
180
|
+
- test/lib/no_webmock/http_lib_adapters/typhoeus_hydra_adapter.rb
|
181
|
+
- test/lib/no_webmock/http_lib_adapters/manticore_adapter.rb
|
181
182
|
- test/lib/no_webmock/http_lib_adapters/curb_adapter.rb
|
182
183
|
- test/lib/no_webmock/http_lib_adapters/patron_adapter.rb
|
183
|
-
- test/fluent/plugin/in_kubernetes_objects_test.rb
|