fluent-plugin-opensearch 1.1.0 → 1.1.4

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: ecc83833c1b081c2c7a43eb518ec339c2fe2b1c3153ea424d02b046bfd26129c
4
- data.tar.gz: '09443e78f21f9e3a064c0fdc0faea5d20d2b67ce85f8f187cef5322382a827e5'
3
+ metadata.gz: 578e5c63061d5f1cb3f3729dee4ea630564dc60d82f6b047c8e4b23830fdf16a
4
+ data.tar.gz: a502d46eb5a3a59c5c4f65f9009623ff32fde1de4cfda7e181437a8720bdbda1
5
5
  SHA512:
6
- metadata.gz: fa530480b103bacbe4e00bc0bff3d3aca549acb126fc2251affa80267e24391bd929f9c9a903906c83807cdddc880a6a53b6470ec944fcaaecd73943bcb3560a
7
- data.tar.gz: bc8a40ae17f566b1176edf1f163e8df740df72c19f99fce220dcc0a88cc1c857bfd5b1014f201f5261328eee234d3eb24a2421cc7b882e6c1b047e7e660fb4f3
6
+ metadata.gz: 77b3373041396440cf8debaea8fd2ab95b94df950cbfe6105f65d45cce7092a6f89bd019b38d4022051c651541d3d21918625ea1b9939f58108101eae90a027f
7
+ data.tar.gz: 2e746cd797f5d24f08dbb386ea42b9bff506831c56f9f4b92dcf99dde321b9b613c7473cbad39bd1f6d338ae6dd094a87f838141306111ab49b5a76886346918
data/History.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  ### [Unreleased]
4
4
 
5
+ ### 1.1.4
6
+ - test: remove minitest to correct misjudge of the framework by flexmock (#114)
7
+ - Add logic to write method of out_opensearch_data_stream (#109)
8
+
9
+ ### 1.1.3
10
+ - Revert the behavior of passing duration second (#108)
11
+
12
+ ### 1.1.2
13
+ - Check OS cluster for data streams and templates for index template creation (#106)
14
+ - out\_opensearch\_data\_stream: Don't connect to opensearch on dry-run (#105)
15
+
16
+ ### 1.1.1
17
+ - Pass a value of refresh\_credentials\_interval as duration\_seconds (#78)
18
+
5
19
  ### 1.1.0
6
20
  - Unpin `faraday` from v1, upgrade to v2.
7
21
  Note that if you can't migrate other plugins from `faraday` v1 yet, need to keep
data/README.md CHANGED
@@ -1606,7 +1606,7 @@ There are usually a few feature requests, tagged [Easy](https://github.com/fluen
1606
1606
 
1607
1607
  Pull Requests are welcomed.
1608
1608
 
1609
- Becore send a pull request or report an issue, please read [the contribution guideline](CONTRIBUTING.md).
1609
+ Before sending a pull request or reporting an issue, please read [the contribution guideline](CONTRIBUTING.md).
1610
1610
 
1611
1611
  ## Running tests
1612
1612
 
@@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'fluent-plugin-opensearch'
6
- s.version = '1.1.0'
6
+ s.version = '1.1.4'
7
7
  s.authors = ['Hiroshi Hatake']
8
8
  s.email = ['cosmo0920.wp@gmail.com']
9
9
  s.description = %q{Opensearch output plugin for Fluent event collector}
@@ -69,23 +69,26 @@ module Fluent::Plugin
69
69
 
70
70
  def create_index_template(datastream_name, template_name, host = nil)
71
71
  # Create index template from file
72
- if @template_file
73
- template_installation_actual(template_name, @customize_template, @application_name, datastream_name, host)
74
- else # Create default index template
75
- return if data_stream_exist?(datastream_name, host) or template_exists?(template_name, host)
76
- body = {
77
- "index_patterns" => ["#{datastream_name}*"],
78
- "data_stream" => {},
79
- }
80
-
81
- params = {
82
- name: template_name,
83
- body: body
84
- }
85
- retry_operate(@max_retry_putting_template,
86
- @fail_on_putting_template_retry_exceed,
87
- @catch_transport_exception_on_retry) do
88
- client(host).indices.put_index_template(params)
72
+ if !dry_run?
73
+ if @template_file
74
+ return if data_stream_exist?(datastream_name, host) or template_exists?(template_name, host)
75
+ template_installation_actual(template_name, @customize_template, @application_name, datastream_name, host)
76
+ else # Create default index template
77
+ return if data_stream_exist?(datastream_name, host) or template_exists?(template_name, host)
78
+ body = {
79
+ "index_patterns" => ["#{datastream_name}*"],
80
+ "data_stream" => {},
81
+ }
82
+
83
+ params = {
84
+ name: template_name,
85
+ body: body
86
+ }
87
+ retry_operate(@max_retry_putting_template,
88
+ @fail_on_putting_template_retry_exceed,
89
+ @catch_transport_exception_on_retry) do
90
+ client(host).indices.put_index_template(params)
91
+ end
89
92
  end
90
93
  end
91
94
  end
@@ -159,13 +162,10 @@ module Fluent::Plugin
159
162
  end
160
163
  data_stream_name = extract_placeholders(@data_stream_name, chunk).downcase
161
164
  data_stream_template_name = extract_placeholders(@data_stream_template_name, chunk).downcase
162
- unless @data_stream_names.include?(data_stream_name)
163
- begin
164
- create_index_template(data_stream_name, data_stream_template_name, host)
165
- @data_stream_names << data_stream_name
166
- rescue => e
167
- raise Fluent::ConfigError, "Failed to create data stream: <#{data_stream_name}> #{e.message}"
168
- end
165
+ begin
166
+ create_index_template(data_stream_name, data_stream_template_name, host)
167
+ rescue => e
168
+ raise Fluent::ConfigError, "Failed to create data stream: <#{data_stream_name}> #{e.message}"
169
169
  end
170
170
  end
171
171
 
@@ -187,6 +187,12 @@ module Fluent::Plugin
187
187
  dt = Time.at(time).to_datetime
188
188
  end
189
189
  record.merge!({"@timestamp" => dt.iso8601(@time_precision)})
190
+ if @include_tag_key
191
+ record[@tag_key] = tag
192
+ end
193
+ if @remove_keys
194
+ @remove_keys.each { |key| record.delete(key) }
195
+ end
190
196
  bulk_message = append_record_to_messages(CREATE_OP, {}, headers, record, bulk_message)
191
197
  rescue => e
192
198
  emit_error_label_event do
data/test/helper.rb CHANGED
@@ -55,7 +55,6 @@ end
55
55
 
56
56
  require 'test/unit'
57
57
  require 'fluent/test'
58
- require 'minitest/pride'
59
58
 
60
59
  require 'webmock/test_unit'
61
60
  WebMock.disable_net_connect!
@@ -678,4 +678,69 @@ class OpenSearchOutputDataStreamTest < Test::Unit::TestCase
678
678
  assert(index_cmds[1].has_key? '@timestamp')
679
679
  end
680
680
 
681
+ def test_record_with_include_tag_key
682
+ stub_default
683
+ stub_bulk_feed
684
+ stub_default
685
+ stub_bulk_feed
686
+ conf = config_element(
687
+ 'ROOT', '', {
688
+ '@type' => OPENSEARCH_DATA_STREAM_TYPE,
689
+ 'data_stream_name' => 'foo',
690
+ 'data_stream_template_name' => 'foo_tpl',
691
+ 'include_tag_key' => true,
692
+ 'tag_key' => 'test_tag'
693
+ })
694
+ record = {
695
+ 'message' => 'Sample Record'
696
+ }
697
+ driver(conf).run(default_tag: 'test') do
698
+ driver.feed(record)
699
+ end
700
+ assert(index_cmds[1].has_key?('test_tag'))
701
+ end
702
+
703
+ def test_record_without_include_tag_key
704
+ stub_default
705
+ stub_bulk_feed
706
+ stub_default
707
+ stub_bulk_feed
708
+ conf = config_element(
709
+ 'ROOT', '', {
710
+ '@type' => OPENSEARCH_DATA_STREAM_TYPE,
711
+ 'data_stream_name' => 'foo',
712
+ 'data_stream_template_name' => 'foo_tpl',
713
+ 'include_tag_key' => false
714
+ })
715
+ record = {
716
+ 'message' => 'Sample Record'
717
+ }
718
+ driver(conf).run(default_tag: 'test') do
719
+ driver.feed(record)
720
+ end
721
+ assert(!index_cmds[1].has_key?('test'))
722
+ end
723
+
724
+ def test_record_with_remove_keys
725
+ stub_default
726
+ stub_bulk_feed
727
+ stub_default
728
+ stub_bulk_feed
729
+ conf = config_element(
730
+ 'ROOT', '', {
731
+ '@type' => OPENSEARCH_DATA_STREAM_TYPE,
732
+ 'data_stream_name' => 'foo',
733
+ 'data_stream_template_name' => 'foo_tpl',
734
+ 'remove_keys' => 'remove_me'
735
+ })
736
+ record = {
737
+ 'message' => 'Sample Record',
738
+ 'remove_me' => 'foo'
739
+ }
740
+ driver(conf).run(default_tag: 'test') do
741
+ driver.feed(record)
742
+ end
743
+ assert(!index_cmds[1].has_key?('remove_me'))
744
+ end
745
+
681
746
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-opensearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroshi Hatake
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-11 00:00:00.000000000 Z
11
+ date: 2023-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -270,7 +270,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
270
270
  - !ruby/object:Gem::Version
271
271
  version: '0'
272
272
  requirements: []
273
- rubygems_version: 3.3.26
273
+ rubygems_version: 3.2.32
274
274
  signing_key:
275
275
  specification_version: 4
276
276
  summary: Opensearch output plugin for Fluent event collector