fluent-plugin-gcloud-pubsub-custom 1.3.2 → 1.4.0

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
- SHA1:
3
- metadata.gz: 4c1d001b87fc5d90ec9539e1fd22792b9d2cd45b
4
- data.tar.gz: '0449660048a17af7b4a7626c28ecadee76852392'
2
+ SHA256:
3
+ metadata.gz: 51c4af6bf7aee07e04161734152a796864a9a21924eab0e2434e45d177b4be0d
4
+ data.tar.gz: cd0bb6ec1e0b769b0e7792c5c8d5a797a5407ffca3dbe66f37bd1010959194ce
5
5
  SHA512:
6
- metadata.gz: 8b2cc614e5bbdfd0923be3c300ccd4855b5f8598c1e89ed382c2f571529ac461a613f3c2f1404aca25141b6c6093c61c227aa6957e3fa99b04f5b0922ffe31a7
7
- data.tar.gz: 3126f3675aadcfbdb06f04d0abbb104d30fc2f5ec593af7cc974839cf9d13e3407ee26cb80c11b6443e46febeb4bbd57fa12ae2bdbb5cdcd8d655d3b59d7ada8
6
+ metadata.gz: 4f6f11c50da0f9396275e757a18cec552fdeeb8718e290a1388a2190bd26cb327704e6424848bf65a656e545f8cd6364ae571c285774cf82735a5512f0a57cd4
7
+ data.tar.gz: 62840bd5232d0f756c5ea09449f9821b2a55cee69d2fe0c048bfe764c4673fb389cde7b2b8c1b6d671a3f6def5d0d11587b080b15011fee1868079df7c35a4e8
@@ -1,9 +1,10 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.4.6
5
- - 2.5.5
6
- - 2.6.3
4
+ - 2.4
5
+ - 2.5
6
+ - 2.6
7
+ - 2.7
7
8
  - ruby-head
8
9
 
9
10
  gemfile:
@@ -1,5 +1,12 @@
1
1
  ## ChangeLog
2
2
 
3
+ ### Release 1.4.0 - 2020/08/11
4
+
5
+ - Bump up google-cloud-pubsub to v0.39.x
6
+ - In preparation for updating to v1.x
7
+ - Output plugin
8
+ - Add `dest_project` parameter
9
+
3
10
  ### Release 1.3.2 - 2019/08/16
4
11
 
5
12
  - Input plugin
data/README.md CHANGED
@@ -81,6 +81,8 @@ Use `gcloud_pubsub` output plugin.
81
81
  - `topic` (required)
82
82
  - Set topic name to publish.
83
83
  - You can use placeholder in this param. See: https://docs.fluentd.org/v1.0/articles/buffer-section
84
+ - `dest_project` (optional, default: `nil`)
85
+ - Set your destination GCP project if you publish messages cross project.
84
86
  - `autocreate_topic` (optional, default: `false`)
85
87
  - If set to `true`, specified topic will be created when it doesn't exist.
86
88
  - `max_messages` (optional, default: `1000`)
@@ -7,17 +7,16 @@ Gem::Specification.new do |gem|
7
7
  gem.license = "MIT"
8
8
  gem.homepage = "https://github.com/mia-0032/fluent-plugin-gcloud-pubsub-custom"
9
9
  gem.summary = gem.description
10
- gem.version = "1.3.2"
10
+ gem.version = "1.4.0"
11
11
  gem.authors = ["Yoshihiro MIYAI"]
12
12
  gem.email = "msparrow17@gmail.com"
13
- gem.has_rdoc = false
14
13
  gem.files = `git ls-files`.split("\n")
15
14
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
15
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
16
  gem.require_paths = ['lib']
18
17
 
19
18
  gem.add_runtime_dependency "fluentd", [">= 0.14.15", "< 2"]
20
- gem.add_runtime_dependency "google-cloud-pubsub", "~> 0.30.0"
19
+ gem.add_runtime_dependency "google-cloud-pubsub", "~> 0.39.0"
21
20
 
22
21
  gem.add_development_dependency "bundler"
23
22
  gem.add_development_dependency "rake"
@@ -24,18 +24,23 @@ module Fluent
24
24
  end
25
25
 
26
26
  class Publisher
27
- def initialize(project, key, autocreate_topic)
27
+ def initialize(project, key, autocreate_topic, dest_project)
28
28
  @pubsub = Google::Cloud::Pubsub.new project_id: project, credentials: key
29
29
  @autocreate_topic = autocreate_topic
30
+ @dest_project = dest_project
30
31
  @topics = {}
31
32
  end
32
33
 
33
34
  def topic(topic_name)
34
35
  return @topics[topic_name] if @topics.has_key? topic_name
35
36
 
36
- client = @pubsub.topic topic_name
37
- if client.nil? && @autocreate_topic
38
- client = @pubsub.create_topic topic_name
37
+ if @dest_project.nil?
38
+ client = @pubsub.topic topic_name
39
+ if client.nil? && @autocreate_topic
40
+ client = @pubsub.create_topic topic_name
41
+ end
42
+ else
43
+ client = @pubsub.topic topic_name, project: @dest_project
39
44
  end
40
45
  if client.nil?
41
46
  raise Error.new "topic:#{topic_name} does not exist."
@@ -19,6 +19,8 @@ module Fluent::Plugin
19
19
  config_param :key, :string, :default => nil
20
20
  desc 'Set topic name to publish.'
21
21
  config_param :topic, :string
22
+ desc "Set your dest GCP project if publishing cross project"
23
+ config_param :dest_project, :string, :default => nil
22
24
  desc "If set to `true`, specified topic will be created when it doesn't exist."
23
25
  config_param :autocreate_topic, :bool, :default => false
24
26
  desc 'Publishing messages count per request to Cloud Pub/Sub.'
@@ -47,7 +49,7 @@ module Fluent::Plugin
47
49
 
48
50
  def start
49
51
  super
50
- @publisher = Fluent::GcloudPubSub::Publisher.new @project, @key, @autocreate_topic
52
+ @publisher = Fluent::GcloudPubSub::Publisher.new @project, @key, @autocreate_topic, @dest_project
51
53
  end
52
54
 
53
55
  def format(tag, time, record)
@@ -62,6 +62,17 @@ class GcloudPubSubOutputTest < Test::Unit::TestCase
62
62
 
63
63
  assert_equal(true, d.instance.autocreate_topic)
64
64
  end
65
+
66
+ test '"dest_project" can be specified' do
67
+ d = create_driver(%[
68
+ project project-test
69
+ topic topic-test
70
+ key key-test
71
+ dest_project dest-project-test
72
+ ])
73
+
74
+ assert_equal("dest-project-test", d.instance.dest_project)
75
+ end
65
76
  end
66
77
 
67
78
  sub_test_case 'topic' do
@@ -87,6 +98,21 @@ class GcloudPubSubOutputTest < Test::Unit::TestCase
87
98
  end
88
99
  end
89
100
 
101
+ test '"dest_project" is set' do
102
+ d = create_driver(%[
103
+ project project-test
104
+ topic topic-test
105
+ key key-test
106
+ dest_project dest-project-test
107
+ ])
108
+
109
+ @publisher.publish.once
110
+ @pubsub_mock.topic("topic-test", {:project=>"dest-project-test"}).once { @publisher }
111
+ d.run(default_tag: "test") do
112
+ d.feed(@time, {"a" => "b"})
113
+ end
114
+ end
115
+
90
116
  test '40x error occurred on connecting to Pub/Sub' do
91
117
  d = create_driver
92
118
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-gcloud-pubsub-custom
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshihiro MIYAI
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-16 00:00:00.000000000 Z
11
+ date: 2020-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.30.0
39
+ version: 0.39.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 0.30.0
46
+ version: 0.39.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -124,7 +124,7 @@ homepage: https://github.com/mia-0032/fluent-plugin-gcloud-pubsub-custom
124
124
  licenses:
125
125
  - MIT
126
126
  metadata: {}
127
- post_install_message:
127
+ post_install_message:
128
128
  rdoc_options: []
129
129
  require_paths:
130
130
  - lib
@@ -139,9 +139,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
139
  - !ruby/object:Gem::Version
140
140
  version: '0'
141
141
  requirements: []
142
- rubyforge_project:
143
- rubygems_version: 2.6.13
144
- signing_key:
142
+ rubygems_version: 3.1.2
143
+ signing_key:
145
144
  specification_version: 4
146
145
  summary: Google Cloud Pub/Sub input/output plugin for Fluentd event collector
147
146
  test_files: