fluent-plugin-k8s-metrics-agg 1.1.2 → 1.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +4 -72
- data/.circleci/trigger_func_test.sh +2 -1
- data/Gemfile.lock +39 -36
- data/Makefile +34 -0
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/docker/Dockerfile +8 -8
- data/docker/Gemfile +7 -4
- data/docker/Gemfile.lock +65 -58
- data/docker/build.sh +1 -1
- data/fluent-plugin-k8s-metrics-agg.gemspec +2 -2
- data/lib/fluent/plugin/in_kubernetes_metrics_aggregator.rb +18 -16
- metadata +11 -18
- data/.circleci/build_and_push.sh +0 -11
- data/.circleci/build_and_push_to_dockerhub.sh +0 -16
- data/.circleci/build_and_push_to_github_release.sh +0 -11
- data/.circleci/check_version_trigger_release.sh +0 -29
- data/.circleci/gem_credentials +0 -2
- data/.circleci/push_gem.sh +0 -8
- data/.circleci/push_gem_to_rubygems.sh +0 -7
- data/docker/FLUENTD_HEC_GEM_VERSION +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6641f99359ffab772e865190bfa9a79ef2b4a0595bddbf1049f0383f2747faf6
|
4
|
+
data.tar.gz: 8e8c5930de05b249fcd0b08e77400bc6a46c7647e174e6c6aa578b511b8b6505
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 474bf51f0ee79492089d59825dc7953b38291e6c756cbfdb06bf97f6e315089c3b729bf65d390c08f5c820eaeab25e9b59a21ffd5bb9ee1dab143a8e883016ab
|
7
|
+
data.tar.gz: aba203377d10978f7ba0e982d592f37218846822e60f17755defd91796f2d77fe15193a2fbd0b7f693e491425d6aaa1e9e97f9dc254a7ad3d864b72d972cb50c
|
data/.circleci/config.yml
CHANGED
@@ -41,7 +41,7 @@ jobs:
|
|
41
41
|
command: |
|
42
42
|
bundle exec rake test -t -v
|
43
43
|
|
44
|
-
|
44
|
+
func_test_main:
|
45
45
|
docker:
|
46
46
|
- image: circleci/ruby:2.6.1-node-browsers
|
47
47
|
working_directory: ~/repo
|
@@ -52,7 +52,7 @@ jobs:
|
|
52
52
|
- run:
|
53
53
|
name: trigger
|
54
54
|
command: |
|
55
|
-
.circleci/trigger_func_test.sh
|
55
|
+
.circleci/trigger_func_test.sh main
|
56
56
|
|
57
57
|
func_test_develop:
|
58
58
|
docker:
|
@@ -67,48 +67,6 @@ jobs:
|
|
67
67
|
command: |
|
68
68
|
.circleci/trigger_func_test.sh develop
|
69
69
|
|
70
|
-
release:
|
71
|
-
docker:
|
72
|
-
- image: circleci/ruby:2.6.1-node-browsers
|
73
|
-
working_directory: ~/repo
|
74
|
-
steps:
|
75
|
-
- attach_workspace:
|
76
|
-
at: /tmp
|
77
|
-
- checkout
|
78
|
-
- setup_remote_docker:
|
79
|
-
reusable: true
|
80
|
-
- run:
|
81
|
-
name: Install dependencies
|
82
|
-
command: |
|
83
|
-
.circleci/install_dep.sh
|
84
|
-
- run:
|
85
|
-
name: Build and push docker image to dockerhub
|
86
|
-
command: |
|
87
|
-
.circleci/build_and_push_to_dockerhub.sh
|
88
|
-
- run:
|
89
|
-
name: Upload gem to Github
|
90
|
-
command: |
|
91
|
-
.circleci/build_and_push_to_github_release.sh
|
92
|
-
- run:
|
93
|
-
name: Upload gem to Ruby Gem
|
94
|
-
command: |
|
95
|
-
.circleci/push_gem_to_rubygems.sh
|
96
|
-
|
97
|
-
check_version:
|
98
|
-
docker:
|
99
|
-
- image: circleci/ruby:2.6.1-node-browsers
|
100
|
-
working_directory: ~/repo
|
101
|
-
steps:
|
102
|
-
- attach_workspace:
|
103
|
-
at: /tmp
|
104
|
-
- checkout
|
105
|
-
- setup_remote_docker:
|
106
|
-
reusable: true
|
107
|
-
- run:
|
108
|
-
name: Check VERSION file for change
|
109
|
-
command: |
|
110
|
-
.circleci/check_version_trigger_release.sh
|
111
|
-
|
112
70
|
workflows:
|
113
71
|
version: 2
|
114
72
|
build_test_push:
|
@@ -118,39 +76,13 @@ workflows:
|
|
118
76
|
branches:
|
119
77
|
ignore:
|
120
78
|
- /^release\/.*/
|
121
|
-
-
|
79
|
+
- main
|
122
80
|
- unit_test:
|
123
81
|
requires:
|
124
82
|
- build
|
125
|
-
-
|
83
|
+
- func_test_main:
|
126
84
|
requires:
|
127
85
|
- unit_test
|
128
86
|
- func_test_develop:
|
129
87
|
requires:
|
130
88
|
- unit_test
|
131
|
-
- check_version:
|
132
|
-
requires:
|
133
|
-
- func_test_master
|
134
|
-
- func_test_develop
|
135
|
-
filters:
|
136
|
-
branches:
|
137
|
-
only: develop
|
138
|
-
release:
|
139
|
-
jobs:
|
140
|
-
- build:
|
141
|
-
filters:
|
142
|
-
branches:
|
143
|
-
only: master
|
144
|
-
- unit_test:
|
145
|
-
requires:
|
146
|
-
- build
|
147
|
-
- func_test_master:
|
148
|
-
requires:
|
149
|
-
- unit_test
|
150
|
-
- func_test_develop:
|
151
|
-
requires:
|
152
|
-
- unit_test
|
153
|
-
- release:
|
154
|
-
requires:
|
155
|
-
- func_test_master
|
156
|
-
- func_test_develop
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
-
# trigger SCK '
|
3
|
+
# trigger SCK 'main' branch to introduce this new image from this commit
|
4
4
|
# to working version of every other component.
|
5
5
|
ORGANIZATION=splunk
|
6
6
|
PROJECT=splunk-connect-for-kubernetes
|
@@ -11,6 +11,7 @@ curl -X POST --header "Content-Type: application/json" \
|
|
11
11
|
-d '{"build_parameters": {"CIRCLE_JOB":"build_test", "TRIG_BRANCH":"'"$CIRCLE_BRANCH"'", "TRIG_PROJECT":"'"$CIRCLE_PROJECT_REPONAME"'", "TRIG_REPO":"'"$CIRCLE_REPOSITORY_URL"'"}}' "https://circleci.com/api/v1/project/$ORGANIZATION/$PROJECT/tree/$BRANCH?circle-token=$CIRCLE_TOKEN" > build.json
|
12
12
|
cat build.json
|
13
13
|
BUILD_NUM=$(jq -r .build_num build.json)
|
14
|
+
sleep 10
|
14
15
|
|
15
16
|
# Wait until finish or maximum 20 minutes
|
16
17
|
TIMEOUT=20
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
fluent-plugin-k8s-metrics-agg (1.1.
|
5
|
-
fluentd (
|
4
|
+
fluent-plugin-k8s-metrics-agg (1.1.6)
|
5
|
+
fluentd (>= 1.9.1)
|
6
6
|
kubeclient (~> 4.6.0)
|
7
7
|
multi_json (~> 1.14.1)
|
8
8
|
oj (~> 3.10.2)
|
@@ -10,65 +10,67 @@ PATH
|
|
10
10
|
GEM
|
11
11
|
remote: https://rubygems.org/
|
12
12
|
specs:
|
13
|
-
addressable (2.
|
14
|
-
public_suffix (>= 2.0.2, <
|
15
|
-
concurrent-ruby (1.1.
|
16
|
-
cool.io (1.
|
17
|
-
crack (0.4.
|
18
|
-
|
19
|
-
docile (1.
|
13
|
+
addressable (2.8.0)
|
14
|
+
public_suffix (>= 2.0.2, < 5.0)
|
15
|
+
concurrent-ruby (1.1.9)
|
16
|
+
cool.io (1.7.1)
|
17
|
+
crack (0.4.5)
|
18
|
+
rexml
|
19
|
+
docile (1.4.0)
|
20
20
|
domain_name (0.5.20190701)
|
21
21
|
unf (>= 0.0.5, < 1.0.0)
|
22
|
-
ffi (1.
|
22
|
+
ffi (1.15.3)
|
23
23
|
ffi-compiler (1.0.1)
|
24
24
|
ffi (>= 1.0.0)
|
25
25
|
rake
|
26
|
-
fluentd (1.
|
26
|
+
fluentd (1.13.2)
|
27
|
+
bundler
|
27
28
|
cool.io (>= 1.4.5, < 2.0.0)
|
28
|
-
http_parser.rb (>= 0.5.1, < 0.
|
29
|
+
http_parser.rb (>= 0.5.1, < 0.8.0)
|
29
30
|
msgpack (>= 1.3.1, < 2.0.0)
|
30
|
-
serverengine (>= 2.
|
31
|
+
serverengine (>= 2.2.2, < 3.0.0)
|
31
32
|
sigdump (~> 0.2.2)
|
32
33
|
strptime (>= 0.2.2, < 1.0.0)
|
33
34
|
tzinfo (>= 1.0, < 3.0)
|
34
35
|
tzinfo-data (~> 1.0)
|
36
|
+
webrick (>= 1.4.2, < 1.8.0)
|
35
37
|
yajl-ruby (~> 1.0)
|
36
|
-
hashdiff (0.
|
37
|
-
http (4.
|
38
|
+
hashdiff (1.0.1)
|
39
|
+
http (4.4.1)
|
38
40
|
addressable (~> 2.3)
|
39
41
|
http-cookie (~> 1.0)
|
40
42
|
http-form_data (~> 2.2)
|
41
43
|
http-parser (~> 1.2.0)
|
42
44
|
http-accept (1.7.0)
|
43
|
-
http-cookie (1.0.
|
45
|
+
http-cookie (1.0.4)
|
44
46
|
domain_name (~> 0.5)
|
45
|
-
http-form_data (2.
|
46
|
-
http-parser (1.2.
|
47
|
+
http-form_data (2.3.0)
|
48
|
+
http-parser (1.2.3)
|
47
49
|
ffi-compiler (>= 1.0, < 2.0)
|
48
|
-
http_parser.rb (0.
|
49
|
-
json (2.1
|
50
|
+
http_parser.rb (0.7.0)
|
51
|
+
json (2.5.1)
|
50
52
|
kubeclient (4.6.0)
|
51
53
|
http (>= 3.0, < 5.0)
|
52
54
|
recursive-open-struct (~> 1.0, >= 1.0.4)
|
53
55
|
rest-client (~> 2.0)
|
54
56
|
mime-types (3.3.1)
|
55
57
|
mime-types-data (~> 3.2015)
|
56
|
-
mime-types-data (3.
|
57
|
-
msgpack (1.
|
58
|
+
mime-types-data (3.2021.0704)
|
59
|
+
msgpack (1.4.2)
|
58
60
|
multi_json (1.14.1)
|
59
61
|
netrc (0.11.0)
|
60
|
-
oj (3.10.
|
61
|
-
power_assert (
|
62
|
-
public_suffix (
|
63
|
-
rake (
|
64
|
-
recursive-open-struct (1.1.
|
62
|
+
oj (3.10.18)
|
63
|
+
power_assert (2.0.0)
|
64
|
+
public_suffix (4.0.6)
|
65
|
+
rake (13.0.6)
|
66
|
+
recursive-open-struct (1.1.3)
|
65
67
|
rest-client (2.1.0)
|
66
68
|
http-accept (>= 1.7.0, < 2.0)
|
67
69
|
http-cookie (>= 1.0.2, < 2.0)
|
68
70
|
mime-types (>= 1.16, < 4.0)
|
69
71
|
netrc (~> 0.8)
|
70
|
-
|
71
|
-
serverengine (2.2.
|
72
|
+
rexml (3.2.5)
|
73
|
+
serverengine (2.2.4)
|
72
74
|
sigdump (~> 0.2.2)
|
73
75
|
sigdump (0.2.4)
|
74
76
|
simplecov (0.16.1)
|
@@ -76,20 +78,21 @@ GEM
|
|
76
78
|
json (>= 1.8, < 3)
|
77
79
|
simplecov-html (~> 0.10.0)
|
78
80
|
simplecov-html (0.10.2)
|
79
|
-
strptime (0.2.
|
80
|
-
test-unit (3.3.
|
81
|
+
strptime (0.2.5)
|
82
|
+
test-unit (3.3.9)
|
81
83
|
power_assert
|
82
|
-
tzinfo (2.0.
|
84
|
+
tzinfo (2.0.4)
|
83
85
|
concurrent-ruby (~> 1.0)
|
84
|
-
tzinfo-data (1.
|
86
|
+
tzinfo-data (1.2021.1)
|
85
87
|
tzinfo (>= 1.0.0)
|
86
88
|
unf (0.1.4)
|
87
89
|
unf_ext
|
88
|
-
unf_ext (0.0.7.
|
90
|
+
unf_ext (0.0.7.7)
|
89
91
|
webmock (3.5.1)
|
90
92
|
addressable (>= 2.3.6)
|
91
93
|
crack (>= 0.3.2)
|
92
94
|
hashdiff
|
95
|
+
webrick (1.7.0)
|
93
96
|
yajl-ruby (1.4.1)
|
94
97
|
|
95
98
|
PLATFORMS
|
@@ -98,10 +101,10 @@ PLATFORMS
|
|
98
101
|
DEPENDENCIES
|
99
102
|
bundler (~> 2.0)
|
100
103
|
fluent-plugin-k8s-metrics-agg!
|
101
|
-
rake (~>
|
104
|
+
rake (~> 13.0)
|
102
105
|
simplecov (~> 0.16.1)
|
103
106
|
test-unit (~> 3.3.0)
|
104
107
|
webmock (~> 3.5.1)
|
105
108
|
|
106
109
|
BUNDLED WITH
|
107
|
-
2.
|
110
|
+
2.2.23
|
data/Makefile
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
VERSION := $(shell sh -c 'cat VERSION')
|
2
|
+
|
3
|
+
clean_pkg:
|
4
|
+
@rm -rf pkg/* docker/*.gem
|
5
|
+
|
6
|
+
clean_gems:
|
7
|
+
@rm -rf docker/gem/* docker/gems/*
|
8
|
+
|
9
|
+
clean: clean_pkg clean_gems
|
10
|
+
@rm -rf docker/licenses
|
11
|
+
|
12
|
+
build: clean_pkg
|
13
|
+
@bundle exec rake build
|
14
|
+
|
15
|
+
docker: build install-deps
|
16
|
+
@cp pkg/fluent-plugin-*.gem docker
|
17
|
+
@mkdir -p docker/licenses
|
18
|
+
@cp -rp LICENSE docker/licenses/
|
19
|
+
@docker build --no-cache --pull --build-arg VERSION=$(VERSION) -t splunk/k8s-metrics-aggr:$(VERSION) ./docker
|
20
|
+
|
21
|
+
unit-test:
|
22
|
+
@bundle exec rake test
|
23
|
+
|
24
|
+
install-deps:
|
25
|
+
@gem install bundler
|
26
|
+
@bundle update --bundler
|
27
|
+
@bundle install
|
28
|
+
|
29
|
+
unpack: build
|
30
|
+
@cp pkg/fluent-plugin-*.gem docker
|
31
|
+
@mkdir -p docker/gem
|
32
|
+
@rm -rf docker/gem
|
33
|
+
@gem unpack docker/fluent-plugin-*.gem --target docker/gem
|
34
|
+
@cd docker && bundle install
|
data/Rakefile
CHANGED
@@ -24,6 +24,6 @@ namespace :docker do
|
|
24
24
|
raise 'Argument `tag` was not provided.' unless args.tag
|
25
25
|
|
26
26
|
cp Dir['pkg/fluent-plugin-k8s-metrics-agg-*.gem'], 'docker/'
|
27
|
-
sh "docker build
|
27
|
+
sh "docker build --no-cache --pull --build-arg VERSION=$(cat VERSION) -t splunk/fluent-plugin-k8s-metrics-agg:#{args.tag} ./docker"
|
28
28
|
end
|
29
29
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.6
|
data/docker/Dockerfile
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
FROM registry.access.redhat.com/ubi8/ruby-
|
1
|
+
FROM registry.access.redhat.com/ubi8/ruby-27
|
2
2
|
|
3
3
|
ARG VERSION
|
4
4
|
|
5
|
-
MAINTAINER DataEdge DataEdge@splunk.com
|
6
|
-
|
7
5
|
LABEL name="Splunk Connect for Kubernetes Metrics Aggregator container" \
|
8
6
|
maintainer="DataEdge@splunk.com" \
|
9
7
|
vendor="Splunk Inc." \
|
@@ -21,14 +19,16 @@ COPY licenses /licenses
|
|
21
19
|
COPY *.gem /tmp/
|
22
20
|
|
23
21
|
COPY Gemfile* ./
|
24
|
-
RUN
|
25
|
-
&&
|
26
|
-
&&
|
22
|
+
RUN yum update -y \
|
23
|
+
&& yum remove -y nodejs npm \
|
24
|
+
&& gem install bundler \
|
25
|
+
&& gem unpack /tmp/*.gem --target gem \
|
26
|
+
&& bundle install
|
27
27
|
|
28
28
|
RUN groupadd -r $FLUENT_USER && \
|
29
29
|
useradd -r -g $FLUENT_USER $FLUENT_USER && \
|
30
|
-
mkdir -p /fluentd/log fluentd/etc /fluentd/plugins &&\
|
30
|
+
mkdir -p /fluentd/log /fluentd/etc /fluentd/plugins &&\
|
31
31
|
chown -R $FLUENT_USER /fluentd && chgrp -R $FLUENT_USER /fluentd
|
32
32
|
|
33
33
|
USER $FLUENT_USER
|
34
|
-
CMD exec fluentd -c /fluentd/etc/fluent.conf
|
34
|
+
CMD bundle exec fluentd -c /fluentd/etc/fluent.conf
|
data/docker/Gemfile
CHANGED
@@ -3,13 +3,16 @@ source 'https://rubygems.org'
|
|
3
3
|
# This is separate gemfile for building docker image that has all plugins
|
4
4
|
# for kubernetes log collection agent
|
5
5
|
# List all required gems here and install via bundler to resolve dependencies
|
6
|
-
gem "fluentd", "=1.
|
7
|
-
gem "fluent-plugin-prometheus", "
|
6
|
+
gem "fluentd", "=1.11.5"
|
7
|
+
gem "fluent-plugin-prometheus", ">=2.0"
|
8
8
|
gem "fluent-plugin-record-modifier", "=2.1.0"
|
9
|
+
gem "fluent-plugin-kubernetes_metadata_filter", "=2.5.3"
|
9
10
|
gem "kubeclient", "=4.6.0"
|
10
11
|
gem "oj", "=3.10.2"
|
11
12
|
gem 'multi_json', '=1.14.1'
|
12
13
|
gem 'http_parser.rb', '=0.5.3'
|
13
|
-
gem 'bigdecimal', '=
|
14
|
+
gem 'bigdecimal', '=3.0.0'
|
14
15
|
|
15
|
-
gem "fluent-plugin-splunk-hec", "
|
16
|
+
gem "fluent-plugin-splunk-hec", ">= 1.2.7"
|
17
|
+
|
18
|
+
gem 'fluent-plugin-k8s-metrics-agg', path: 'gem/'
|
data/docker/Gemfile.lock
CHANGED
@@ -1,72 +1,79 @@
|
|
1
|
+
PATH
|
2
|
+
remote: gem
|
3
|
+
specs:
|
4
|
+
fluent-plugin-k8s-metrics-agg (1.1.5)
|
5
|
+
fluentd (>= 1.9.1)
|
6
|
+
kubeclient (~> 4.6.0)
|
7
|
+
multi_json (~> 1.14.1)
|
8
|
+
oj (~> 3.10.2)
|
9
|
+
|
1
10
|
GEM
|
2
11
|
remote: https://rubygems.org/
|
3
12
|
specs:
|
4
|
-
activemodel (
|
5
|
-
activesupport (=
|
6
|
-
activesupport (
|
13
|
+
activemodel (6.1.4)
|
14
|
+
activesupport (= 6.1.4)
|
15
|
+
activesupport (6.1.4)
|
7
16
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
8
|
-
i18n (>=
|
9
|
-
minitest (
|
10
|
-
tzinfo (~>
|
11
|
-
|
17
|
+
i18n (>= 1.6, < 2)
|
18
|
+
minitest (>= 5.1)
|
19
|
+
tzinfo (~> 2.0)
|
20
|
+
zeitwerk (~> 2.3)
|
21
|
+
addressable (2.8.0)
|
12
22
|
public_suffix (>= 2.0.2, < 5.0)
|
13
|
-
aes_key_wrap (1.0
|
23
|
+
aes_key_wrap (1.1.0)
|
14
24
|
attr_required (1.0.1)
|
15
|
-
bigdecimal (
|
16
|
-
bindata (2.4.
|
17
|
-
concurrent-ruby (1.1.
|
18
|
-
connection_pool (2.2.
|
19
|
-
cool.io (1.
|
25
|
+
bigdecimal (3.0.0)
|
26
|
+
bindata (2.4.10)
|
27
|
+
concurrent-ruby (1.1.9)
|
28
|
+
connection_pool (2.2.5)
|
29
|
+
cool.io (1.7.1)
|
20
30
|
domain_name (0.5.20190701)
|
21
31
|
unf (>= 0.0.5, < 1.0.0)
|
22
|
-
ffi (1.
|
32
|
+
ffi (1.15.3)
|
23
33
|
ffi-compiler (1.0.1)
|
24
34
|
ffi (>= 1.0.0)
|
25
35
|
rake
|
26
|
-
fluent-plugin-kubernetes_metadata_filter (2.
|
27
|
-
fluentd (>= 0.14.0, <
|
36
|
+
fluent-plugin-kubernetes_metadata_filter (2.5.3)
|
37
|
+
fluentd (>= 0.14.0, < 1.12)
|
28
38
|
kubeclient (< 5)
|
29
39
|
lru_redux
|
30
|
-
fluent-plugin-prometheus (
|
31
|
-
fluentd (>=
|
32
|
-
prometheus-client (
|
40
|
+
fluent-plugin-prometheus (2.0.1)
|
41
|
+
fluentd (>= 1.9.1, < 2)
|
42
|
+
prometheus-client (>= 2.1.0)
|
33
43
|
fluent-plugin-record-modifier (2.1.0)
|
34
44
|
fluentd (>= 1.0, < 2)
|
35
|
-
fluent-plugin-splunk-hec (1.2.
|
36
|
-
activesupport (~> 5.2)
|
37
|
-
fluent-plugin-kubernetes_metadata_filter (~> 2.4.2)
|
45
|
+
fluent-plugin-splunk-hec (1.2.7)
|
38
46
|
fluentd (>= 1.4)
|
39
|
-
http_parser.rb (= 0.5.3)
|
40
47
|
multi_json (~> 1.13)
|
41
48
|
net-http-persistent (~> 3.1)
|
42
49
|
openid_connect (~> 1.1.8)
|
43
|
-
prometheus-client (
|
44
|
-
fluentd (1.
|
50
|
+
prometheus-client (>= 2.1.0)
|
51
|
+
fluentd (1.11.5)
|
45
52
|
cool.io (>= 1.4.5, < 2.0.0)
|
46
53
|
http_parser.rb (>= 0.5.1, < 0.7.0)
|
47
54
|
msgpack (>= 1.3.1, < 2.0.0)
|
48
|
-
serverengine (>= 2.
|
55
|
+
serverengine (>= 2.2.2, < 3.0.0)
|
49
56
|
sigdump (~> 0.2.2)
|
50
57
|
strptime (>= 0.2.2, < 1.0.0)
|
51
58
|
tzinfo (>= 1.0, < 3.0)
|
52
59
|
tzinfo-data (~> 1.0)
|
53
60
|
yajl-ruby (~> 1.0)
|
54
|
-
http (4.
|
61
|
+
http (4.4.1)
|
55
62
|
addressable (~> 2.3)
|
56
63
|
http-cookie (~> 1.0)
|
57
64
|
http-form_data (~> 2.2)
|
58
65
|
http-parser (~> 1.2.0)
|
59
66
|
http-accept (1.7.0)
|
60
|
-
http-cookie (1.0.
|
67
|
+
http-cookie (1.0.4)
|
61
68
|
domain_name (~> 0.5)
|
62
|
-
http-form_data (2.
|
63
|
-
http-parser (1.2.
|
69
|
+
http-form_data (2.3.0)
|
70
|
+
http-parser (1.2.3)
|
64
71
|
ffi-compiler (>= 1.0, < 2.0)
|
65
72
|
http_parser.rb (0.5.3)
|
66
73
|
httpclient (2.8.3)
|
67
|
-
i18n (1.8.
|
74
|
+
i18n (1.8.10)
|
68
75
|
concurrent-ruby (~> 1.0)
|
69
|
-
json-jwt (1.
|
76
|
+
json-jwt (1.13.0)
|
70
77
|
activesupport (>= 4.2)
|
71
78
|
aes_key_wrap
|
72
79
|
bindata
|
@@ -79,10 +86,10 @@ GEM
|
|
79
86
|
mini_mime (>= 0.1.1)
|
80
87
|
mime-types (3.3.1)
|
81
88
|
mime-types-data (~> 3.2015)
|
82
|
-
mime-types-data (3.
|
83
|
-
mini_mime (1.0
|
84
|
-
minitest (5.14.
|
85
|
-
msgpack (1.
|
89
|
+
mime-types-data (3.2021.0704)
|
90
|
+
mini_mime (1.1.0)
|
91
|
+
minitest (5.14.4)
|
92
|
+
msgpack (1.4.2)
|
86
93
|
multi_json (1.14.1)
|
87
94
|
net-http-persistent (3.1.0)
|
88
95
|
connection_pool (~> 2.2)
|
@@ -98,60 +105,60 @@ GEM
|
|
98
105
|
validate_email
|
99
106
|
validate_url
|
100
107
|
webfinger (>= 1.0.1)
|
101
|
-
prometheus-client (
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
rack (2.2.2)
|
106
|
-
rack-oauth2 (1.10.1)
|
108
|
+
prometheus-client (2.1.0)
|
109
|
+
public_suffix (4.0.6)
|
110
|
+
rack (2.2.3)
|
111
|
+
rack-oauth2 (1.17.0)
|
107
112
|
activesupport
|
108
113
|
attr_required
|
109
114
|
httpclient
|
110
115
|
json-jwt (>= 1.11.0)
|
111
|
-
rack
|
112
|
-
rake (13.0.
|
113
|
-
recursive-open-struct (1.1.
|
116
|
+
rack (>= 2.1.0)
|
117
|
+
rake (13.0.6)
|
118
|
+
recursive-open-struct (1.1.3)
|
114
119
|
rest-client (2.1.0)
|
115
120
|
http-accept (>= 1.7.0, < 2.0)
|
116
121
|
http-cookie (>= 1.0.2, < 2.0)
|
117
122
|
mime-types (>= 1.16, < 4.0)
|
118
123
|
netrc (~> 0.8)
|
119
|
-
serverengine (2.2.
|
124
|
+
serverengine (2.2.4)
|
120
125
|
sigdump (~> 0.2.2)
|
121
126
|
sigdump (0.2.4)
|
122
|
-
strptime (0.2.
|
123
|
-
swd (1.
|
127
|
+
strptime (0.2.5)
|
128
|
+
swd (1.2.0)
|
124
129
|
activesupport (>= 3)
|
125
130
|
attr_required (>= 0.0.5)
|
126
131
|
httpclient (>= 2.4)
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
tzinfo-data (1.2019.3)
|
132
|
+
tzinfo (2.0.4)
|
133
|
+
concurrent-ruby (~> 1.0)
|
134
|
+
tzinfo-data (1.2021.1)
|
131
135
|
tzinfo (>= 1.0.0)
|
132
136
|
unf (0.1.4)
|
133
137
|
unf_ext
|
134
|
-
unf_ext (0.0.7.
|
138
|
+
unf_ext (0.0.7.7)
|
135
139
|
validate_email (0.1.6)
|
136
140
|
activemodel (>= 3.0)
|
137
141
|
mail (>= 2.2.5)
|
138
|
-
validate_url (1.0.
|
142
|
+
validate_url (1.0.13)
|
139
143
|
activemodel (>= 3.0.0)
|
140
144
|
public_suffix
|
141
145
|
webfinger (1.1.0)
|
142
146
|
activesupport
|
143
147
|
httpclient (>= 2.4)
|
144
148
|
yajl-ruby (1.4.1)
|
149
|
+
zeitwerk (2.4.2)
|
145
150
|
|
146
151
|
PLATFORMS
|
147
152
|
ruby
|
148
153
|
|
149
154
|
DEPENDENCIES
|
150
|
-
bigdecimal (=
|
151
|
-
fluent-plugin-
|
155
|
+
bigdecimal (= 3.0.0)
|
156
|
+
fluent-plugin-k8s-metrics-agg!
|
157
|
+
fluent-plugin-kubernetes_metadata_filter (= 2.5.3)
|
158
|
+
fluent-plugin-prometheus (>= 2.0)
|
152
159
|
fluent-plugin-record-modifier (= 2.1.0)
|
153
|
-
fluent-plugin-splunk-hec (
|
154
|
-
fluentd (= 1.
|
160
|
+
fluent-plugin-splunk-hec (>= 1.2.5)
|
161
|
+
fluentd (= 1.11.5)
|
155
162
|
http_parser.rb (= 0.5.3)
|
156
163
|
kubeclient (= 4.6.0)
|
157
164
|
multi_json (= 1.14.1)
|
data/docker/build.sh
CHANGED
@@ -16,4 +16,4 @@ VERSION=`cat VERSION`
|
|
16
16
|
echo "Copying licenses to be included in the docker image..."
|
17
17
|
mkdir -p docker/licenses
|
18
18
|
cp -rp LICENSE docker/licenses/
|
19
|
-
docker build --build-arg VERSION=$VERSION --no-cache -t splunk/k8s-metrics-aggr:$TAG ./docker
|
19
|
+
docker build --no-cache --pull --build-arg VERSION=$VERSION --no-cache -t splunk/k8s-metrics-aggr:$TAG ./docker
|
@@ -21,11 +21,11 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
23
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
24
|
-
spec.add_development_dependency 'rake', '~>
|
24
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
25
25
|
spec.add_development_dependency 'test-unit', "~> 3.3.0"
|
26
26
|
spec.add_development_dependency "simplecov", '~> 0.16.1'
|
27
27
|
spec.add_development_dependency 'webmock', '~> 3.5.1'
|
28
|
-
spec.add_runtime_dependency 'fluentd', '
|
28
|
+
spec.add_runtime_dependency 'fluentd', '>= 1.9.1'
|
29
29
|
spec.add_runtime_dependency 'kubeclient', '~> 4.6.0'
|
30
30
|
spec.add_runtime_dependency 'multi_json', '~> 1.14.1'
|
31
31
|
spec.add_runtime_dependency 'oj', '~> 3.10.2'
|
@@ -575,23 +575,25 @@ module Fluent
|
|
575
575
|
|
576
576
|
node_response = JSON.parse(node_rest_client.get(@client.headers))
|
577
577
|
Array(node_response['pods']).each do |pod_json|
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
578
|
+
unless pod_json['cpu'].nil? || pod_json['memory'].nil?
|
579
|
+
pod_cpu_usage = pod_json['cpu'].fetch('usageNanoCores', 0)/ 1_000_000
|
580
|
+
pod_memory_usage = pod_json['memory'].fetch('usageBytes', 0)
|
581
|
+
pod_namespace = pod_json['podRef']['namespace']
|
582
|
+
pod_usage = ResourceUsageMetricsUnit.new
|
583
|
+
pod_usage.add_resource_usage_metrics(pod_cpu_usage, pod_memory_usage)
|
584
|
+
if @@namespace_resource_usage_metrics_map[pod_namespace].nil?
|
585
|
+
namespace_usage_metrics = ResourceUsageMetricsUnit.new
|
586
|
+
@@namespace_resource_usage_metrics_map[pod_namespace] = pod_usage
|
587
|
+
else
|
588
|
+
@@namespace_resource_usage_metrics_map[pod_namespace].add_resource_usage_metrics(pod_cpu_usage, pod_memory_usage)
|
589
|
+
end
|
590
|
+
if @@node_resource_usage_metrics_map[node_name].nil?
|
591
|
+
node_name_usage_metrics = ResourceUsageMetricsUnit.new
|
592
|
+
@@node_resource_usage_metrics_map[node_name] = node_name_usage_metrics
|
593
|
+
end
|
594
|
+
@@node_resource_usage_metrics_map[node_name].add_resource_usage_metrics(pod_cpu_usage, pod_memory_usage)
|
595
|
+
pod_usage = nil
|
592
596
|
end
|
593
|
-
@@node_resource_usage_metrics_map[node_name].add_resource_usage_metrics(pod_cpu_usage, pod_memory_usage)
|
594
|
-
pod_usage = nil
|
595
597
|
end
|
596
598
|
end
|
597
599
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-k8s-metrics-agg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Splunk Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: test-unit
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,14 +84,14 @@ dependencies:
|
|
84
84
|
name: fluentd
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 1.9.1
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 1.9.1
|
97
97
|
- !ruby/object:Gem::Dependency
|
@@ -144,15 +144,8 @@ executables: []
|
|
144
144
|
extensions: []
|
145
145
|
extra_rdoc_files: []
|
146
146
|
files:
|
147
|
-
- ".circleci/build_and_push.sh"
|
148
|
-
- ".circleci/build_and_push_to_dockerhub.sh"
|
149
|
-
- ".circleci/build_and_push_to_github_release.sh"
|
150
|
-
- ".circleci/check_version_trigger_release.sh"
|
151
147
|
- ".circleci/config.yml"
|
152
|
-
- ".circleci/gem_credentials"
|
153
148
|
- ".circleci/install_dep.sh"
|
154
|
-
- ".circleci/push_gem.sh"
|
155
|
-
- ".circleci/push_gem_to_rubygems.sh"
|
156
149
|
- ".circleci/trigger_func_test.sh"
|
157
150
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
158
151
|
- ".github/ISSUE_TEMPLATE/enhancement_request.md"
|
@@ -165,12 +158,12 @@ files:
|
|
165
158
|
- Gemfile
|
166
159
|
- Gemfile.lock
|
167
160
|
- LICENSE
|
161
|
+
- Makefile
|
168
162
|
- README.md
|
169
163
|
- Rakefile
|
170
164
|
- VERSION
|
171
165
|
- docker/CONTRIBUTING.md
|
172
166
|
- docker/Dockerfile
|
173
|
-
- docker/FLUENTD_HEC_GEM_VERSION
|
174
167
|
- docker/Gemfile
|
175
168
|
- docker/Gemfile.lock
|
176
169
|
- docker/LICENSE
|
@@ -192,7 +185,7 @@ homepage: https://github.com/splunk/fluent-plugin-k8s-metrics-agg
|
|
192
185
|
licenses:
|
193
186
|
- Apache-2.0
|
194
187
|
metadata: {}
|
195
|
-
post_install_message:
|
188
|
+
post_install_message:
|
196
189
|
rdoc_options: []
|
197
190
|
require_paths:
|
198
191
|
- lib
|
@@ -207,8 +200,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
207
200
|
- !ruby/object:Gem::Version
|
208
201
|
version: '0'
|
209
202
|
requirements: []
|
210
|
-
rubygems_version: 3.1.
|
211
|
-
signing_key:
|
203
|
+
rubygems_version: 3.1.4
|
204
|
+
signing_key:
|
212
205
|
specification_version: 4
|
213
206
|
summary: A fluentd input plugin that collects kubernetes cluster metrics.
|
214
207
|
test_files:
|
data/.circleci/build_and_push.sh
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
set -e
|
3
|
-
FLUENTD_HEC_GEM_VERSION=`cat docker/FLUENTD_HEC_GEM_VERSION`
|
4
|
-
aws ecr get-login --region $AWS_REGION --no-include-email | bash
|
5
|
-
echo "Building docker image..."
|
6
|
-
cp /tmp/pkg/fluent-plugin-k8s-metrics-agg-*.gem docker
|
7
|
-
docker build --build-arg VERSION=$FLUENTD_HEC_GEM_VERSION --no-cache -t splunk/fluent-plugin-k8s-metrics-agg:metrics-aggregator ./docker
|
8
|
-
docker tag splunk/fluent-plugin-k8s-metrics-agg:metrics-aggregator $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/k8s-ci-metrics-agg:latest
|
9
|
-
echo "Push docker image to ecr..."
|
10
|
-
docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/k8s-ci-metrics-agg:latest | awk 'END{print}'
|
11
|
-
echo "Docker image pushed successfully."
|
@@ -1,16 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
set -e
|
3
|
-
echo "Building docker image..."
|
4
|
-
cp /tmp/pkg/fluent-plugin-k8s-metrics-agg-*.gem docker
|
5
|
-
echo "Copying licenses to be included in the docker image..."
|
6
|
-
mkdir docker/licenses
|
7
|
-
cp -rp LICENSE docker/licenses/
|
8
|
-
VERSION=`cat VERSION`
|
9
|
-
docker build --build-arg VERSION=$VERSION --no-cache -t splunk/fluent-plugin-k8s-metrics-agg:metrics-aggregator ./docker
|
10
|
-
docker tag splunk/fluent-plugin-k8s-metrics-agg:metrics-aggregator splunk/${DOCKERHUB_REPO_NAME}:${VERSION}
|
11
|
-
docker tag splunk/fluent-plugin-k8s-metrics-agg:metrics-aggregator splunk/${DOCKERHUB_REPO_NAME}:latest
|
12
|
-
echo "Push docker image to splunk dockerhub..."
|
13
|
-
docker login --username=$DOCKERHUB_ACCOUNT_ID --password=$DOCKERHUB_ACCOUNT_PASS
|
14
|
-
docker push splunk/${DOCKERHUB_REPO_NAME}:${VERSION} | awk 'END{print}'
|
15
|
-
docker push splunk/${DOCKERHUB_REPO_NAME}:latest | awk 'END{print}'
|
16
|
-
echo "Docker image pushed successfully to docker-hub."
|
@@ -1,11 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
set -e
|
3
|
-
wget https://github.com/tcnksm/ghr/releases/download/v0.12.0/ghr_v0.12.0_linux_amd64.tar.gz
|
4
|
-
tar -xzvf ghr_v0.12.0_linux_amd64.tar.gz
|
5
|
-
sudo chmod +x ghr_v0.12.0_linux_amd64
|
6
|
-
sudo mv ghr_v0.12.0_linux_amd64/ghr /usr/local/bin/ghr
|
7
|
-
|
8
|
-
VERSION=`cat VERSION`
|
9
|
-
echo "Pushing SCK release to github releases...${VERSION}"
|
10
|
-
|
11
|
-
ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -n "${RELEASE_TITLE}" -b "${RELEASE_BODY}" -draft ${VERSION} /tmp/pkg/
|
@@ -1,29 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
set -e
|
3
|
-
|
4
|
-
#!/usr/bin/env bash
|
5
|
-
LATEST_COMMIT=$(git rev-parse HEAD)
|
6
|
-
VERSION_COMMIT=$(git log -1 --format=format:%H VERSION)
|
7
|
-
if [ $VERSION_COMMIT = $LATEST_COMMIT ];
|
8
|
-
then
|
9
|
-
if [ -s VERSION ] # Check if content is empty
|
10
|
-
then
|
11
|
-
VERSION=`cat VERSION`
|
12
|
-
echo "VERSION is changed to $VERSION"
|
13
|
-
else
|
14
|
-
echo "[ERROR] VERSION file is empty."
|
15
|
-
exit 1
|
16
|
-
fi
|
17
|
-
git config user.email "splunk-oss-admin@splunk.com"
|
18
|
-
git config user.name "splunk-oss-admin"
|
19
|
-
# Checkout develop and pull latest
|
20
|
-
git checkout develop
|
21
|
-
git pull origin develop
|
22
|
-
# merge it to master branch
|
23
|
-
git checkout master
|
24
|
-
git merge --no-edit -X theirs develop
|
25
|
-
git push
|
26
|
-
# cut release branch from master
|
27
|
-
git checkout -b release/$VERSION
|
28
|
-
git push https://$RELEASE_GITHUB_USER:$RELEASE_GITHUB_PASS@github.com/splunk/fluent-plugin-k8s-metrics-agg.git release/$VERSION
|
29
|
-
fi
|
data/.circleci/gem_credentials
DELETED
data/.circleci/push_gem.sh
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
set -e
|
3
|
-
sudo apt-get update
|
4
|
-
sudo apt-get install -y python-pip libpython-dev > /dev/null 2>&1
|
5
|
-
echo "Installing aws cli..."
|
6
|
-
sudo pip install awscli > /dev/null 2>&1
|
7
|
-
echo "Pushing metrics-aggregator gem to s3..."
|
8
|
-
aws s3 cp /tmp/pkg/*.gem s3://k8s-ci-artifacts/
|
@@ -1,7 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
set -e
|
3
|
-
echo "Pushing metrics aggr gem to rubygems.org..."
|
4
|
-
echo "gem `gem --version`"
|
5
|
-
cat .circleci/gem_credentials | sed -e "s/__RUBYGEMS_API_KEY__/${RUBYGEMS_API_KEY}/" > ~/.gem/credentials
|
6
|
-
chmod 0600 ~/.gem/credentials
|
7
|
-
gem push /tmp/pkg/fluent-plugin-k8s-metrics-agg-*.gem
|
@@ -1 +0,0 @@
|
|
1
|
-
1.2.1
|