fluent-plugin-containiq 0.0.8 → 1.0.3

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: 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: {}