fluent-plugin-kubernetes_metadata_input 0.21.8 → 0.21.9

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
  SHA1:
3
- metadata.gz: 9d6046a3e056886887ed41df204015cb3a5203f0
4
- data.tar.gz: 294f347610284f83500c72167b9cd9b1bb45b7ec
3
+ metadata.gz: f0cc7b953fde4c60ea251c82bbe8947e229199ce
4
+ data.tar.gz: 8b963c80b30f3d74cf7c7772175444e4403d12c2
5
5
  SHA512:
6
- metadata.gz: e14ccc276c48558aa350fdb1d6929bb1b2127db9dd6f6cb834145c029ccb34171e71ee9cd87c0b645695674c861d377fdb4ff509c6eca1e6541f05365921995c
7
- data.tar.gz: cc47b47a2c514cd516a9bbb5fccc2e79da917d88afd4ddbb86c7f895d7b855c1024a12f7cc95fa4c4e01c0620c11cbaaa69901a49d2b049383752cb65acd4c81
6
+ metadata.gz: 47a783e798ad45b5c6817e8c537fd771e14fcd683fd840da7fba3a474f4ad2778e2cde07f155654777d76d9ec3e5cd452791444602fc5d880f8d802b71f409e5
7
+ data.tar.gz: d563102ed3693849845f4d06d4953f3f28e664fd2c490c4b44276b4f1558e8ed270245f2b7bd218af777b782c1665b238c4216edb3f7ab5b859fd0f40c40d483
data/README.md CHANGED
@@ -1,2 +1,67 @@
1
1
  # fluent-plugin-kubernetes_metadata_input
2
- fork of kubernetes_metadata_filter
2
+ fork of [fluent-plugin-kubernetes_metadata_filter](https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter)
3
+ Plugin watches for K8s resource updates and ingests them as nested JSON.
4
+ Untested, use at your own risk.
5
+
6
+ ## Installation
7
+
8
+ gem install fluent-plugin-kubernetes_metadata_input
9
+
10
+ ## Configuration
11
+
12
+ Configuration options for fluent.conf are:
13
+
14
+ * `kubernetes_url` - URL to the API server. Set this to retrieve further kubernetes metadata for logs from kubernetes API server
15
+ * `apiVersion` - API version to use (default: `v1`)
16
+ * `ca_file` - path to CA file for Kubernetes server certificate validation
17
+ * `verify_ssl` - validate SSL certificates (default: `true`)
18
+ * `client_cert` - path to a client cert file to authenticate to the API server
19
+ * `client_key` - path to a client key file to authenticate to the API server
20
+ * `bearer_token_file` - path to a file containing the bearer token to use for authentication
21
+ * `resource` - Kubernetes resource type. f.e. Events, Pods, Service, ReplicationController, Node, Endpoint, Namespace
22
+
23
+ ### Sample configuration:
24
+ The following configuration watches for Kubernetes events and pod changes and sends them to stdout.
25
+ ```
26
+ <source>
27
+ @type kubernetes_metadata
28
+ kubernetes_url https://127.0.0.1:8443
29
+ verify_ssl false
30
+ bearer_token_file /Users/asherkho-osx/src/fluent-plugin-kubernetes_metadata_input/bearer_token
31
+ resource Events
32
+ </source>
33
+ <source>
34
+ @type kubernetes_metadata
35
+ kubernetes_url https://127.0.0.1:8443
36
+ verify_ssl false
37
+ bearer_token_file /Users/asherkho-osx/src/fluent-plugin-kubernetes_metadata_input/bearer_token
38
+ resource Pods
39
+ </source>
40
+
41
+ <match **>
42
+ type stdout
43
+ </match>
44
+ ```
45
+ ### Tag
46
+ The tag is constructed as following:
47
+ ```
48
+ kubernetes.<resource_type>.<namespace_name>.<resource_name>
49
+ ```
50
+
51
+ If a resource doesn't have a namespace, namespace ```openshift-infra``` is added.
52
+
53
+ ### Kubernetes labels and annotations
54
+ Labels and annotations are converted to an array of strings.
55
+ ```
56
+ "labels":{
57
+ "kubernetes.io/hostname":"origin",
58
+ "logging-infra-fluentd":"true"
59
+ }
60
+ ```
61
+ will be converted to
62
+ ```
63
+ "labels": [
64
+ "kubernetes.io/hostname=origin",
65
+ "logging-infra-fluentd=true"
66
+ ]
67
+ ```
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "fluent-plugin-kubernetes_metadata_input"
7
- gem.version = "0.21.8"
7
+ gem.version = "0.21.9"
8
8
  gem.authors = ["Anton Sherkhonov"]
9
9
  gem.email = ["sherkhonov@gmail.com"]
10
10
  gem.description = %q{Input plugin to collect Kubernetes metadata}
@@ -26,12 +26,19 @@ module Fluent
26
26
 
27
27
  Fluent::Plugin.register_input('kubernetes_metadata', self)
28
28
 
29
+ desc 'URL to the API server. Set this to retrieve further kubernetes metadata for logs from kubernetes API server'
29
30
  config_param :kubernetes_url, :string, default: nil
31
+ desc 'k8s API version to use'
30
32
  config_param :apiVersion, :string, default: 'v1'
33
+ desc 'path to a client cert file to authenticate to the API server'
31
34
  config_param :client_cert, :string, default: nil
35
+ desc 'path to a client key file to authenticate to the API server'
32
36
  config_param :client_key, :string, default: nil
37
+ desc 'path to CA file for Kubernetes server certificate validation'
33
38
  config_param :ca_file, :string, default: nil
39
+ desc 'validate SSL certificates'
34
40
  config_param :verify_ssl, :bool, default: true
41
+ desc 'path to a file containing the bearer token to use for authentication'
35
42
  config_param :bearer_token_file, :string, default: nil
36
43
  config_param :secret_dir, :string, default: '/var/run/secrets/kubernetes.io/serviceaccount'
37
44
  desc 'Kubernetes resource type to watch.'
@@ -141,10 +148,17 @@ module Fluent
141
148
  end
142
149
 
143
150
 
144
- watcher.each do |notice|
145
- time = Engine.now
146
- emit_event(notice.object, time, notice.type)
151
+ begin
152
+ watcher.each do |notice|
153
+ time = Engine.now
154
+ emit_event(notice.object, time, notice.type)
155
+ end
156
+ log.trace "Exited resource watcher"
157
+ rescue
158
+ log.error "Unexpected error in resource watcher", :error=>$!.to_s
159
+ log.error_backtrace
147
160
  end
161
+
148
162
  end
149
163
 
150
164
  def emit_event(event_obj, time, type)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kubernetes_metadata_input
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.8
4
+ version: 0.21.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Sherkhonov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-24 00:00:00.000000000 Z
11
+ date: 2016-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd