fluent-plugin-wodby 0.2.2 → 0.3.1
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/.github/workflows/gem-push.yml +2 -2
- data/Makefile +2 -2
- data/README.md +4 -3
- data/fluent-plugin-wodby.gemspec +2 -2
- data/lib/fluent/plugin/filter_wodby.rb +15 -8
- data/test/plugin/test_filter_wodby.rb +15 -12
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45c8c562d96d1ccf43a9ec81aa7771ac8fd05ed071282119c62581ae4d45f5db
|
4
|
+
data.tar.gz: 43e377e23fe30e3af5df48ee6f3c144278339b3c5c18d662705e09ee9e50ce2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1f702cfa38258a6a4cacafbe33d94e4fd9dc3bac2334b8ca7eff3ce5f7e1a9622a76533019f1f69b5da8b2abba8a7e33c2912a9963c8eb399467217dc367eee
|
7
|
+
data.tar.gz: 2b42ea373f5daebc31f7fac557d6d45f9939bc93ceb0dd8c3e0e50e127aa17431345a80639d9b07719d1f88c59045fa01d1958f7a8649f63d18b206ff50ce98e
|
data/Makefile
CHANGED
@@ -2,8 +2,8 @@ PWD=$(shell pwd)
|
|
2
2
|
|
3
3
|
.PHONY: docker-test
|
4
4
|
docker-test:
|
5
|
-
docker run --rm -it -v $(PWD):/build -e WODBY_API_KEY=${WODBY_API_KEY} ruby /bin/bash -c "cd build && bundle install && bundle exec rake test"
|
5
|
+
docker run --rm -it -v $(PWD):/build -e WODBY_API_KEY=${WODBY_API_KEY} ruby:3.3 /bin/bash -c "cd build && bundle install && bundle exec rake test"
|
6
6
|
|
7
7
|
.PHONY: docker-tester
|
8
8
|
docker-tester:
|
9
|
-
docker run --rm -it -v $(PWD):/build -e WODBY_API_KEY=${WODBY_API_KEY} ruby /bin/bash
|
9
|
+
docker run --rm -it -v $(PWD):/build -e WODBY_API_KEY=${WODBY_API_KEY} ruby:3.3 /bin/bash
|
data/README.md
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# fluent-plugin-wodby
|
2
2
|
|
3
|
-
[Fluentd](https://fluentd.org/) filter plugin to
|
3
|
+
[Fluentd](https://fluentd.org/) filter plugin to enrich logging data with Wodby instance information.
|
4
4
|
|
5
|
-
|
5
|
+
This plugin will query the [Wodby](https://wodby.com) API to retrieve information about the
|
6
|
+
Wodby instance producing the logs.
|
6
7
|
|
7
8
|
## Installation
|
8
9
|
|
@@ -38,6 +39,6 @@ You can copy and paste generated documents here.
|
|
38
39
|
|
39
40
|
## Copyright
|
40
41
|
|
41
|
-
* Copyright(c) 2022-
|
42
|
+
* Copyright(c) 2022-2024: Ramsalt Lab
|
42
43
|
* License
|
43
44
|
* Apache License, Version 2.0
|
data/fluent-plugin-wodby.gemspec
CHANGED
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |spec|
|
5
5
|
spec.name = "fluent-plugin-wodby"
|
6
|
-
spec.version = "0.
|
6
|
+
spec.version = "0.3.1"
|
7
7
|
spec.authors = ["Robert Wunderer"]
|
8
8
|
spec.email = ["robert@ramsalt.com"]
|
9
9
|
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.test_files = test_files
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
-
spec.add_development_dependency "bundler", "~> 2.
|
22
|
+
spec.add_development_dependency "bundler", "~> 2.5.0"
|
23
23
|
spec.add_development_dependency "rake", "~> 13.0.6"
|
24
24
|
spec.add_development_dependency "test-unit", "~> 3.5.3"
|
25
25
|
spec.add_runtime_dependency "fluentd", [">= 0.14.10", "< 2"]
|
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# Copyright 2022-
|
2
|
+
# Copyright 2022-2024: Ramsalt Lab
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
5
|
# you may not use this file except in compliance with the License.
|
@@ -32,12 +32,19 @@ module Fluent
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def filter(tag, time, record)
|
35
|
-
record['wodby
|
35
|
+
record['wodby'] = {
|
36
|
+
'filter' => true
|
37
|
+
}
|
38
|
+
|
39
|
+
if record.has_key?('wodby.node_name')
|
40
|
+
record['wodby']['node_name'] = record['wodby.node_name']
|
41
|
+
record.delete('wodby.node_name')
|
42
|
+
end
|
36
43
|
|
37
44
|
if record.has_key?('kubernetes') && record['kubernetes'].has_key?('namespace_name')
|
38
45
|
namespace = record['kubernetes']['namespace_name']
|
39
46
|
unless @instance_map.has_key?(namespace)
|
40
|
-
record['wodby
|
47
|
+
record['wodby']['instance_query'] = namespace
|
41
48
|
instance = get_instance(namespace)
|
42
49
|
app = get_app(instance['app_id'])
|
43
50
|
org = get_org(app['org_id'])
|
@@ -51,11 +58,11 @@ module Fluent
|
|
51
58
|
}
|
52
59
|
end
|
53
60
|
|
54
|
-
record['wodby
|
55
|
-
record['wodby
|
56
|
-
record['wodby
|
57
|
-
record['wodby
|
58
|
-
record['wodby
|
61
|
+
record['wodby']['instance'] = @instance_map[namespace]['name']
|
62
|
+
record['wodby']['instance_title'] = @instance_map[namespace]['title']
|
63
|
+
record['wodby']['instance_type'] = @instance_map[namespace]['type']
|
64
|
+
record['wodby']['organization'] = @instance_map[namespace]['organization']
|
65
|
+
record['wodby']['organization_title'] = @instance_map[namespace]['organization_title']
|
59
66
|
else
|
60
67
|
log.info "No namespace found"
|
61
68
|
log.info record
|
@@ -16,20 +16,23 @@ class WodbyFilterTest < Test::Unit::TestCase
|
|
16
16
|
d = create_driver("api_key #{ENV['WODBY_API_KEY']}")
|
17
17
|
time = event_time
|
18
18
|
d.run do
|
19
|
-
d.feed('filter.test', time, { 'kubernetes' => {'namespace_name' => '650241f4-7303-4668-91c7-b8cd1821d81a'}, 'message' => 'hullo' })
|
20
|
-
d.feed('filter.test', time, { 'kubernetes' => {'namespace_name' => '
|
21
|
-
d.feed('filter.test', time, { 'kubernetes' => {'namespace_name' => '650241f4-7303-4668-91c7-b8cd1821d81a'}, 'message' => 'hullo' })
|
19
|
+
d.feed('filter.test', time, { 'kubernetes' => {'namespace_name' => '650241f4-7303-4668-91c7-b8cd1821d81a'}, 'message' => 'hullo', 'wodby.node_name' => 'node' })
|
20
|
+
d.feed('filter.test', time, { 'kubernetes' => {'namespace_name' => '7ee5d15f-7c3c-4ce8-873e-34b75154f0f4'}, 'message' => 'hullo', 'wodby.node_name' => 'node' })
|
21
|
+
d.feed('filter.test', time, { 'kubernetes' => {'namespace_name' => '650241f4-7303-4668-91c7-b8cd1821d81a'}, 'message' => 'hullo', 'wodby.node_name' => 'node' })
|
22
22
|
end
|
23
23
|
|
24
24
|
assert_equal(3, d.filtered_records.size)
|
25
|
-
assert_equal('dfono.staging', d.filtered_records[0]['wodby
|
26
|
-
assert_equal('dfono.prod', d.filtered_records[1]['wodby
|
27
|
-
assert_equal('dfono.staging', d.filtered_records[2]['wodby
|
28
|
-
assert_equal('dfo.no - Staging', d.filtered_records[0]['wodby
|
29
|
-
assert_equal('dfo.no - Prod', d.filtered_records[1]['wodby
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
25
|
+
assert_equal('dfono.staging', d.filtered_records[0]['wodby']['instance'])
|
26
|
+
assert_equal('dfono.prod', d.filtered_records[1]['wodby']['instance'])
|
27
|
+
assert_equal('dfono.staging', d.filtered_records[2]['wodby']['instance'])
|
28
|
+
assert_equal('dfo.no - Staging', d.filtered_records[0]['wodby']['instance_title'])
|
29
|
+
assert_equal('dfo.no - Prod', d.filtered_records[1]['wodby']['instance_title'])
|
30
|
+
assert_equal('node', d.filtered_records[0]['wodby']['node_name'])
|
31
|
+
assert_equal('node', d.filtered_records[1]['wodby']['node_name'])
|
32
|
+
assert_nil(d.filtered_records[2]['wodby']['instance_query'])
|
33
|
+
assert_nil(d.filtered_records[2]['wodby.node_name'])
|
34
|
+
assert_true(d.filtered_records[0]['wodby']['filter'])
|
35
|
+
assert_true(d.filtered_records[1]['wodby']['filter'])
|
36
|
+
assert_true(d.filtered_records[2]['wodby']['filter'])
|
34
37
|
end
|
35
38
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-wodby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Wunderer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.5.0
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.5.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
requirements: []
|
140
|
-
rubygems_version: 3.
|
140
|
+
rubygems_version: 3.5.22
|
141
141
|
signing_key:
|
142
142
|
specification_version: 4
|
143
143
|
summary: Tranlates Wodbys instance UUIDs into instance names
|