fluent-plugin-append-kubernetes-labels-to-tag 0.0.3.pre.alpha3 → 0.0.3.pre.alpha4
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a249caaac4cfdb18967da12ca6c06c6d2a004a19
|
4
|
+
data.tar.gz: d5fc95c762a017acbe9bd269c88d91a96c14a43c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fea9ea5bf4ff07eb244eb34c986773d600025eb4c080172deac72967a21e7f101ec310c9ce388c1c41dc8d7a5b872d30c47afb9185a560ac0075072224098da5
|
7
|
+
data.tar.gz: b2af080c8d4c7745fa2c32fd40f00106d5beadf0281f7035cdc0eb8161b0b04bc6d7116bca4f74958484c70e0393b715b540c362e6d5e039cdbf95c4f4c4fae6
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |gem|
|
6
6
|
gem.name = "fluent-plugin-append-kubernetes-labels-to-tag"
|
7
|
-
gem.version = "0.0.3-
|
7
|
+
gem.version = "0.0.3-alpha4"
|
8
8
|
gem.authors = ["Redbubble Delivery Engineering Team"]
|
9
9
|
gem.email = ["delivery-engineers@redbubble.com"]
|
10
10
|
gem.description = %q{Filter plugin to append certain Kubernetes labels to the Fluentd tag}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'fluent/output'
|
2
|
+
require_relative '../../kubernetes_labels_tag_appender.rb'
|
2
3
|
|
3
4
|
module Fluent
|
4
5
|
class Fluent::AppendKubernetesLabelsToTag < Fluent::Output
|
@@ -14,41 +15,20 @@ module Fluent
|
|
14
15
|
|
15
16
|
def emit(tag, es, chain)
|
16
17
|
es.each do |time, record|
|
17
|
-
|
18
|
-
events(tag, time, record).each do |(tag, time, record)|
|
18
|
+
kubernetes_labels_tag_appender.events(tag, time, record).each do |(tag, time, record)|
|
19
19
|
router.emit(tag, time, record)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
23
|
chain.next
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
rescue
|
25
|
+
log.error "Failed to re-format docker record #{record}"
|
26
|
+
# this seems to be a way to safely swallow records we don't know how to format
|
27
|
+
""
|
28
28
|
end
|
29
29
|
|
30
30
|
private
|
31
31
|
|
32
|
-
def events(tag, time, record)
|
33
|
-
[
|
34
|
-
event(tag, time, record)
|
35
|
-
]
|
36
|
-
end
|
37
|
-
|
38
|
-
def event(tag, time, record)
|
39
|
-
new_tag = if record.has_key?('kubernetes') && record['kubernetes'].has_key?('labels')
|
40
|
-
kubernetes_labels_tag_appender.append(tag, record['kubernetes']['labels'])
|
41
|
-
else
|
42
|
-
tag
|
43
|
-
end
|
44
|
-
|
45
|
-
[
|
46
|
-
new_tag,
|
47
|
-
time,
|
48
|
-
record
|
49
|
-
]
|
50
|
-
end
|
51
|
-
|
52
32
|
def kubernetes_labels_tag_appender
|
53
33
|
@kubernetes_labels_tag_appender ||= KubernetesLabelsTagAppender.new(@labels)
|
54
34
|
end
|
@@ -5,6 +5,28 @@ class KubernetesLabelsTagAppender
|
|
5
5
|
@labels = labels
|
6
6
|
end
|
7
7
|
|
8
|
+
def events(tag, time, record)
|
9
|
+
[
|
10
|
+
event(tag, time, record)
|
11
|
+
]
|
12
|
+
end
|
13
|
+
|
14
|
+
def event(tag, time, record)
|
15
|
+
new_tag = if record.has_key?('kubernetes') && record['kubernetes'].has_key?('labels')
|
16
|
+
append(tag, record['kubernetes']['labels'])
|
17
|
+
else
|
18
|
+
tag
|
19
|
+
end
|
20
|
+
|
21
|
+
[
|
22
|
+
new_tag,
|
23
|
+
time,
|
24
|
+
record
|
25
|
+
]
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
8
30
|
def append(tag, data)
|
9
31
|
@labels.reduce(tag) { |t, l| "#{t}.#{l}=#{data[l]}" }
|
10
32
|
end
|
metadata
CHANGED