fluent-plugin-containiq 0.0.8 → 1.0.3

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: 6f1bfb41895707c4472efd77b9053fbc54770e8b6f3d48eac6dfd70033bc6b11
4
- data.tar.gz: 38faddbbe69df44185ec418fac379e2ed925f4ba8fd5151bd2d5bd111aaacf87
3
+ metadata.gz: 9eb2580e1dbbf929f72140634b9608e27f9de36e865bbff1187c441900b7c248
4
+ data.tar.gz: '0973ed78eb6d706c8f027b1f5cb6e78433132f6c953df689c450c2a81056cd66'
5
5
  SHA512:
6
- metadata.gz: f575d8675ad207f1de9a02ff17d16d59ec9bb42451c9f05bce347e5f34ee1d626a48e415e9dabc624e7bb7984d0292cc27a9e128da53d598d8cde26acb13247e
7
- data.tar.gz: f690e9bf77f9f7b6fd6a3656ed9c5d957d5e720ecf195e1f7c3e29d581489511b776edd0d58102335396fc57d77dbb3eaeb7f08e65e537094e0ca7ba946f1a6e
6
+ metadata.gz: f51bbd0f492685931ac2ccd0e3411c5197cf587688ed0b42b57bb3238fe44ff02211fbb1299f893d4154cc5f2014d9bd51eadadaca145db4efa71e2d343a452a
7
+ data.tar.gz: d5bf4349adcdfc72e5735e86f92587dc0246e6e11ba2df10ac770e75ecd03bf929b9ea2d947c181d7e22b730b9f40b9edb15e9b92c2dc4c495aefd961d8677a9
@@ -3,13 +3,13 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "fluent-plugin-containiq"
6
- spec.version = "0.0.8"
6
+ spec.version = "1.0.3"
7
7
  spec.authors = ["ContainIQ"]
8
8
  spec.email = ["matt@containiq.com"]
9
9
 
10
10
  spec.summary = "Fluentd output plugin that pushes logs to ContainIQ"
11
11
  spec.description = "Fluentd output plugin that pushes logs to ContainIQ"
12
- spec.homepage = "https://github.com/containiq/fluent-plugin-containiq"
12
+ spec.homepage = "https://www.containiq.com/"
13
13
  spec.license = "Apache-2.0"
14
14
 
15
15
  test_files, files = `git ls-files -z`.split("\x0").partition do |f|
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = ["lib"]
22
22
 
23
23
  spec.add_dependency 'net-http-persistent', '~> 4.0.1'
24
- spec.add_development_dependency "bundler", "~> 2.2.27"
24
+ spec.add_development_dependency "bundler", "~> 2.3.7"
25
25
  spec.add_development_dependency "rake", "~> 13.0.6"
26
26
  spec.add_development_dependency "test-unit", "~> 3.4.7"
27
27
  spec.add_development_dependency "webmock", "~> 3.14.0"
data/k8s/Gemfile CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "fluentd", "1.14.0"
5
+ gem "fluentd", ">= 1.14.2"
6
6
  gem "oj", "3.11.0"
7
7
  gem "fluent-plugin-multi-format-parser", "~> 1.0.0"
8
8
  gem "fluent-plugin-concat", "~> 2.5.0"
@@ -4,6 +4,14 @@ metadata:
4
4
  name: containiq
5
5
  ---
6
6
  apiVersion: v1
7
+ kind: ConfigMap
8
+ metadata:
9
+ name: cluster-config
10
+ namespace: containiq
11
+ data:
12
+ cluster-name: your-cluster-name
13
+ ---
14
+ apiVersion: v1
7
15
  kind: ServiceAccount
8
16
  metadata:
9
17
  name: fluentd
@@ -82,6 +90,15 @@ spec:
82
90
  value: 'true'
83
91
  - name: FLUENT_KUBERNETES_METADATA_SKIP_MASTER_URL
84
92
  value: 'true'
93
+ - name: FLUENT_CONTAINER_TAIL_EXCLUDE_PATH
94
+ value: /var/log/containers/fluent*
95
+ - name: FLUENT_CONTAINER_TAIL_PARSER_TYPE
96
+ value: /^(?<time>.+) (?<stream>stdout|stderr)( (?<logtag>.))? (?<log>.*)$/
97
+ - name: CLUSTER_NAME
98
+ valueFrom:
99
+ configMapKeyRef:
100
+ name: cluster-config
101
+ key: cluster-name
85
102
  resources:
86
103
  limits:
87
104
  memory: 200Mi
@@ -71,8 +71,13 @@ module Fluent::Plugin
71
71
  def encode_chunk(chunk)
72
72
  records = []
73
73
  bulk_size = 0
74
+ cluster_name = ENV["CLUSTER_NAME"]
75
+ if cluster_name.nil?
76
+ cluster_name = "default"
77
+ end
74
78
  chunk.each { |tag, time, record|
75
79
  record['timestamp'] ||= Time.at(time).iso8601(3)
80
+ record['cluster'] ||= cluster_name
76
81
 
77
82
  begin
78
83
  json_record = Yajl.dump(record)
@@ -0,0 +1,31 @@
1
+ ## Change description
2
+
3
+ > Description here
4
+
5
+ ## Type of change
6
+ - [ ] Bug fix (fixes an issue)
7
+ - [ ] New feature (adds functionality)
8
+ - [ ] Other (repo management, deps, refactor, etc)
9
+
10
+ ## Related issues
11
+
12
+ > Fix [#1]()
13
+
14
+ ## Checklists
15
+
16
+ ### Development
17
+
18
+ - [ ] Lint rules pass locally
19
+ - [ ] Application changes have been tested thoroughly
20
+
21
+ ### Security
22
+
23
+ - [ ] Security impact of change has been considered
24
+ - [ ] Code follows company security practices and guidelines
25
+
26
+ ### Code review
27
+
28
+ - [ ] Pull request has a descriptive title and context useful to a reviewer. Screenshots or screencasts are attached as necessary
29
+ - [ ] "Ready for review" label attached and reviewers assigned when applicable
30
+ - [ ] Changes have been reviewed by at least one other contributor when applicable
31
+ - [ ] Pull request linked to task tracker where applicable
@@ -12,6 +12,7 @@ class ContainiqOutputTest < Test::Unit::TestCase
12
12
  end
13
13
 
14
14
  @@ENDPOINT_URL = "https://mock-endpoint"
15
+ @@CLUSTER_NAME = "default"
15
16
  @@API_KEY = 1234
16
17
 
17
18
  sub_test_case "configuration" do
@@ -87,10 +88,9 @@ class ContainiqOutputTest < Test::Unit::TestCase
87
88
  driver.run do
88
89
  driver.feed('output.test', time.to_i, {'message' => 'Test message'})
89
90
  end
90
-
91
91
  assert_requested(
92
92
  :post, @@ENDPOINT_URL, times: 1,
93
- body: "[{\"message\":\"Test message\",\"timestamp\":\"#{time.strftime('%Y-%m-%dT%H:%M:%S.000%:z')}\"}]"
93
+ body: "[{\"message\":\"Test message\",\"timestamp\":\"#{time.strftime('%Y-%m-%dT%H:%M:%S.000%:z' )}\",\"cluster\":\"default\"}]"
94
94
  )
95
95
  assert_equal(1, driver.formatted.size)
96
96
  end
@@ -116,9 +116,9 @@ class ContainiqOutputTest < Test::Unit::TestCase
116
116
  assert_requested(
117
117
  :post, @@ENDPOINT_URL, times: 1,
118
118
  body: "[\
119
- {\"message\":\"Test message 1\",\"timestamp\":\"#{time_isoformat}\"},\
120
- {\"message\":\"Test message 2\",\"timestamp\":\"#{time_isoformat}\"},\
121
- {\"message\":\"Test message 3\",\"timestamp\":\"#{time_isoformat}\"}]"
119
+ {\"message\":\"Test message 1\",\"timestamp\":\"#{time_isoformat}\",\"cluster\":\"default\"},\
120
+ {\"message\":\"Test message 2\",\"timestamp\":\"#{time_isoformat}\",\"cluster\":\"default\"},\
121
+ {\"message\":\"Test message 3\",\"timestamp\":\"#{time_isoformat}\",\"cluster\":\"default\"}]"
122
122
  )
123
123
  assert_equal(3, driver.formatted.size)
124
124
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-containiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ContainIQ
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-07 00:00:00.000000000 Z
11
+ date: 2022-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-http-persistent
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.2.27
33
+ version: 2.3.7
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 2.2.27
40
+ version: 2.3.7
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -143,9 +143,10 @@ files:
143
143
  - k8s/plugins/parser_kubernetes.rb
144
144
  - k8s/plugins/parser_multiline_kubernetes.rb
145
145
  - lib/fluent/plugin/out_containiq.rb
146
+ - pull_request_template.md
146
147
  - test/helper.rb
147
148
  - test/plugin/test_out_containiq.rb
148
- homepage: https://github.com/containiq/fluent-plugin-containiq
149
+ homepage: https://www.containiq.com/
149
150
  licenses:
150
151
  - Apache-2.0
151
152
  metadata: {}