fluent-plugin-kubernetes_metadata_filter 2.5.1 → 2.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fb4fedca66daf5e4073101607933eaf70d0ed6295cf8ac73207e70947b2bbe28
4
- data.tar.gz: fb6a9d7a9e1eadfbb2d8e3c802611561d904ba4a7ed3948b5a305a140df848df
3
+ metadata.gz: b2e43f94ecc34a05001fc55388edb83d428cd2f8f74f4b81fe9b851f42657968
4
+ data.tar.gz: 199b8d7382a9de36b2150fbeb0d78b0ff3b6e5f03d0eb1bc52dc778f9d7bb3f0
5
5
  SHA512:
6
- metadata.gz: 7f86f7472899a36b95316e5b37fb03ab0b893f6fe58b13cb9b5957ef5557ee6e7efd82bf74fe20525644002ac86d65c8b95c1f9e96e617355c0021c9b8e3689b
7
- data.tar.gz: 505c4a63b0e87f068eaff8530bcb75fb0efa1eeb0abd5796d5bd41f9d3c49cc4fe3e59be2553203ed5b7b2901cff7f91046763bfefd40eb4049240d295dd7107
6
+ metadata.gz: 8ae1a9211df6278a8a54041d7db08d50bc1946f9ad3a63499e2e46facf95f4637591f4518418bf13aab67cae88a773caec0400e8264b02333576f1fd52f42231
7
+ data.tar.gz: 007a4a1701bfeb551fcc1efef903a4c4cbc62fbca94eca67ed9295bcd883191dbf3bdaff4d15ec5b11f3d7e6c3fdb14a21cd857f20338bb021e9b2cef4a6b930
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,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fluent-plugin-kubernetes_metadata_filter (2.5.1)
5
- fluentd (>= 0.14.0, < 1.12)
4
+ fluent-plugin-kubernetes_metadata_filter (2.7.1)
5
+ fluentd (>= 0.14.0, < 1.14)
6
6
  kubeclient (< 5)
7
7
  lru_redux
8
8
 
@@ -12,36 +12,38 @@ GEM
12
12
  addressable (2.7.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.1)
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.0)
34
+ bundler
34
35
  cool.io (>= 1.4.5, < 2.0.0)
35
36
  http_parser.rb (>= 0.5.1, < 0.7.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,16 +54,15 @@ 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
62
  http_parser.rb (0.6.0)
61
- jsonpath (1.0.5)
63
+ jsonpath (1.1.0)
62
64
  multi_json
63
- to_regexp (~> 0.2.1)
64
- kubeclient (4.8.0)
65
+ kubeclient (4.9.2)
65
66
  http (>= 3.0, < 5.0)
66
67
  jsonpath (~> 1.0)
67
68
  recursive-open-struct (~> 1.1, >= 1.1.1)
@@ -69,69 +70,70 @@ GEM
69
70
  lru_redux (1.1.0)
70
71
  mime-types (3.3.1)
71
72
  mime-types-data (~> 3.2015)
72
- mime-types-data (3.2020.0512)
73
+ mime-types-data (3.2021.0225)
73
74
  mini_mime (1.0.2)
74
75
  minitest (4.7.5)
75
- msgpack (1.3.3)
76
+ msgpack (1.4.2)
76
77
  multi_json (1.15.0)
77
78
  netrc (0.11.0)
78
- parallel (1.19.2)
79
- parser (2.7.1.4)
79
+ parallel (1.20.1)
80
+ parser (3.0.0.0)
80
81
  ast (~> 2.4.1)
81
82
  power_assert (1.2.0)
82
- public_suffix (4.0.5)
83
+ public_suffix (4.0.6)
83
84
  rainbow (3.0.0)
84
- rake (13.0.1)
85
- recursive-open-struct (1.1.2)
86
- regexp_parser (1.7.1)
85
+ rake (13.0.3)
86
+ recursive-open-struct (1.1.3)
87
+ regexp_parser (2.0.3)
87
88
  rest-client (2.1.0)
88
89
  http-accept (>= 1.7.0, < 2.0)
89
90
  http-cookie (>= 1.0.2, < 2.0)
90
91
  mime-types (>= 1.16, < 4.0)
91
92
  netrc (~> 0.8)
92
- rexml (3.2.4)
93
+ rexml (3.2.5)
93
94
  rr (1.2.1)
94
- rubocop (0.86.0)
95
+ rubocop (1.8.1)
95
96
  parallel (~> 1.10)
96
- parser (>= 2.7.0.1)
97
+ parser (>= 3.0.0.0)
97
98
  rainbow (>= 2.2.2, < 4.0)
98
- regexp_parser (>= 1.7)
99
+ regexp_parser (>= 1.8, < 3.0)
99
100
  rexml
100
- rubocop-ast (>= 0.0.3, < 1.0)
101
+ rubocop-ast (>= 1.2.0, < 2.0)
101
102
  ruby-progressbar (~> 1.7)
102
- unicode-display_width (>= 1.4.0, < 2.0)
103
- rubocop-ast (0.1.0)
104
- parser (>= 2.7.0.1)
105
- ruby-progressbar (1.10.1)
106
- rugged (1.0.1)
107
- safe_yaml (1.0.5)
108
- 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)
109
109
  sigdump (~> 0.2.2)
110
110
  sigdump (0.2.4)
111
- simplecov (0.18.5)
111
+ simplecov (0.21.2)
112
112
  docile (~> 1.1)
113
113
  simplecov-html (~> 0.11)
114
- simplecov-html (0.12.2)
115
- 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)
116
118
  test-unit (3.0.9)
117
119
  power_assert
118
120
  test-unit-rr (1.0.5)
119
121
  rr (>= 1.1.1)
120
122
  test-unit (>= 2.5.2)
121
- to_regexp (0.2.1)
122
- tzinfo (2.0.2)
123
+ tzinfo (2.0.4)
123
124
  concurrent-ruby (~> 1.0)
124
- tzinfo-data (1.2020.1)
125
+ tzinfo-data (1.2021.1)
125
126
  tzinfo (>= 1.0.0)
126
127
  unf (0.1.4)
127
128
  unf_ext
128
129
  unf_ext (0.0.7.7)
129
- unicode-display_width (1.7.0)
130
+ unicode-display_width (2.0.0)
130
131
  vcr (6.0.0)
131
- webmock (3.8.3)
132
+ webmock (3.11.1)
132
133
  addressable (>= 2.3.6)
133
134
  crack (>= 0.3.2)
134
135
  hashdiff (>= 0.4.0, < 2.0.0)
136
+ webrick (1.7.0)
135
137
  yajl-ruby (1.4.1)
136
138
 
137
139
  PLATFORMS
@@ -153,4 +155,4 @@ DEPENDENCIES
153
155
  yajl-ruby
154
156
 
155
157
  BUNDLED WITH
156
- 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.1"
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.1'
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