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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 370ec547a0054f520882a8399fc32cd4b73178b20cfaae1c5ebc915325b4e3bd
4
- data.tar.gz: ce3caa0bdf8a4f5dfc32b2819cf56d2cec1bde2887b7c13f5c7e6455ed2120e4
3
+ metadata.gz: 6641f99359ffab772e865190bfa9a79ef2b4a0595bddbf1049f0383f2747faf6
4
+ data.tar.gz: 8e8c5930de05b249fcd0b08e77400bc6a46c7647e174e6c6aa578b511b8b6505
5
5
  SHA512:
6
- metadata.gz: 44ea016b3e59addf6be13d917e69a7ee677ac339b7d9053299b1d9202b4c538d2b8fe11235710b9ed693241c56a00a6d97ea5cf511fe03396dd3edf07cf955d3
7
- data.tar.gz: e80b69a0d5f0cb7cacf74661488a263b66f41d0704313800d49c525313f907095386a10145a29c796009c72f4cc367038bf0dc14fcf62c2b3526d64216a93253
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
- func_test_master:
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 master
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
- - master
79
+ - main
122
80
  - unit_test:
123
81
  requires:
124
82
  - build
125
- - func_test_master:
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 'master' branch to introduce this new image from this commit
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.2)
5
- fluentd (~> 1.9.1)
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.6.0)
14
- public_suffix (>= 2.0.2, < 4.0)
15
- concurrent-ruby (1.1.6)
16
- cool.io (1.6.0)
17
- crack (0.4.3)
18
- safe_yaml (~> 1.0.0)
19
- docile (1.3.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.12.2)
22
+ ffi (1.15.3)
23
23
  ffi-compiler (1.0.1)
24
24
  ffi (>= 1.0.0)
25
25
  rake
26
- fluentd (1.9.2)
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.7.0)
29
+ http_parser.rb (>= 0.5.1, < 0.8.0)
29
30
  msgpack (>= 1.3.1, < 2.0.0)
30
- serverengine (>= 2.0.4, < 3.0.0)
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.3.8)
37
- http (4.3.0)
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.3)
45
+ http-cookie (1.0.4)
44
46
  domain_name (~> 0.5)
45
- http-form_data (2.2.0)
46
- http-parser (1.2.1)
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.6.0)
49
- json (2.1.0)
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.2019.1009)
57
- msgpack (1.3.3)
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.2)
61
- power_assert (1.1.3)
62
- public_suffix (3.0.3)
63
- rake (12.3.2)
64
- recursive-open-struct (1.1.0)
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
- safe_yaml (1.0.4)
71
- serverengine (2.2.1)
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.3)
80
- test-unit (3.3.0)
81
+ strptime (0.2.5)
82
+ test-unit (3.3.9)
81
83
  power_assert
82
- tzinfo (2.0.1)
84
+ tzinfo (2.0.4)
83
85
  concurrent-ruby (~> 1.0)
84
- tzinfo-data (1.2019.3)
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.6)
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 (~> 12.0)
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.1.4
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 --no-cache -t splunk/fluent-plugin-k8s-metrics-agg:#{args.tag} ./docker"
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.2
1
+ 1.1.6
data/docker/Dockerfile CHANGED
@@ -1,9 +1,7 @@
1
- FROM registry.access.redhat.com/ubi8/ruby-25
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 gem install bundler \
25
- && bundle install \
26
- && bundle exec gem install /tmp/*.gem
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.9.1"
7
- gem "fluent-plugin-prometheus", "=1.7.0"
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', '=1.4.3'
14
+ gem 'bigdecimal', '=3.0.0'
14
15
 
15
- gem "fluent-plugin-splunk-hec", "= 1.2.1"
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.2.4.1)
5
- activesupport (= 5.2.4.1)
6
- activesupport (5.2.4.1)
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 (>= 0.7, < 2)
9
- minitest (~> 5.1)
10
- tzinfo (~> 1.1)
11
- addressable (2.7.0)
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.1)
23
+ aes_key_wrap (1.1.0)
14
24
  attr_required (1.0.1)
15
- bigdecimal (1.4.3)
16
- bindata (2.4.4)
17
- concurrent-ruby (1.1.6)
18
- connection_pool (2.2.2)
19
- cool.io (1.6.0)
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.12.2)
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.4.2)
27
- fluentd (>= 0.14.0, < 2)
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 (1.7.0)
31
- fluentd (>= 0.14.20, < 2)
32
- prometheus-client (< 0.10)
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.1)
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 (< 0.10.0)
44
- fluentd (1.9.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.0.4, < 3.0.0)
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.3.0)
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.3)
67
+ http-cookie (1.0.4)
61
68
  domain_name (~> 0.5)
62
- http-form_data (2.2.0)
63
- http-parser (1.2.1)
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.2)
74
+ i18n (1.8.10)
68
75
  concurrent-ruby (~> 1.0)
69
- json-jwt (1.11.0)
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.2019.1009)
83
- mini_mime (1.0.2)
84
- minitest (5.14.0)
85
- msgpack (1.3.3)
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 (0.9.0)
102
- quantile (~> 0.2.1)
103
- public_suffix (4.0.3)
104
- quantile (0.2.1)
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.1)
113
- recursive-open-struct (1.1.0)
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.1)
124
+ serverengine (2.2.4)
120
125
  sigdump (~> 0.2.2)
121
126
  sigdump (0.2.4)
122
- strptime (0.2.3)
123
- swd (1.1.2)
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
- thread_safe (0.3.6)
128
- tzinfo (1.2.6)
129
- thread_safe (~> 0.1)
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.6)
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.8)
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 (= 1.4.3)
151
- fluent-plugin-prometheus (= 1.7.0)
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 (= 1.2.1)
154
- fluentd (= 1.9.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', '~> 12.0'
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', '~> 1.9.1'
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
- pod_cpu_usage = pod_json['cpu']['usageNanoCores']/ 1_000_000
579
- pod_memory_usage = pod_json['memory']['usageBytes']
580
- pod_namespace = pod_json['podRef']['namespace']
581
- pod_usage = ResourceUsageMetricsUnit.new
582
- pod_usage.add_resource_usage_metrics(pod_cpu_usage, pod_memory_usage)
583
- if @@namespace_resource_usage_metrics_map[pod_namespace].nil?
584
- namespace_usage_metrics = ResourceUsageMetricsUnit.new
585
- @@namespace_resource_usage_metrics_map[pod_namespace] = pod_usage
586
- else
587
- @@namespace_resource_usage_metrics_map[pod_namespace].add_resource_usage_metrics(pod_cpu_usage, pod_memory_usage)
588
- end
589
- if @@node_resource_usage_metrics_map[node_name].nil?
590
- node_name_usage_metrics = ResourceUsageMetricsUnit.new
591
- @@node_resource_usage_metrics_map[node_name] = node_name_usage_metrics
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.2
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: 2020-02-21 00:00:00.000000000 Z
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: '12.0'
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: '12.0'
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.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:
@@ -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
@@ -1,2 +0,0 @@
1
- ---
2
- :rubygems_api_key: __RUBYGEMS_API_KEY__
@@ -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