fluent-plugin-kubernetes_metadata_filter 3.6.0 → 3.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/Rakefile +3 -4
  4. data/lib/fluent/plugin/filter_kubernetes_metadata.rb +307 -278
  5. data/lib/fluent/plugin/kubernetes_metadata_cache_strategy.rb +15 -11
  6. data/lib/fluent/plugin/kubernetes_metadata_common.rb +38 -40
  7. data/lib/fluent/plugin/kubernetes_metadata_stats.rb +5 -7
  8. data/lib/fluent/plugin/kubernetes_metadata_test_api_adapter.rb +39 -36
  9. data/lib/fluent/plugin/kubernetes_metadata_watch_namespaces.rb +15 -12
  10. data/lib/fluent/plugin/kubernetes_metadata_watch_pods.rb +18 -17
  11. metadata +4 -174
  12. data/.circleci/config.yml +0 -48
  13. data/.gitignore +0 -18
  14. data/.rubocop.yml +0 -57
  15. data/Gemfile +0 -9
  16. data/Gemfile.lock +0 -170
  17. data/fluent-plugin-kubernetes_metadata_filter.gemspec +0 -34
  18. data/lib/fluent/plugin/kubernetes_metadata_util.rb +0 -33
  19. data/test/cassettes/invalid_api_server_config.yml +0 -53
  20. data/test/cassettes/kubernetes_docker_metadata_annotations.yml +0 -205
  21. data/test/cassettes/kubernetes_docker_metadata_dotted_slashed_labels.yml +0 -197
  22. data/test/cassettes/kubernetes_get_api_v1.yml +0 -193
  23. data/test/cassettes/kubernetes_get_api_v1_using_token.yml +0 -195
  24. data/test/cassettes/kubernetes_get_namespace_default.yml +0 -72
  25. data/test/cassettes/kubernetes_get_namespace_default_using_token.yml +0 -71
  26. data/test/cassettes/kubernetes_get_pod.yml +0 -146
  27. data/test/cassettes/kubernetes_get_pod_container_init.yml +0 -145
  28. data/test/cassettes/kubernetes_get_pod_using_token.yml +0 -148
  29. data/test/cassettes/kubernetes_get_pod_with_ownerrefs.yml +0 -156
  30. data/test/cassettes/metadata_from_tag_and_journald_fields.yml +0 -153
  31. data/test/cassettes/metadata_from_tag_journald_and_kubernetes_fields.yml +0 -285
  32. data/test/cassettes/valid_kubernetes_api_server.yml +0 -55
  33. data/test/cassettes/valid_kubernetes_api_server_using_token.yml +0 -57
  34. data/test/helper.rb +0 -82
  35. data/test/plugin/test.token +0 -1
  36. data/test/plugin/test_cache_stats.rb +0 -33
  37. data/test/plugin/test_cache_strategy.rb +0 -194
  38. data/test/plugin/test_filter_kubernetes_metadata.rb +0 -851
  39. data/test/plugin/test_watch_namespaces.rb +0 -245
  40. data/test/plugin/test_watch_pods.rb +0 -344
  41. data/test/plugin/watch_test.rb +0 -76
@@ -1,205 +0,0 @@
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
- "annotations": {
63
- "kubernetes.io/config.hash": "c171c44f5b9345c6dc17b0e95030318c",
64
- "kubernetes.io/config.mirror": "c171c44f5b9345c6dc17b0e95030318c",
65
- "kubernetes.io/config.seen": "2016-06-06T08:08:35.680437994Z",
66
- "kubernetes.io/config.source": "file",
67
- "custom.field1": "hello_kitty",
68
- "field.two": "value"
69
- }
70
- },
71
- "spec": {
72
- "volumes": [
73
- {
74
- "name": "openshift-cert-secrets",
75
- "hostPath": null,
76
- "emptyDir": null,
77
- "gcePersistentDisk": null,
78
- "gitRepo": null,
79
- "secret": {
80
- "secretName": "openshift-cert-secrets"
81
- },
82
- "nfs": null,
83
- "iscsi": null,
84
- "glusterfs": null
85
- }
86
- ],
87
- "containers": [
88
- {
89
- "name": "fabric8-console-container",
90
- "image": "fabric8/hawtio-kubernetes:latest",
91
- "ports": [
92
- {
93
- "containerPort": 9090,
94
- "protocol": "TCP"
95
- }
96
- ],
97
- "env": [
98
- {
99
- "name": "OAUTH_CLIENT_ID",
100
- "value": "fabric8-console"
101
- },
102
- {
103
- "name": "OAUTH_AUTHORIZE_URI",
104
- "value": "https://localhost:8443/oauth/authorize"
105
- }
106
- ],
107
- "resources": {},
108
- "volumeMounts": [
109
- {
110
- "name": "openshift-cert-secrets",
111
- "readOnly": true,
112
- "mountPath": "/etc/secret-volume"
113
- }
114
- ],
115
- "terminationMessagePath": "/dev/termination-log",
116
- "imagePullPolicy": "IfNotPresent",
117
- "capabilities": {}
118
- }
119
- ],
120
- "restartPolicy": "Always",
121
- "dnsPolicy": "ClusterFirst",
122
- "nodeName": "jimmi-redhat.localnet"
123
- },
124
- "status": {
125
- "phase": "Running",
126
- "Condition": [
127
- {
128
- "type": "Ready",
129
- "status": "True"
130
- }
131
- ],
132
- "hostIP": "172.17.42.1",
133
- "podIP": "172.17.0.8",
134
- "containerStatuses": [
135
- {
136
- "name": "fabric8-console-container",
137
- "state": {
138
- "running": {
139
- "startedAt": "2015-05-08T09:22:44Z"
140
- }
141
- },
142
- "lastState": {},
143
- "ready": true,
144
- "restartCount": 0,
145
- "image": "fabric8/hawtio-kubernetes:latest",
146
- "imageID": "docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303",
147
- "containerID": "docker://49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459"
148
- }
149
- ]
150
- }
151
- }
152
- http_version:
153
- recorded_at: Fri, 08 May 2015 10:35:37 GMT
154
- - request:
155
- method: get
156
- uri: https://localhost:8443/api/v1/namespaces/default
157
- body:
158
- encoding: US-ASCII
159
- string: ''
160
- headers:
161
- Accept:
162
- - "*/*; q=0.5, application/xml"
163
- Accept-Encoding:
164
- - gzip, deflate
165
- User-Agent:
166
- - Ruby
167
- response:
168
- status:
169
- code: 200
170
- message: OK
171
- headers:
172
- Content-Type:
173
- - application/json
174
- Date:
175
- - Fri, 08 May 2015 10:35:37 GMT
176
- Transfer-Encoding:
177
- - chunked
178
- body:
179
- encoding: UTF-8
180
- string: |-
181
- {
182
- "kind": "Namespace",
183
- "apiVersion": "v1",
184
- "metadata": {
185
- "name": "default",
186
- "selfLink": "/api/v1/namespaces/default",
187
- "uid": "898268c8-4a36-11e5-9d81-42010af0194c",
188
- "resourceVersion": "6",
189
- "creationTimestamp": "2015-05-08T09:22:01Z",
190
- "annotations": {
191
- "workspaceId": "myWorkspaceName"
192
- }
193
- },
194
- "spec": {
195
- "finalizers": [
196
- "kubernetes"
197
- ]
198
- },
199
- "status": {
200
- "phase": "Active"
201
- }
202
- }
203
- http_version:
204
- recorded_at: Fri, 08 May 2015 10:35:37 GMT
205
- recorded_with: VCR 2.9.3
@@ -1,197 +0,0 @@
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
- "kubernetes.io/test": "somevalue"
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
- "running": {
131
- "startedAt": "2015-05-08T09:22:44Z"
132
- }
133
- },
134
- "lastState": {},
135
- "ready": true,
136
- "restartCount": 0,
137
- "image": "fabric8/hawtio-kubernetes:latest",
138
- "imageID": "docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303",
139
- "containerID": "docker://49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459"
140
- }
141
- ]
142
- }
143
- }
144
- http_version:
145
- recorded_at: Fri, 08 May 2015 10:35:37 GMT
146
- - request:
147
- method: get
148
- uri: https://localhost:8443/api/v1/namespaces/default
149
- body:
150
- encoding: US-ASCII
151
- string: ''
152
- headers:
153
- Accept:
154
- - "*/*; q=0.5, application/xml"
155
- Accept-Encoding:
156
- - gzip, deflate
157
- User-Agent:
158
- - Ruby
159
- response:
160
- status:
161
- code: 200
162
- message: OK
163
- headers:
164
- Content-Type:
165
- - application/json
166
- Date:
167
- - Fri, 08 May 2015 10:35:37 GMT
168
- Transfer-Encoding:
169
- - chunked
170
- body:
171
- encoding: UTF-8
172
- string: |-
173
- {
174
- "kind": "Namespace",
175
- "apiVersion": "v1",
176
- "metadata": {
177
- "name": "default",
178
- "selfLink": "/api/v1/namespaces/default",
179
- "uid": "898268c8-4a36-11e5-9d81-42010af0194c",
180
- "resourceVersion": "6",
181
- "creationTimestamp": "2015-05-08T09:22:01Z",
182
- "labels": {
183
- "kubernetes.io/namespacetest": "somevalue"
184
- }
185
- },
186
- "spec": {
187
- "finalizers": [
188
- "kubernetes"
189
- ]
190
- },
191
- "status": {
192
- "phase": "Active"
193
- }
194
- }
195
- http_version:
196
- recorded_at: Fri, 08 May 2015 10:35:37 GMT
197
- recorded_with: VCR 2.9.3
@@ -1,193 +0,0 @@
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
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": "APIResourceList",
50
- "groupVersion": "v1",
51
- "resources": [
52
- {
53
- "name": "bindings",
54
- "singularName": "",
55
- "namespaced": true,
56
- "kind": "Binding",
57
- "verbs": [
58
- "create"
59
- ]
60
- },
61
- {
62
- "name": "namespaces",
63
- "singularName": "",
64
- "namespaced": false,
65
- "kind": "Namespace",
66
- "verbs": [
67
- "create",
68
- "delete",
69
- "get",
70
- "list",
71
- "patch",
72
- "update",
73
- "watch"
74
- ],
75
- "shortNames": [
76
- "ns"
77
- ]
78
- },
79
- {
80
- "name": "namespaces/finalize",
81
- "singularName": "",
82
- "namespaced": false,
83
- "kind": "Namespace",
84
- "verbs": [
85
- "update"
86
- ]
87
- },
88
- {
89
- "name": "namespaces/status",
90
- "singularName": "",
91
- "namespaced": false,
92
- "kind": "Namespace",
93
- "verbs": [
94
- "get",
95
- "patch",
96
- "update"
97
- ]
98
- },
99
- {
100
- "name": "pods",
101
- "singularName": "",
102
- "namespaced": true,
103
- "kind": "Pod",
104
- "verbs": [
105
- "create",
106
- "delete",
107
- "deletecollection",
108
- "get",
109
- "list",
110
- "patch",
111
- "update",
112
- "watch"
113
- ],
114
- "shortNames": [
115
- "po"
116
- ],
117
- "categories": [
118
- "all"
119
- ]
120
- },
121
- {
122
- "name": "pods/attach",
123
- "singularName": "",
124
- "namespaced": true,
125
- "kind": "Pod",
126
- "verbs": []
127
- },
128
- {
129
- "name": "pods/binding",
130
- "singularName": "",
131
- "namespaced": true,
132
- "kind": "Binding",
133
- "verbs": [
134
- "create"
135
- ]
136
- },
137
- {
138
- "name": "pods/eviction",
139
- "singularName": "",
140
- "namespaced": true,
141
- "group": "policy",
142
- "version": "v1beta1",
143
- "kind": "Eviction",
144
- "verbs": [
145
- "create"
146
- ]
147
- },
148
- {
149
- "name": "pods/exec",
150
- "singularName": "",
151
- "namespaced": true,
152
- "kind": "Pod",
153
- "verbs": []
154
- },
155
- {
156
- "name": "pods/log",
157
- "singularName": "",
158
- "namespaced": true,
159
- "kind": "Pod",
160
- "verbs": [
161
- "get"
162
- ]
163
- },
164
- {
165
- "name": "pods/portforward",
166
- "singularName": "",
167
- "namespaced": true,
168
- "kind": "Pod",
169
- "verbs": []
170
- },
171
- {
172
- "name": "pods/proxy",
173
- "singularName": "",
174
- "namespaced": true,
175
- "kind": "Pod",
176
- "verbs": []
177
- },
178
- {
179
- "name": "pods/status",
180
- "singularName": "",
181
- "namespaced": true,
182
- "kind": "Pod",
183
- "verbs": [
184
- "get",
185
- "patch",
186
- "update"
187
- ]
188
- }
189
- ]
190
- }
191
- http_version:
192
- recorded_at: Fri, 08 May 2015 10:35:37 GMT
193
- recorded_with: VCR 2.9.3