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

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