logstash-output-courier 2.7.3-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/logstash/outputs/courier.rb +96 -0
  3. metadata +94 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b2c2aec7aa721e9233234b398f94681d4de43ee4c3b9a14b87319b704867ba15
4
+ data.tar.gz: 591f971fd00f12522960f8e4fd9f3f1c1e1984908c21450398ef1242df3c42e7
5
+ SHA512:
6
+ metadata.gz: 28a824a2587ab5d775096e897b1c5be21893cb36d2bc776b375bd419502056359e2a69f35f756f6b72b83b9e528930c97bbcdbe9e07ad3e7471c34371581e3bf
7
+ data.tar.gz: 4fefbab8a1d5d0e2871809c6322bf181474e46918923d22baee8184814942694bb4f504366aa6d321138255a685fe8652572ee79d9c26fbf75f508a5f79b9c89
@@ -0,0 +1,96 @@
1
+ # Copyright 2014-2021 Jason Woods.
2
+ #
3
+ # This file is a modification of code from Logstash Forwarder.
4
+ # Copyright 2012-2013 Jordan Sissel and contributors.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
18
+ require 'logstash/version'
19
+ require 'rubygems/version'
20
+
21
+ module LogStash
22
+ module Outputs
23
+ # Send events using the Log Courier protocol
24
+ class Courier < LogStash::Outputs::Base
25
+ config_name 'courier'
26
+
27
+ # The list of addresses Log Courier should send to
28
+ config :addresses, validate: :array, required: true
29
+
30
+ # The port to connect to
31
+ config :port, validate: :number, required: true
32
+
33
+ # The transport type to use
34
+ config :transport, validate: :string, default: 'tls'
35
+
36
+ # CA certificate for validation of the server
37
+ config :ssl_ca, validate: :path, required: true
38
+
39
+ # Client SSL certificate to use
40
+ config :ssl_certificate, validate: :path
41
+
42
+ # Client SSL key to use
43
+ config :ssl_key, validate: :path
44
+
45
+ # SSL key passphrase to use
46
+ config :ssl_key_passphrase, validate: :password
47
+
48
+ # Set minimum TLS version
49
+ config :min_tls_version, validate: :number, default: 1.2
50
+
51
+ # Maximum number of events to spool before forcing a flush
52
+ config :spool_size, validate: :number, default: 1024
53
+
54
+ # Maximum time to wait for a full spool before forcing a flush
55
+ config :idle_timeout, validate: :number, default: 5
56
+
57
+ def register
58
+ @logger.info 'Starting courier output'
59
+
60
+ require 'log-courier/client'
61
+ @client = LogCourier::Client.new(options)
62
+ nil
63
+ end
64
+
65
+ def receive(event)
66
+ return unless output?(event)
67
+
68
+ @client.publish event.to_hash
69
+ nil
70
+ end
71
+
72
+ def close
73
+ @client.shutdown
74
+ nil
75
+ end
76
+
77
+ private
78
+
79
+ def options
80
+ result = {}
81
+ [
82
+ :logger, :addresses, :port, :transport, :ssl_ca, :ssl_certificate, :ssl_key,
83
+ :ssl_key_passphrase, :spool_size, :idle_timeout, :min_tls_version,
84
+ ].each do |k|
85
+ result[k] = send(k)
86
+ end
87
+ result
88
+ end
89
+
90
+ def addresses
91
+ # TODO: Fix this naming inconsistency
92
+ @hosts
93
+ end
94
+ end
95
+ end
96
+ end
metadata ADDED
@@ -0,0 +1,94 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: logstash-output-courier
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.7.3
5
+ platform: java
6
+ authors:
7
+ - Jason Woods
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-10-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 2.7.3
19
+ name: log-courier
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 2.7.3
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ name: logstash-codec-plain
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '1.60'
47
+ - - "<="
48
+ - !ruby/object:Gem::Version
49
+ version: '2.99'
50
+ name: logstash-core-plugin-api
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: '1.60'
58
+ - - "<="
59
+ - !ruby/object:Gem::Version
60
+ version: '2.99'
61
+ description: Courier Output Logstash Plugin
62
+ email:
63
+ - devel@jasonwoods.me.uk
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - lib/logstash/outputs/courier.rb
69
+ homepage: https://github.com/driskell/log-courier
70
+ licenses:
71
+ - Apache-2.0
72
+ metadata:
73
+ logstash_plugin: 'true'
74
+ logstash_group: output
75
+ post_install_message:
76
+ rdoc_options: []
77
+ require_paths:
78
+ - lib
79
+ required_ruby_version: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ required_rubygems_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ requirements: []
90
+ rubygems_version: 3.0.6
91
+ signing_key:
92
+ specification_version: 4
93
+ summary: Transmit events from one Logstash instance to another using the Courier protocol
94
+ test_files: []