logstash-output-elasticsearch-leprechaun-fork 1.0.8

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.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/CHANGELOG.md +30 -0
  4. data/CONTRIBUTORS +31 -0
  5. data/Gemfile +3 -0
  6. data/LICENSE +13 -0
  7. data/NOTICE.TXT +5 -0
  8. data/README.md +98 -0
  9. data/Rakefile +1 -0
  10. data/lib/logstash-output-elasticsearch_jars.rb +5 -0
  11. data/lib/logstash/outputs/elasticsearch.rb +784 -0
  12. data/lib/logstash/outputs/elasticsearch/elasticsearch-template.json +41 -0
  13. data/lib/logstash/outputs/elasticsearch/protocol.rb +339 -0
  14. data/logstash-output-elasticsearch.gemspec +40 -0
  15. data/spec/es_spec_helper.rb +65 -0
  16. data/spec/integration/outputs/elasticsearch/node_spec.rb +36 -0
  17. data/spec/integration/outputs/index_spec.rb +90 -0
  18. data/spec/integration/outputs/retry_spec.rb +156 -0
  19. data/spec/integration/outputs/routing_spec.rb +114 -0
  20. data/spec/integration/outputs/secure_spec.rb +113 -0
  21. data/spec/integration/outputs/templates_spec.rb +97 -0
  22. data/spec/integration/outputs/transport_create_spec.rb +94 -0
  23. data/spec/integration/outputs/update_spec.rb +87 -0
  24. data/spec/unit/outputs/elasticsearch/protocol_spec.rb +54 -0
  25. data/spec/unit/outputs/elasticsearch_proxy_spec.rb +59 -0
  26. data/spec/unit/outputs/elasticsearch_spec.rb +183 -0
  27. data/spec/unit/outputs/elasticsearch_ssl_spec.rb +82 -0
  28. data/vendor/jar-dependencies/runtime-jars/antlr-runtime-3.5.jar +0 -0
  29. data/vendor/jar-dependencies/runtime-jars/asm-4.1.jar +0 -0
  30. data/vendor/jar-dependencies/runtime-jars/asm-commons-4.1.jar +0 -0
  31. data/vendor/jar-dependencies/runtime-jars/elasticsearch-1.7.0.jar +0 -0
  32. data/vendor/jar-dependencies/runtime-jars/lucene-analyzers-common-4.10.4.jar +0 -0
  33. data/vendor/jar-dependencies/runtime-jars/lucene-core-4.10.4.jar +0 -0
  34. data/vendor/jar-dependencies/runtime-jars/lucene-grouping-4.10.4.jar +0 -0
  35. data/vendor/jar-dependencies/runtime-jars/lucene-highlighter-4.10.4.jar +0 -0
  36. data/vendor/jar-dependencies/runtime-jars/lucene-join-4.10.4.jar +0 -0
  37. data/vendor/jar-dependencies/runtime-jars/lucene-memory-4.10.4.jar +0 -0
  38. data/vendor/jar-dependencies/runtime-jars/lucene-misc-4.10.4.jar +0 -0
  39. data/vendor/jar-dependencies/runtime-jars/lucene-queries-4.10.4.jar +0 -0
  40. data/vendor/jar-dependencies/runtime-jars/lucene-queryparser-4.10.4.jar +0 -0
  41. data/vendor/jar-dependencies/runtime-jars/lucene-sandbox-4.10.4.jar +0 -0
  42. data/vendor/jar-dependencies/runtime-jars/lucene-spatial-4.10.4.jar +0 -0
  43. data/vendor/jar-dependencies/runtime-jars/lucene-suggest-4.10.4.jar +0 -0
  44. data/vendor/jar-dependencies/runtime-jars/spatial4j-0.4.1.jar +0 -0
  45. metadata +246 -0
@@ -0,0 +1,82 @@
1
+ require_relative "../../../spec/es_spec_helper"
2
+ require 'stud/temporary'
3
+
4
+ describe "SSL option" do
5
+ ["node", "transport"].each do |protocol|
6
+ context "with protocol => #{protocol}" do
7
+ subject do
8
+ require "logstash/outputs/elasticsearch"
9
+ settings = {
10
+ "protocol" => protocol,
11
+ "node_name" => "logstash",
12
+ "cluster" => "elasticsearch",
13
+ "host" => "node01",
14
+ "ssl" => true
15
+ }
16
+ next LogStash::Outputs::ElasticSearch.new(settings)
17
+ end
18
+
19
+ it "should fail in register" do
20
+ expect {subject.register}.to raise_error
21
+ end
22
+ end
23
+ end
24
+
25
+ context "when using http protocol" do
26
+ protocol = "http"
27
+ context "when using ssl without cert verification" do
28
+ subject do
29
+ require "logstash/outputs/elasticsearch"
30
+ settings = {
31
+ "protocol" => protocol,
32
+ "host" => "node01",
33
+ "ssl" => true,
34
+ "ssl_certificate_verification" => false
35
+ }
36
+ next LogStash::Outputs::ElasticSearch.new(settings)
37
+ end
38
+
39
+ it "should pass the flag to the ES client" do
40
+ expect(::Elasticsearch::Client).to receive(:new) do |args|
41
+ expect(args[:ssl]).to eq(:verify => false)
42
+ end
43
+ subject.register
44
+ end
45
+
46
+ it "print a warning" do
47
+ expect(subject.logger).to receive(:warn)
48
+ subject.register
49
+ end
50
+ end
51
+
52
+ context "when using ssl with client certificates" do
53
+
54
+ let(:keystore_path) { Stud::Temporary.file.path }
55
+
56
+ after :each do
57
+ File.delete(keystore_path)
58
+ end
59
+
60
+ subject do
61
+ require "logstash/outputs/elasticsearch"
62
+ settings = {
63
+ "protocol" => protocol,
64
+ "host" => "node01",
65
+ "ssl" => true,
66
+ "keystore" => keystore_path,
67
+ "keystore_password" => "test"
68
+ }
69
+ next LogStash::Outputs::ElasticSearch.new(settings)
70
+ end
71
+
72
+
73
+ it "should pass the keystore parameters to the ES client" do
74
+ expect(::Elasticsearch::Client).to receive(:new) do |args|
75
+ expect(args[:ssl]).to include(:keystore => keystore_path, :keystore_password => "test")
76
+ end
77
+ subject.register
78
+ end
79
+
80
+ end
81
+ end
82
+ end
metadata ADDED
@@ -0,0 +1,246 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: logstash-output-elasticsearch-leprechaun-fork
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.8
5
+ platform: ruby
6
+ authors:
7
+ - Elastic
8
+ - Laurence MacGuire
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2016-04-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: concurrent-ruby
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: elasticsearch
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 1.0.10
35
+ - - "~>"
36
+ - !ruby/object:Gem::Version
37
+ version: '1.0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 1.0.10
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: stud
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.0.17
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '0.0'
58
+ type: :runtime
59
+ prerelease: false
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 0.0.17
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: cabin
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.6'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '0.6'
82
+ - !ruby/object:Gem::Dependency
83
+ name: logstash-core
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 1.4.0
89
+ - - "<"
90
+ - !ruby/object:Gem::Version
91
+ version: 2.0.0
92
+ type: :runtime
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: 1.4.0
99
+ - - "<"
100
+ - !ruby/object:Gem::Version
101
+ version: 2.0.0
102
+ - !ruby/object:Gem::Dependency
103
+ name: ftw
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: 0.0.42
109
+ type: :development
110
+ prerelease: false
111
+ version_requirements: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: 0.0.42
116
+ - !ruby/object:Gem::Dependency
117
+ name: logstash-input-generator
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ - !ruby/object:Gem::Dependency
131
+ name: logstash-devutils
132
+ requirement: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ type: :development
138
+ prerelease: false
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ - !ruby/object:Gem::Dependency
145
+ name: longshoreman
146
+ requirement: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ type: :development
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ description: Output events to elasticsearch
159
+ email: leprechaun@gmail.com
160
+ executables: []
161
+ extensions: []
162
+ extra_rdoc_files: []
163
+ files:
164
+ - ".gitignore"
165
+ - CHANGELOG.md
166
+ - CONTRIBUTORS
167
+ - Gemfile
168
+ - LICENSE
169
+ - NOTICE.TXT
170
+ - README.md
171
+ - Rakefile
172
+ - lib/logstash-output-elasticsearch_jars.rb
173
+ - lib/logstash/outputs/elasticsearch.rb
174
+ - lib/logstash/outputs/elasticsearch/elasticsearch-template.json
175
+ - lib/logstash/outputs/elasticsearch/protocol.rb
176
+ - logstash-output-elasticsearch.gemspec
177
+ - spec/es_spec_helper.rb
178
+ - spec/integration/outputs/elasticsearch/node_spec.rb
179
+ - spec/integration/outputs/index_spec.rb
180
+ - spec/integration/outputs/retry_spec.rb
181
+ - spec/integration/outputs/routing_spec.rb
182
+ - spec/integration/outputs/secure_spec.rb
183
+ - spec/integration/outputs/templates_spec.rb
184
+ - spec/integration/outputs/transport_create_spec.rb
185
+ - spec/integration/outputs/update_spec.rb
186
+ - spec/unit/outputs/elasticsearch/protocol_spec.rb
187
+ - spec/unit/outputs/elasticsearch_proxy_spec.rb
188
+ - spec/unit/outputs/elasticsearch_spec.rb
189
+ - spec/unit/outputs/elasticsearch_ssl_spec.rb
190
+ - vendor/jar-dependencies/runtime-jars/antlr-runtime-3.5.jar
191
+ - vendor/jar-dependencies/runtime-jars/asm-4.1.jar
192
+ - vendor/jar-dependencies/runtime-jars/asm-commons-4.1.jar
193
+ - vendor/jar-dependencies/runtime-jars/elasticsearch-1.7.0.jar
194
+ - vendor/jar-dependencies/runtime-jars/lucene-analyzers-common-4.10.4.jar
195
+ - vendor/jar-dependencies/runtime-jars/lucene-core-4.10.4.jar
196
+ - vendor/jar-dependencies/runtime-jars/lucene-grouping-4.10.4.jar
197
+ - vendor/jar-dependencies/runtime-jars/lucene-highlighter-4.10.4.jar
198
+ - vendor/jar-dependencies/runtime-jars/lucene-join-4.10.4.jar
199
+ - vendor/jar-dependencies/runtime-jars/lucene-memory-4.10.4.jar
200
+ - vendor/jar-dependencies/runtime-jars/lucene-misc-4.10.4.jar
201
+ - vendor/jar-dependencies/runtime-jars/lucene-queries-4.10.4.jar
202
+ - vendor/jar-dependencies/runtime-jars/lucene-queryparser-4.10.4.jar
203
+ - vendor/jar-dependencies/runtime-jars/lucene-sandbox-4.10.4.jar
204
+ - vendor/jar-dependencies/runtime-jars/lucene-spatial-4.10.4.jar
205
+ - vendor/jar-dependencies/runtime-jars/lucene-suggest-4.10.4.jar
206
+ - vendor/jar-dependencies/runtime-jars/spatial4j-0.4.1.jar
207
+ homepage: http://logstash.net/
208
+ licenses:
209
+ - apache-2.0
210
+ metadata:
211
+ logstash_plugin: 'true'
212
+ logstash_group: output
213
+ post_install_message:
214
+ rdoc_options: []
215
+ require_paths:
216
+ - lib
217
+ required_ruby_version: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ required_rubygems_version: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ version: '0'
227
+ requirements: []
228
+ rubyforge_project:
229
+ rubygems_version: 2.6.3
230
+ signing_key:
231
+ specification_version: 4
232
+ summary: Logstash Output to Elasticsearch
233
+ test_files:
234
+ - spec/es_spec_helper.rb
235
+ - spec/integration/outputs/elasticsearch/node_spec.rb
236
+ - spec/integration/outputs/index_spec.rb
237
+ - spec/integration/outputs/retry_spec.rb
238
+ - spec/integration/outputs/routing_spec.rb
239
+ - spec/integration/outputs/secure_spec.rb
240
+ - spec/integration/outputs/templates_spec.rb
241
+ - spec/integration/outputs/transport_create_spec.rb
242
+ - spec/integration/outputs/update_spec.rb
243
+ - spec/unit/outputs/elasticsearch/protocol_spec.rb
244
+ - spec/unit/outputs/elasticsearch_proxy_spec.rb
245
+ - spec/unit/outputs/elasticsearch_spec.rb
246
+ - spec/unit/outputs/elasticsearch_ssl_spec.rb