fluent-plugin-kubernetes_metadata_filter 2.5.0 → 2.7.2

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
  SHA256:
3
- metadata.gz: b1991a6b8cd09f65728588401e697dda36954b94cf75b625789c6e7773d50ccf
4
- data.tar.gz: df46f28a113c17aa3e2174d3ad23edb0b5b93fb6d65d5f02787d6ac83ac129a2
3
+ metadata.gz: 3815fdb2ea8a0bbe7c2bccdb63edc62c92edd96f8c7b31a5bade805b738a5b09
4
+ data.tar.gz: bb92cd1dad2eedb6e7e45013e7089a2a321ba0e64817a5b67b40a9e2bb2e7f3c
5
5
  SHA512:
6
- metadata.gz: 1a41d498af8a2e92723c05679608294d07acf2cf7a87dfdf5921fe3a385df6369003eef939dd5aeabf970c67f31eb319ac1485d566ac110bcbe6b79f5acc392a
7
- data.tar.gz: e62c355dbdb0ac1e89e43534c5929c80e82b166f5c614b1967d6ff79658835881a9c6803d5072e85a41c83fbefc8db326ba95c6d2f1c5a20ca1b8a0f18ce3cf1
6
+ metadata.gz: be02a0549e1b0bc829bb737e88926c77e74e3b416bf1f5b826df8947bad65001e2fc6f199f7da216e75fc7287fd653ba344cebf1ab652ffd7185806ed61c93bc
7
+ data.tar.gz: e0d470d9ed7d97b518958d2b9999a179079c77a1ddc680c07e2c201a83790de5bc73b7abda17946a3a17652d6eff97fe6b904007470d78b209b36823b952853f
data/.circleci/config.yml CHANGED
@@ -14,21 +14,21 @@ missingdeps: &missingdeps
14
14
  sudo cp /tmp/sources.list /etc/apt/sources.list
15
15
  sudo apt-get update
16
16
  sudo apt-get install cmake libicu-dev libssl-dev
17
-
17
+
18
18
  test: &test
19
19
  name: Test bundle
20
- command: bundle exec rake test
20
+ command: bundle exec rake test --trace
21
21
 
22
22
  executors:
23
- ruby-2-4:
24
- docker:
25
- - image: circleci/ruby:2.4.6
26
23
  ruby-2-5:
27
24
  docker:
28
25
  - image: circleci/ruby:2.5.5
29
26
  ruby-2-6:
30
27
  docker:
31
28
  - image: circleci/ruby:2.6.3
29
+ ruby-2-7:
30
+ docker:
31
+ - image: circleci/ruby:2.7.1
32
32
  jobs:
33
33
  "ruby-test":
34
34
  parameters:
@@ -49,9 +49,9 @@ jobs:
49
49
  workflows:
50
50
  "test_multiple_ruby_versions":
51
51
  jobs:
52
- - ruby-test:
53
- ruby-version: ruby-2-4
54
52
  - ruby-test:
55
53
  ruby-version: ruby-2-5
56
54
  - ruby-test:
57
55
  ruby-version: ruby-2-6
56
+ - ruby-test:
57
+ ruby-version: ruby-2-7
data/.rubocop.yml ADDED
@@ -0,0 +1,57 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.5 # keep in sync with .circleci/config.yml and gemspec
3
+ NewCops: enable
4
+
5
+ Style/EmptyMethod:
6
+ Enabled: false
7
+
8
+ Metrics:
9
+ Enabled: false
10
+
11
+ # not safe ... needs require 'English'
12
+ Style/SpecialGlobalVars:
13
+ Enabled: false
14
+
15
+ Layout/LineLength:
16
+ Max: 205 # TODO: lower
17
+
18
+ Style/Documentation:
19
+ Enabled: false
20
+
21
+ Naming/AccessorMethodName:
22
+ Enabled: false
23
+
24
+ Naming/MethodParameterName:
25
+ Enabled: false
26
+
27
+ Style/IfInsideElse:
28
+ Enabled: false
29
+
30
+ Style/GuardClause:
31
+ Enabled: false
32
+
33
+ Lint/NestedMethodDefinition:
34
+ Enabled: false
35
+
36
+ # TODO: fix
37
+ Style/StringConcatenation:
38
+ Enabled: false
39
+
40
+ Style/NumericPredicate:
41
+ EnforcedStyle: comparison
42
+
43
+ Style/IfUnlessModifier:
44
+ Enabled: false
45
+
46
+ Style/ClassAndModuleChildren:
47
+ Enabled: false
48
+
49
+ # TODO: enable ... somehow breaks tests
50
+ Style/HashEachMethods:
51
+ Enabled: false
52
+
53
+ Style/WordArray:
54
+ EnforcedStyle: brackets
55
+
56
+ Style/SymbolArray:
57
+ EnforcedStyle: brackets
data/Gemfile CHANGED
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
- gem 'codeclimate-test-reporter', '<1.0.0', :group => :test, :require => nil
4
- gem 'rubocop', require: false
5
+ gem 'codeclimate-test-reporter', '<1.0.0', group: :test, require: nil
6
+ gem 'rubocop'
5
7
 
6
8
  # Specify your gem's dependencies in fluent-plugin-add.gemspec
7
9
  gemspec
data/Gemfile.lock CHANGED
@@ -1,47 +1,49 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fluent-plugin-kubernetes_metadata_filter (2.5.0)
5
- fluentd (>= 0.14.0, < 1.12)
4
+ fluent-plugin-kubernetes_metadata_filter (2.7.2)
5
+ fluentd (>= 0.14.0, < 1.14)
6
6
  kubeclient (< 5)
7
7
  lru_redux
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- addressable (2.7.0)
12
+ addressable (2.8.0)
13
13
  public_suffix (>= 2.0.2, < 5.0)
14
14
  ast (2.4.1)
15
- bump (0.9.0)
15
+ bump (0.10.0)
16
16
  charlock_holmes (0.7.7)
17
17
  codeclimate-test-reporter (0.6.0)
18
18
  simplecov (>= 0.7.1, < 1.0.0)
19
- concurrent-ruby (1.1.6)
20
- cool.io (1.6.0)
19
+ concurrent-ruby (1.1.9)
20
+ cool.io (1.7.1)
21
21
  copyright-header (1.0.22)
22
22
  github-linguist
23
- crack (0.4.3)
24
- safe_yaml (~> 1.0.0)
25
- docile (1.3.2)
23
+ crack (0.4.5)
24
+ rexml
25
+ docile (1.3.5)
26
26
  domain_name (0.5.20190701)
27
27
  unf (>= 0.0.5, < 1.0.0)
28
28
  escape_utils (1.2.1)
29
- ffi (1.13.1)
29
+ ffi (1.15.3)
30
30
  ffi-compiler (1.0.1)
31
31
  ffi (>= 1.0.0)
32
32
  rake
33
- fluentd (1.11.1)
33
+ fluentd (1.13.2)
34
+ bundler
34
35
  cool.io (>= 1.4.5, < 2.0.0)
35
- http_parser.rb (>= 0.5.1, < 0.7.0)
36
+ http_parser.rb (>= 0.5.1, < 0.8.0)
36
37
  msgpack (>= 1.3.1, < 2.0.0)
37
- serverengine (>= 2.0.4, < 3.0.0)
38
+ serverengine (>= 2.2.2, < 3.0.0)
38
39
  sigdump (~> 0.2.2)
39
40
  strptime (>= 0.2.2, < 1.0.0)
40
41
  tzinfo (>= 1.0, < 3.0)
41
42
  tzinfo-data (~> 1.0)
43
+ webrick (>= 1.4.2, < 1.8.0)
42
44
  yajl-ruby (~> 1.0)
43
- github-linguist (7.9.0)
44
- charlock_holmes (~> 0.7.6)
45
+ github-linguist (7.12.2)
46
+ charlock_holmes (~> 0.7.7)
45
47
  escape_utils (~> 1.2.0)
46
48
  mini_mime (~> 1.0)
47
49
  rugged (>= 0.25.1)
@@ -52,80 +54,86 @@ GEM
52
54
  http-form_data (~> 2.2)
53
55
  http-parser (~> 1.2.0)
54
56
  http-accept (1.7.0)
55
- http-cookie (1.0.3)
57
+ http-cookie (1.0.4)
56
58
  domain_name (~> 0.5)
57
59
  http-form_data (2.3.0)
58
- http-parser (1.2.1)
60
+ http-parser (1.2.3)
59
61
  ffi-compiler (>= 1.0, < 2.0)
60
- http_parser.rb (0.6.0)
61
- kubeclient (4.7.0)
62
+ http_parser.rb (0.7.0)
63
+ jsonpath (1.1.0)
64
+ multi_json
65
+ kubeclient (4.9.2)
62
66
  http (>= 3.0, < 5.0)
67
+ jsonpath (~> 1.0)
63
68
  recursive-open-struct (~> 1.1, >= 1.1.1)
64
69
  rest-client (~> 2.0)
65
70
  lru_redux (1.1.0)
66
71
  mime-types (3.3.1)
67
72
  mime-types-data (~> 3.2015)
68
- mime-types-data (3.2020.0512)
73
+ mime-types-data (3.2021.0704)
69
74
  mini_mime (1.0.2)
70
75
  minitest (4.7.5)
71
- msgpack (1.3.3)
76
+ msgpack (1.4.2)
77
+ multi_json (1.15.0)
72
78
  netrc (0.11.0)
73
- parallel (1.19.2)
74
- parser (2.7.1.4)
79
+ parallel (1.20.1)
80
+ parser (3.0.0.0)
75
81
  ast (~> 2.4.1)
76
82
  power_assert (1.2.0)
77
- public_suffix (4.0.5)
83
+ public_suffix (4.0.6)
78
84
  rainbow (3.0.0)
79
- rake (13.0.1)
80
- recursive-open-struct (1.1.2)
81
- regexp_parser (1.7.1)
85
+ rake (13.0.3)
86
+ recursive-open-struct (1.1.3)
87
+ regexp_parser (2.0.3)
82
88
  rest-client (2.1.0)
83
89
  http-accept (>= 1.7.0, < 2.0)
84
90
  http-cookie (>= 1.0.2, < 2.0)
85
91
  mime-types (>= 1.16, < 4.0)
86
92
  netrc (~> 0.8)
87
- rexml (3.2.4)
93
+ rexml (3.2.5)
88
94
  rr (1.2.1)
89
- rubocop (0.86.0)
95
+ rubocop (1.8.1)
90
96
  parallel (~> 1.10)
91
- parser (>= 2.7.0.1)
97
+ parser (>= 3.0.0.0)
92
98
  rainbow (>= 2.2.2, < 4.0)
93
- regexp_parser (>= 1.7)
99
+ regexp_parser (>= 1.8, < 3.0)
94
100
  rexml
95
- rubocop-ast (>= 0.0.3, < 1.0)
101
+ rubocop-ast (>= 1.2.0, < 2.0)
96
102
  ruby-progressbar (~> 1.7)
97
- unicode-display_width (>= 1.4.0, < 2.0)
98
- rubocop-ast (0.1.0)
99
- parser (>= 2.7.0.1)
100
- ruby-progressbar (1.10.1)
101
- rugged (1.0.1)
102
- safe_yaml (1.0.5)
103
- serverengine (2.2.1)
103
+ unicode-display_width (>= 1.4.0, < 3.0)
104
+ rubocop-ast (1.4.0)
105
+ parser (>= 2.7.1.5)
106
+ ruby-progressbar (1.11.0)
107
+ rugged (1.1.0)
108
+ serverengine (2.2.4)
104
109
  sigdump (~> 0.2.2)
105
110
  sigdump (0.2.4)
106
- simplecov (0.18.5)
111
+ simplecov (0.21.2)
107
112
  docile (~> 1.1)
108
113
  simplecov-html (~> 0.11)
109
- simplecov-html (0.12.2)
110
- strptime (0.2.4)
114
+ simplecov_json_formatter (~> 0.1)
115
+ simplecov-html (0.12.3)
116
+ simplecov_json_formatter (0.1.2)
117
+ strptime (0.2.5)
111
118
  test-unit (3.0.9)
112
119
  power_assert
113
120
  test-unit-rr (1.0.5)
114
121
  rr (>= 1.1.1)
115
122
  test-unit (>= 2.5.2)
116
- tzinfo (2.0.2)
123
+ tzinfo (2.0.4)
117
124
  concurrent-ruby (~> 1.0)
118
- tzinfo-data (1.2020.1)
125
+ tzinfo-data (1.2021.1)
119
126
  tzinfo (>= 1.0.0)
120
127
  unf (0.1.4)
121
128
  unf_ext
122
129
  unf_ext (0.0.7.7)
123
- unicode-display_width (1.7.0)
130
+ unicode-display_width (2.0.0)
124
131
  vcr (6.0.0)
125
- webmock (3.8.3)
132
+ webmock (3.11.1)
126
133
  addressable (>= 2.3.6)
127
134
  crack (>= 0.3.2)
128
135
  hashdiff (>= 0.4.0, < 2.0.0)
136
+ webrick (1.7.0)
129
137
  yajl-ruby (1.4.1)
130
138
 
131
139
  PLATFORMS
@@ -147,4 +155,4 @@ DEPENDENCIES
147
155
  yajl-ruby
148
156
 
149
157
  BUNDLED WITH
150
- 2.1.4
158
+ 2.2.19
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
  [![Circle CI](https://circleci.com/gh/fabric8io/fluent-plugin-kubernetes_metadata_filter.svg?style=svg)](https://circleci.com/gh/fabric8io/fluent-plugin-kubernetes_metadata_filter)
3
3
  [![Code Climate](https://codeclimate.com/github/fabric8io/fluent-plugin-kubernetes_metadata_filter/badges/gpa.svg)](https://codeclimate.com/github/fabric8io/fluent-plugin-kubernetes_metadata_filter)
4
4
  [![Test Coverage](https://codeclimate.com/github/fabric8io/fluent-plugin-kubernetes_metadata_filter/badges/coverage.svg)](https://codeclimate.com/github/fabric8io/fluent-plugin-kubernetes_metadata_filter)
5
+ [![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop-hq/rubocop)
6
+ [![Ruby Style Guide](https://img.shields.io/badge/code_style-community-brightgreen.svg)](https://rubystyle.guide)
5
7
 
6
8
  The Kubernetes metadata plugin filter enriches container log records with pod and namespace metadata.
7
9
 
@@ -39,7 +41,7 @@ Configuration options for fluent.conf are:
39
41
  * `client_key` - path to a client key file to authenticate to the API server
40
42
  * `bearer_token_file` - path to a file containing the bearer token to use for authentication
41
43
  * `tag_to_kubernetes_name_regexp` - the regular expression used to extract kubernetes metadata (pod name, container name, namespace) from the current fluentd tag.
42
- This must used named capture groups for `container_name`, `pod_name` & `namespace` (default: `\.(?<pod_name>[^\._]+)_(?<namespace>[^_]+)_(?<container_name>.+)-(?<docker_id>[a-z0-9]{64})\.log$</pod>)`)
44
+ This must used named capture groups for `container_name`, `pod_name` & `namespace` default: See [code](https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter/blob/master/lib/fluent/plugin/filter_kubernetes_metadata.rb#L52)
43
45
  * `cache_size` - size of the cache of Kubernetes metadata to reduce requests to the API server (default: `1000`)
44
46
  * `cache_ttl` - TTL in seconds of each cached element. Set to negative value to disable TTL eviction (default: `3600` - 1 hour)
45
47
  * `watch` - set up a watch on pods on the API server for updates to metadata (default: `true`)
@@ -47,7 +49,7 @@ This must used named capture groups for `container_name`, `pod_name` & `namespac
47
49
  * `de_dot_separator` - separator to use if `de_dot` is enabled (default: `_`)
48
50
  * *DEPRECATED* `use_journal` - If false, messages are expected to be formatted and tagged as if read by the fluentd in\_tail plugin with wildcard filename. If true, messages are expected to be formatted as if read from the systemd journal. The `MESSAGE` field has the full message. The `CONTAINER_NAME` field has the encoded k8s metadata (see below). The `CONTAINER_ID_FULL` field has the full container uuid. This requires docker to use the `--log-driver=journald` log driver. If unset (the default), the plugin will use the `CONTAINER_NAME` and `CONTAINER_ID_FULL` fields
49
51
  if available, otherwise, will use the tag in the `tag_to_kubernetes_name_regexp` format.
50
- * `container_name_to_kubernetes_regexp` - The regular expression used to extract the k8s metadata encoded in the journal `CONTAINER_NAME` field (default: `'^(?<name_prefix>[^_]+)_(?<container_name>[^\._]+)(\.(?<container_hash>[^_]+))?_(?<pod_name>[^_]+)_(?<namespace>[^_]+)_[^_]+_[^_]+$'`
52
+ * `container_name_to_kubernetes_regexp` - The regular expression used to extract the k8s metadata encoded in the journal `CONTAINER_NAME` field default: See [code](https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter/blob/master/lib/fluent/plugin/filter_kubernetes_metadata.rb#L68)
51
53
  * This corresponds to the definition [in the source](https://github.com/kubernetes/kubernetes/blob/release-1.6/pkg/kubelet/dockertools/docker.go#L317)
52
54
  * `annotation_match` - Array of regular expressions matching annotation field names. Matched annotations are added to a log record.
53
55
  * `allow_orphans` - Modify the namespace and namespace id to the values of `orphaned_namespace_name` and `orphaned_namespace_id`
data/Rakefile CHANGED
@@ -1,10 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/setup'
1
4
  require 'bundler/gem_tasks'
2
5
  require 'rake/testtask'
3
6
  require 'bump/tasks'
7
+ require 'rubocop/rake_task'
4
8
 
5
- task :test => [:base_test]
9
+ task test: [:base_test]
10
+ task default: [:test, :build, :rubocop]
6
11
 
7
- task :default => [:test, :build]
12
+ RuboCop::RakeTask.new
8
13
 
9
14
  desc 'Run test_unit based test'
10
15
  Rake::TestTask.new(:base_test) do |t|
@@ -13,7 +18,6 @@ Rake::TestTask.new(:base_test) do |t|
13
18
  # $ bundle exec rake base_test TEST=test/test_*.rb
14
19
  t.libs << 'test'
15
20
  t.test_files = Dir['test/**/test_*.rb'].sort
16
- #t.verbose = true
17
21
  t.warning = false
18
22
  end
19
23
 
@@ -23,15 +27,15 @@ task :headers do
23
27
  require 'copyright_header'
24
28
 
25
29
  args = {
26
- :license => 'Apache-2.0',
27
- :copyright_software => 'Fluentd Kubernetes Metadata Filter Plugin',
28
- :copyright_software_description => 'Enrich Fluentd events with Kubernetes metadata',
29
- :copyright_holders => ['Red Hat, Inc.'],
30
- :copyright_years => ['2015-2017'],
31
- :add_path => 'lib:test',
32
- :output_dir => '.'
30
+ license: 'Apache-2.0',
31
+ copyright_software: 'Fluentd Kubernetes Metadata Filter Plugin',
32
+ copyright_software_description: 'Enrich Fluentd events with Kubernetes metadata',
33
+ copyright_holders: ['Red Hat, Inc.'],
34
+ copyright_years: ['2015-2021'],
35
+ add_path: 'lib:test',
36
+ output_dir: '.'
33
37
  }
34
38
 
35
- command_line = CopyrightHeader::CommandLine.new( args )
39
+ command_line = CopyrightHeader::CommandLine.new(args)
36
40
  command_line.execute
37
41
  end
@@ -1,36 +1,34 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
 
5
6
  Gem::Specification.new do |gem|
6
- gem.name = "fluent-plugin-kubernetes_metadata_filter"
7
- gem.version = "2.5.0"
8
- gem.authors = ["Jimmi Dyson"]
9
- gem.email = ["jimmidyson@gmail.com"]
10
- gem.description = %q{Filter plugin to add Kubernetes metadata}
11
- gem.summary = %q{Fluentd filter plugin to add Kubernetes metadata}
12
- gem.homepage = "https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter"
13
- gem.license = "Apache-2.0"
7
+ gem.name = 'fluent-plugin-kubernetes_metadata_filter'
8
+ gem.version = '2.7.2'
9
+ gem.authors = ['Jimmi Dyson']
10
+ gem.email = ['jimmidyson@gmail.com']
11
+ gem.description = 'Filter plugin to add Kubernetes metadata'
12
+ gem.summary = 'Fluentd filter plugin to add Kubernetes metadata'
13
+ gem.homepage = 'https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter'
14
+ gem.license = 'Apache-2.0'
14
15
 
15
16
  gem.files = `git ls-files`.split($/)
16
- gem.executables = gem.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
- gem.require_paths = ["lib"]
19
17
 
20
- gem.required_ruby_version = '>= 2.1.0'
18
+ gem.required_ruby_version = '>= 2.5.0'
21
19
 
22
- gem.add_runtime_dependency 'fluentd', ['>= 0.14.0', '< 1.12']
23
- gem.add_runtime_dependency "lru_redux"
24
- gem.add_runtime_dependency "kubeclient", '< 5'
20
+ gem.add_runtime_dependency 'fluentd', ['>= 0.14.0', '< 1.14']
21
+ gem.add_runtime_dependency 'kubeclient', '< 5'
22
+ gem.add_runtime_dependency 'lru_redux'
25
23
 
26
- gem.add_development_dependency "bundler", "~> 2.0"
27
- gem.add_development_dependency "rake"
28
- gem.add_development_dependency "minitest", "~> 4.0"
29
- gem.add_development_dependency "test-unit", "~> 3.0.2"
30
- gem.add_development_dependency "test-unit-rr", "~> 1.0.3"
31
- gem.add_development_dependency "copyright-header"
32
- gem.add_development_dependency "webmock"
33
- gem.add_development_dependency "vcr"
34
- gem.add_development_dependency "bump"
35
- gem.add_development_dependency "yajl-ruby"
24
+ gem.add_development_dependency 'bump'
25
+ gem.add_development_dependency 'bundler', '~> 2.0'
26
+ gem.add_development_dependency 'copyright-header'
27
+ gem.add_development_dependency 'minitest', '~> 4.0'
28
+ gem.add_development_dependency 'rake'
29
+ gem.add_development_dependency 'test-unit', '~> 3.0.2'
30
+ gem.add_development_dependency 'test-unit-rr', '~> 1.0.3'
31
+ gem.add_development_dependency 'vcr'
32
+ gem.add_development_dependency 'webmock'
33
+ gem.add_development_dependency 'yajl-ruby'
36
34
  end