logstash-output-elasticsearch-leprechaun-fork 1.0.8

Sign up to get free protection for your applications and to get access to all the features.
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