fluent-plugin-kubernetes_metadata_filter 2.7.2 → 2.9.1

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: 3815fdb2ea8a0bbe7c2bccdb63edc62c92edd96f8c7b31a5bade805b738a5b09
4
- data.tar.gz: bb92cd1dad2eedb6e7e45013e7089a2a321ba0e64817a5b67b40a9e2bb2e7f3c
3
+ metadata.gz: db4f0f5b097c04e8f958729fcd3946a08cff0629d38aa0844c062c511a318cf6
4
+ data.tar.gz: c828b3a3979a151d6fdabc73f0dd576c3e0e599e7fb9bb47ec4fe194daa63efa
5
5
  SHA512:
6
- metadata.gz: be02a0549e1b0bc829bb737e88926c77e74e3b416bf1f5b826df8947bad65001e2fc6f199f7da216e75fc7287fd653ba344cebf1ab652ffd7185806ed61c93bc
7
- data.tar.gz: e0d470d9ed7d97b518958d2b9999a179079c77a1ddc680c07e2c201a83790de5bc73b7abda17946a3a17652d6eff97fe6b904007470d78b209b36823b952853f
6
+ metadata.gz: 93aa9bfb3f313a035f5e00d8e82d8c898714058e6e591eb2b42a417f4c2ad58e8b4058d77b9a8943172231e936404d5d4cd5239f30e57f39eb629fd36bf973ca
7
+ data.tar.gz: a2615917cede625dda017f0b722999d3771dc8ce78f54b685d557884ad8bc13909899b34d8264e6f1d0a0b028f611c5635832f28f8198536837317f40064c157
data/.circleci/config.yml CHANGED
@@ -12,7 +12,7 @@ missingdeps: &missingdeps
12
12
  cat /etc/os-release
13
13
  printf "deb http://deb.debian.org/debian buster main\ndeb http://security.debian.org buster/updates main\ndeb-src http://security.debian.org buster/updates main" > /tmp/sources.list
14
14
  sudo cp /tmp/sources.list /etc/apt/sources.list
15
- sudo apt-get update
15
+ sudo apt-get --allow-releaseinfo-change update
16
16
  sudo apt-get install cmake libicu-dev libssl-dev
17
17
 
18
18
  test: &test
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fluent-plugin-kubernetes_metadata_filter (2.7.2)
5
- fluentd (>= 0.14.0, < 1.14)
6
- kubeclient (< 5)
4
+ fluent-plugin-kubernetes_metadata_filter (2.9.1)
5
+ fluentd (>= 0.14.0, < 1.15)
6
+ kubeclient (>= 4.0.0, < 5.0.0)
7
7
  lru_redux
8
8
 
9
9
  GEM
@@ -26,11 +26,11 @@ GEM
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.15.3)
29
+ ffi (1.15.4)
30
30
  ffi-compiler (1.0.1)
31
31
  ffi (>= 1.0.0)
32
32
  rake
33
- fluentd (1.13.2)
33
+ fluentd (1.14.1)
34
34
  bundler
35
35
  cool.io (>= 1.4.5, < 2.0.0)
36
36
  http_parser.rb (>= 0.5.1, < 0.8.0)
@@ -70,7 +70,7 @@ GEM
70
70
  lru_redux (1.1.0)
71
71
  mime-types (3.3.1)
72
72
  mime-types-data (~> 3.2015)
73
- mime-types-data (3.2021.0704)
73
+ mime-types-data (3.2021.0901)
74
74
  mini_mime (1.0.2)
75
75
  minitest (4.7.5)
76
76
  msgpack (1.4.2)
@@ -122,11 +122,11 @@ GEM
122
122
  test-unit (>= 2.5.2)
123
123
  tzinfo (2.0.4)
124
124
  concurrent-ruby (~> 1.0)
125
- tzinfo-data (1.2021.1)
125
+ tzinfo-data (1.2021.3)
126
126
  tzinfo (>= 1.0.0)
127
127
  unf (0.1.4)
128
128
  unf_ext
129
- unf_ext (0.0.7.7)
129
+ unf_ext (0.0.8)
130
130
  unicode-display_width (2.0.0)
131
131
  vcr (6.0.0)
132
132
  webmock (3.11.1)
data/README.md CHANGED
@@ -45,8 +45,10 @@ This must used named capture groups for `container_name`, `pod_name` & `namespac
45
45
  * `cache_size` - size of the cache of Kubernetes metadata to reduce requests to the API server (default: `1000`)
46
46
  * `cache_ttl` - TTL in seconds of each cached element. Set to negative value to disable TTL eviction (default: `3600` - 1 hour)
47
47
  * `watch` - set up a watch on pods on the API server for updates to metadata (default: `true`)
48
- * `de_dot` - replace dots in labels and annotations with configured `de_dot_separator`, required for ElasticSearch 2.x compatibility (default: `true`)
48
+ * `de_dot` - replace dots in labels and annotations with configured `de_dot_separator`, required for Datadog and ElasticSearch 2.x compatibility (default: `true`)
49
49
  * `de_dot_separator` - separator to use if `de_dot` is enabled (default: `_`)
50
+ * `de_slash` - replace slashes in labels and annotations with configured `de_slash_separator`, required for Datadog compatibility (default: `false`)
51
+ * `de_slash_separator` - separator to use if `de_slash` is enabled (default: `__`)
50
52
  * *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
51
53
  if available, otherwise, will use the tag in the `tag_to_kubernetes_name_regexp` format.
52
54
  * `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)
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = 'fluent-plugin-kubernetes_metadata_filter'
8
- gem.version = '2.7.2'
8
+ gem.version = '2.9.1'
9
9
  gem.authors = ['Jimmi Dyson']
10
10
  gem.email = ['jimmidyson@gmail.com']
11
11
  gem.description = 'Filter plugin to add Kubernetes metadata'
@@ -17,8 +17,8 @@ Gem::Specification.new do |gem|
17
17
 
18
18
  gem.required_ruby_version = '>= 2.5.0'
19
19
 
20
- gem.add_runtime_dependency 'fluentd', ['>= 0.14.0', '< 1.14']
21
- gem.add_runtime_dependency 'kubeclient', '< 5'
20
+ gem.add_runtime_dependency 'fluentd', ['>= 0.14.0', '< 1.15']
21
+ gem.add_runtime_dependency 'kubeclient', ['>= 4.0.0', '< 5.0.0']
22
22
  gem.add_runtime_dependency 'lru_redux'
23
23
 
24
24
  gem.add_development_dependency 'bump'
@@ -58,6 +58,8 @@ module Fluent::Plugin
58
58
  config_param :secret_dir, :string, default: '/var/run/secrets/kubernetes.io/serviceaccount'
59
59
  config_param :de_dot, :bool, default: true
60
60
  config_param :de_dot_separator, :string, default: '_'
61
+ config_param :de_slash, :bool, default: false
62
+ config_param :de_slash_separator, :string, default: '__'
61
63
  # if reading from the journal, the record will contain the following fields in the following
62
64
  # format:
63
65
  # CONTAINER_NAME=k8s_$containername.$containerhash_$podname_$namespacename_$poduuid_$rand32bitashex
@@ -166,6 +168,10 @@ module Fluent::Plugin
166
168
  raise Fluent::ConfigError, "Invalid de_dot_separator: cannot be or contain '.'"
167
169
  end
168
170
 
171
+ if @de_slash && @de_slash_separator.include?('/')
172
+ raise Fluent::ConfigError, "Invalid de_slash_separator: cannot be or contain '/'"
173
+ end
174
+
169
175
  if @cache_ttl < 0
170
176
  log.info 'Setting the cache TTL to :none because it was <= 0'
171
177
  @cache_ttl = :none
@@ -381,6 +387,16 @@ module Fluent::Plugin
381
387
  end
382
388
  end
383
389
 
390
+ def de_slash!(h)
391
+ h.keys.each do |ref|
392
+ next unless h[ref] && ref =~ /\//
393
+
394
+ v = h.delete(ref)
395
+ newref = ref.to_s.gsub('/', @de_slash_separator)
396
+ h[newref] = v
397
+ end
398
+ end
399
+
384
400
  # copied from activesupport
385
401
  def present?(object)
386
402
  object.respond_to?(:empty?) ? !object.empty? : !!object
@@ -47,6 +47,10 @@ module KubernetesMetadata
47
47
  de_dot!(labels) unless @skip_labels
48
48
  de_dot!(annotations)
49
49
  end
50
+ if @de_slash
51
+ de_slash!(labels) unless @skip_labels
52
+ de_slash!(annotations)
53
+ end
50
54
  kubernetes_metadata = {
51
55
  'namespace_id' => namespace_object[:metadata][:uid],
52
56
  'creation_timestamp' => namespace_object[:metadata][:creationTimestamp]
@@ -65,13 +69,17 @@ module KubernetesMetadata
65
69
  de_dot!(labels) unless @skip_labels
66
70
  de_dot!(annotations)
67
71
  end
72
+ if @de_slash
73
+ de_slash!(labels) unless @skip_labels
74
+ de_slash!(annotations)
75
+ end
68
76
 
69
77
  # collect container information
70
78
  container_meta = {}
71
79
  begin
72
80
  pod_object[:status][:containerStatuses].each do |container_status|
73
81
  # get plain container id (eg. docker://hash -> hash)
74
- container_id = container_status[:containerID].sub(%r{^[-_a-zA-Z0-9]+://}, '')
82
+ container_id = container_status[:containerID] ? container_status[:containerID].sub(%r{^[-_a-zA-Z0-9]+://}, '') : container_status[:name]
75
83
  container_meta[container_id] = if @skip_container_metadata
76
84
  {
77
85
  'name' => container_status[:name]
@@ -83,9 +91,9 @@ module KubernetesMetadata
83
91
  'image_id' => container_status[:imageID]
84
92
  }
85
93
  end
86
- end
87
- rescue StandardError
88
- log.debug("parsing container meta information failed for: #{pod_object[:metadata][:namespace]}/#{pod_object[:metadata][:name]} ")
94
+ end if pod_object[:status] && pod_object[:status][:containerStatuses]
95
+ rescue StandardError=>e
96
+ log.warn("parsing container meta information failed for: #{pod_object[:metadata][:namespace]}/#{pod_object[:metadata][:name]}: #{e}")
89
97
  end
90
98
 
91
99
  kubernetes_metadata = {
@@ -0,0 +1,145 @@
1
+ #
2
+ # Fluentd Kubernetes Metadata Filter Plugin - Enrich Fluentd events with
3
+ # Kubernetes metadata
4
+ #
5
+ # Copyright 2015 Red Hat, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ ---
20
+ http_interactions:
21
+ - request:
22
+ method: get
23
+ uri: https://localhost:8443/api/v1/namespaces/default/pods/fabric8-console-controller-98rqc
24
+ body:
25
+ encoding: US-ASCII
26
+ string: ''
27
+ headers:
28
+ Accept:
29
+ - "*/*; q=0.5, application/xml"
30
+ Accept-Encoding:
31
+ - gzip, deflate
32
+ User-Agent:
33
+ - Ruby
34
+ response:
35
+ status:
36
+ code: 200
37
+ message: OK
38
+ headers:
39
+ Content-Type:
40
+ - application/json
41
+ Date:
42
+ - Fri, 08 May 2015 10:35:37 GMT
43
+ Transfer-Encoding:
44
+ - chunked
45
+ body:
46
+ encoding: UTF-8
47
+ string: |-
48
+ {
49
+ "kind": "Pod",
50
+ "apiVersion": "v1",
51
+ "metadata": {
52
+ "name": "fabric8-console-controller-98rqc",
53
+ "generateName": "fabric8-console-controller-",
54
+ "namespace": "default",
55
+ "selfLink": "/api/v1/namespaces/default/pods/fabric8-console-controller-98rqc",
56
+ "uid": "c76927af-f563-11e4-b32d-54ee7527188d",
57
+ "resourceVersion": "122",
58
+ "creationTimestamp": "2015-05-08T09:22:42Z",
59
+ "labels": {
60
+ "component": "fabric8Console"
61
+ }
62
+ },
63
+ "spec": {
64
+ "volumes": [
65
+ {
66
+ "name": "openshift-cert-secrets",
67
+ "hostPath": null,
68
+ "emptyDir": null,
69
+ "gcePersistentDisk": null,
70
+ "gitRepo": null,
71
+ "secret": {
72
+ "secretName": "openshift-cert-secrets"
73
+ },
74
+ "nfs": null,
75
+ "iscsi": null,
76
+ "glusterfs": null
77
+ }
78
+ ],
79
+ "containers": [
80
+ {
81
+ "name": "fabric8-console-container",
82
+ "image": "fabric8/hawtio-kubernetes:latest",
83
+ "ports": [
84
+ {
85
+ "containerPort": 9090,
86
+ "protocol": "TCP"
87
+ }
88
+ ],
89
+ "env": [
90
+ {
91
+ "name": "OAUTH_CLIENT_ID",
92
+ "value": "fabric8-console"
93
+ },
94
+ {
95
+ "name": "OAUTH_AUTHORIZE_URI",
96
+ "value": "https://localhost:8443/oauth/authorize"
97
+ }
98
+ ],
99
+ "resources": {},
100
+ "volumeMounts": [
101
+ {
102
+ "name": "openshift-cert-secrets",
103
+ "readOnly": true,
104
+ "mountPath": "/etc/secret-volume"
105
+ }
106
+ ],
107
+ "terminationMessagePath": "/dev/termination-log",
108
+ "imagePullPolicy": "IfNotPresent",
109
+ "capabilities": {}
110
+ }
111
+ ],
112
+ "restartPolicy": "Always",
113
+ "dnsPolicy": "ClusterFirst",
114
+ "nodeName": "jimmi-redhat.localnet"
115
+ },
116
+ "status": {
117
+ "phase": "Running",
118
+ "Condition": [
119
+ {
120
+ "type": "Ready",
121
+ "status": "True"
122
+ }
123
+ ],
124
+ "hostIP": "172.17.42.1",
125
+ "podIP": "172.17.0.8",
126
+ "containerStatuses": [
127
+ {
128
+ "name": "fabric8-console-container",
129
+ "state": {
130
+ "waiting": {
131
+ "reason": "ContainerCreating"
132
+ }
133
+ },
134
+ "lastState": {},
135
+ "ready": true,
136
+ "restartCount": 0,
137
+ "image": "fabric8/hawtio-kubernetes:latest",
138
+ "imageID": ""
139
+ }
140
+ ]
141
+ }
142
+ }
143
+ http_version:
144
+ recorded_at: Fri, 08 May 2015 10:35:37 GMT
145
+ recorded_with: VCR 2.9.3
@@ -165,6 +165,43 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
165
165
  plugin.filter_stream('tag', Fluent::MultiEventStream.new)
166
166
  end
167
167
 
168
+ sub_test_case 'parsing_pod_metadata' do
169
+ test 'when container_status is missing from the pod status' do
170
+ VCR.use_cassettes(
171
+ [
172
+ { name: 'valid_kubernetes_api_server' },
173
+ { name: 'kubernetes_get_api_v1' },
174
+ { name: 'kubernetes_get_namespace_default' },
175
+ { name: 'kubernetes_get_pod_container_init' }
176
+ ]) do
177
+ filtered = emit({}, '
178
+ kubernetes_url https://localhost:8443
179
+ watch false
180
+ cache_size 1
181
+ ')
182
+ expected_kube_metadata = {
183
+ 'docker' => {
184
+ 'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
185
+ },
186
+ 'kubernetes' => {
187
+ 'container_name'=>'fabric8-console-container',
188
+ 'host' => 'jimmi-redhat.localnet',
189
+ 'pod_name' => 'fabric8-console-controller-98rqc',
190
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
191
+ 'namespace_name' => 'default',
192
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
193
+ 'pod_ip' => '172.17.0.8',
194
+ 'master_url' => 'https://localhost:8443',
195
+ 'labels' => {
196
+ 'component' => 'fabric8Console'
197
+ }
198
+ }
199
+ }
200
+ assert_equal(expected_kube_metadata, filtered[0])
201
+ end
202
+ end
203
+ end
204
+
168
205
  test 'inability to connect to the api server handles exception and doensnt block pipeline' do
169
206
  VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }]) do
170
207
  driver = create_driver('
@@ -432,13 +469,15 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
432
469
  assert_equal(msg, filtered[0])
433
470
  end
434
471
 
435
- test 'with kubernetes dotted labels, de_dot enabled' do
472
+ test 'with kubernetes dotted and slashed labels, de_dot and de_slash enabled' do
436
473
  VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' },
437
- { name: 'kubernetes_docker_metadata_dotted_labels' }]) do
474
+ { name: 'kubernetes_docker_metadata_dotted_slashed_labels' }]) do
438
475
  filtered = emit({}, '
439
476
  kubernetes_url https://localhost:8443
440
477
  watch false
441
478
  cache_size 1
479
+ de_dot true
480
+ de_slash true
442
481
  ')
443
482
  expected_kube_metadata = {
444
483
  'docker' => {
@@ -452,14 +491,14 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
452
491
  'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
453
492
  'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
454
493
  'namespace_labels' => {
455
- 'kubernetes_io/namespacetest' => 'somevalue'
494
+ 'kubernetes_io__namespacetest' => 'somevalue'
456
495
  },
457
496
  'namespace_name' => 'default',
458
497
  'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
459
498
  'pod_ip' => '172.17.0.8',
460
499
  'master_url' => 'https://localhost:8443',
461
500
  'labels' => {
462
- 'kubernetes_io/test' => 'somevalue'
501
+ 'kubernetes_io__test' => 'somevalue'
463
502
  }
464
503
  }
465
504
  }
@@ -467,14 +506,15 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
467
506
  end
468
507
  end
469
508
 
470
- test 'with kubernetes dotted labels, de_dot disabled' do
509
+ test 'with kubernetes dotted and slashed labels, de_dot and de_slash disabled' do
471
510
  VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' },
472
- { name: 'kubernetes_docker_metadata_dotted_labels' }]) do
511
+ { name: 'kubernetes_docker_metadata_dotted_slashed_labels' }]) do
473
512
  filtered = emit({}, '
474
513
  kubernetes_url https://localhost:8443
475
514
  watch false
476
515
  cache_size 1
477
516
  de_dot false
517
+ de_slash false
478
518
  ')
479
519
  expected_kube_metadata = {
480
520
  'docker' => {
@@ -506,11 +546,21 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
506
546
  test 'invalid de_dot_separator config' do
507
547
  assert_raise Fluent::ConfigError do
508
548
  create_driver('
549
+ de_dot true
509
550
  de_dot_separator contains.
510
551
  ')
511
552
  end
512
553
  end
513
554
 
555
+ test 'invalid de_slash_separator config' do
556
+ assert_raise Fluent::ConfigError do
557
+ create_driver('
558
+ de_slash true
559
+ de_slash_separator contains/
560
+ ')
561
+ end
562
+ end
563
+
514
564
  test 'with records from journald and docker & kubernetes metadata' do
515
565
  # with use_journal true should ignore tags and use CONTAINER_NAME and CONTAINER_ID_FULL
516
566
  tag = 'var.log.containers.junk1_junk2_junk3-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed450.log'
@@ -69,6 +69,8 @@ class WatchTest < Test::Unit::TestCase
69
69
 
70
70
  def logger.error(message, error)
71
71
  end
72
+ def logger.warn(message)
73
+ end
72
74
  logger
73
75
  end
74
76
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kubernetes_metadata_filter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.2
4
+ version: 2.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jimmi Dyson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-20 00:00:00.000000000 Z
11
+ date: 2021-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 0.14.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '1.14'
22
+ version: '1.15'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,21 +29,27 @@ dependencies:
29
29
  version: 0.14.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '1.14'
32
+ version: '1.15'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: kubeclient
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 4.0.0
37
40
  - - "<"
38
41
  - !ruby/object:Gem::Version
39
- version: '5'
42
+ version: 5.0.0
40
43
  type: :runtime
41
44
  prerelease: false
42
45
  version_requirements: !ruby/object:Gem::Requirement
43
46
  requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 4.0.0
44
50
  - - "<"
45
51
  - !ruby/object:Gem::Version
46
- version: '5'
52
+ version: 5.0.0
47
53
  - !ruby/object:Gem::Dependency
48
54
  name: lru_redux
49
55
  requirement: !ruby/object:Gem::Requirement
@@ -224,12 +230,13 @@ files:
224
230
  - lib/fluent/plugin/kubernetes_metadata_watch_pods.rb
225
231
  - test/cassettes/invalid_api_server_config.yml
226
232
  - test/cassettes/kubernetes_docker_metadata_annotations.yml
227
- - test/cassettes/kubernetes_docker_metadata_dotted_labels.yml
233
+ - test/cassettes/kubernetes_docker_metadata_dotted_slashed_labels.yml
228
234
  - test/cassettes/kubernetes_get_api_v1.yml
229
235
  - test/cassettes/kubernetes_get_api_v1_using_token.yml
230
236
  - test/cassettes/kubernetes_get_namespace_default.yml
231
237
  - test/cassettes/kubernetes_get_namespace_default_using_token.yml
232
238
  - test/cassettes/kubernetes_get_pod.yml
239
+ - test/cassettes/kubernetes_get_pod_container_init.yml
233
240
  - test/cassettes/kubernetes_get_pod_using_token.yml
234
241
  - test/cassettes/metadata_from_tag_and_journald_fields.yml
235
242
  - test/cassettes/metadata_from_tag_journald_and_kubernetes_fields.yml
@@ -263,7 +270,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
263
270
  - !ruby/object:Gem::Version
264
271
  version: '0'
265
272
  requirements: []
266
- rubygems_version: 3.1.4
273
+ rubygems_version: 3.0.9
267
274
  signing_key:
268
275
  specification_version: 4
269
276
  summary: Fluentd filter plugin to add Kubernetes metadata