sensu 0.20.6-java → 0.21.0-java
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 +4 -4
- data/CHANGELOG.md +45 -0
- data/{bin → exe}/sensu-api +0 -0
- data/{bin → exe}/sensu-client +0 -0
- data/exe/sensu-install +83 -0
- data/{bin → exe}/sensu-server +0 -0
- data/lib/sensu/api/process.rb +83 -36
- data/lib/sensu/client/socket.rb +2 -2
- data/lib/sensu/constants.rb +1 -1
- data/lib/sensu/daemon.rb +3 -3
- data/lib/sensu/redis.rb +1 -1
- data/lib/sensu/server/filter.rb +3 -3
- data/lib/sensu/server/process.rb +7 -6
- data/sensu.gemspec +7 -6
- metadata +16 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba8ef39150e8ccea80ed1c70c3505883adcd96ca
|
4
|
+
data.tar.gz: 9a68124c0830410ab045359d95d38bf386954927
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de923be5fff12555e295791fb0fc50a57f89470affb79580b5e5347a37188688e3230d166f4c696c3c1dd4161cc4bf9b0af7086b82cb08268369a34271c64ce2
|
7
|
+
data.tar.gz: d077590556a9fea40603a0404b852b5f6eb34a21c331c22633b749d9e69faf6323b62b864b00871a0b9e0f66977ad84b0e97dbf58b43b186afccc8ec27c10496
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,48 @@
|
|
1
|
+
## 0.21.0 - 2015-11-13
|
2
|
+
|
3
|
+
### Features
|
4
|
+
|
5
|
+
Added a Sensu plugin installation tool, `sensu-install`, making it easier
|
6
|
+
to install Sensu community plugins. The `sensu-install` tool will use the
|
7
|
+
appropriate Ruby when installing plugins. The tool aims to produce verbose
|
8
|
+
and useful output to help when debugging plugin installation issues.
|
9
|
+
|
10
|
+
Added the Sensu API DELETE /results/:client/:check endpoint, supporting
|
11
|
+
check result deletion via the Sensu API. This feature allows users to
|
12
|
+
clean up "stale" check result data for checks that have been removed.
|
13
|
+
|
14
|
+
Added the Sensu API POST /results endpoint, supporting check result input
|
15
|
+
via the Sensu API. The JIT client feature added in 0.20 enabled this
|
16
|
+
functionality. Services that do not have access to a local Sensu client
|
17
|
+
socket can make use of this feature.
|
18
|
+
|
19
|
+
### Other
|
20
|
+
|
21
|
+
Improved the Sensu test suite to reduce the number of timeout triggered
|
22
|
+
failures. These changes make Sensu development much more pleasant.
|
23
|
+
|
24
|
+
Fixed a few inline documentation typos, e.g. sbuded -> subdued.
|
25
|
+
|
26
|
+
Moved the Sensu bins (e.g. `sensu-client`) from `bin` to `exe` to avoid
|
27
|
+
the conflict with Ruby bundler bin stubs.
|
28
|
+
|
29
|
+
Fixed Sensu API and client socket input validation, no longer accepting
|
30
|
+
multi-line values.
|
31
|
+
|
32
|
+
Fixed check request publishing for checks that make use of check
|
33
|
+
extensions, e.g. `"extension": "check_http_endpoints`.
|
34
|
+
|
35
|
+
Fixed the handler `"filters"` bug that caused Sensu to mutate handler
|
36
|
+
definitions, removing filters for successive executions.
|
37
|
+
|
38
|
+
Fixed Sensu API POST /request endpoint check request publishing to
|
39
|
+
round-robin client subscriptions.
|
40
|
+
|
41
|
+
Fixed the Windows job handle leak when spawning processes for checks.
|
42
|
+
|
43
|
+
Updated the Redis client library (em-redis-unified) to remove duplicate
|
44
|
+
Ruby hash key warnings.
|
45
|
+
|
1
46
|
## 0.20.6 - 2015-09-22
|
2
47
|
|
3
48
|
### Other
|
data/{bin → exe}/sensu-api
RENAMED
File without changes
|
data/{bin → exe}/sensu-client
RENAMED
File without changes
|
data/exe/sensu-install
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "optparse"
|
4
|
+
|
5
|
+
module Sensu
|
6
|
+
class Install
|
7
|
+
class << self
|
8
|
+
def cli_options(arguments=ARGV)
|
9
|
+
options = {
|
10
|
+
:verbose => false,
|
11
|
+
:plugins => []
|
12
|
+
}
|
13
|
+
optparse = OptionParser.new do |opts|
|
14
|
+
opts.on("-h", "--help", "Display this message") do
|
15
|
+
puts opts
|
16
|
+
exit
|
17
|
+
end
|
18
|
+
opts.on("-v", "--verbose", "Enable verbose logging") do
|
19
|
+
options[:verbose] = true
|
20
|
+
end
|
21
|
+
opts.on("-p", "--plugin PLUGIN", "Install a Sensu PLUGIN") do |plugin|
|
22
|
+
options[:plugins] << plugin
|
23
|
+
end
|
24
|
+
opts.on("-P", "--plugins PLUGIN[,PLUGIN]", "PLUGIN or comma-delimited list of Sensu plugins to install") do |plugins|
|
25
|
+
options[:plugins].concat(plugins.split(","))
|
26
|
+
end
|
27
|
+
opts.on("-s", "--source SOURCE", "Install Sensu plugins from a custom SOURCE") do |source|
|
28
|
+
options[:source] = source
|
29
|
+
end
|
30
|
+
end
|
31
|
+
optparse.parse!(arguments)
|
32
|
+
options
|
33
|
+
end
|
34
|
+
|
35
|
+
def log(message)
|
36
|
+
puts "[SENSU-INSTALL] #{message}"
|
37
|
+
end
|
38
|
+
|
39
|
+
def install_plugins(plugins, options={})
|
40
|
+
log "installing Sensu plugins ..."
|
41
|
+
log "provided Sensu plugins: #{plugins}" if options[:verbose]
|
42
|
+
gems = plugins.map do |plugin|
|
43
|
+
if plugin.start_with?("sensu-plugins-")
|
44
|
+
plugin
|
45
|
+
else
|
46
|
+
"sensu-plugins-#{plugin}"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
log "Sensu plugin gems to be installed: #{gems}" if options[:verbose]
|
50
|
+
gem_options = "--no-ri --no-rdoc"
|
51
|
+
gem_options << " --verbose" if options[:verbose]
|
52
|
+
gem_options << " --source #{options[:source]}" if options[:source]
|
53
|
+
gems.each do |gem|
|
54
|
+
log "installing Sensu plugin gem: #{gem}"
|
55
|
+
gem_command = "gem install #{gem} #{gem_options}"
|
56
|
+
log gem_command if options[:verbose]
|
57
|
+
unless system(gem_command)
|
58
|
+
log "failed to install Sensu plugin gem: #{gem}"
|
59
|
+
log "you can run the sensu-install command again with --verbose for more info" unless options[:verbose]
|
60
|
+
log "please take note of any failure messages above"
|
61
|
+
log "make sure you have build tools installed (e.g. gcc)"
|
62
|
+
log "trying to determine Sensu plugin homepage for #{gem} ..."
|
63
|
+
clean_gem = gem.split(":").first
|
64
|
+
system("gem specification #{clean_gem} -r | grep homepage")
|
65
|
+
exit 2
|
66
|
+
end
|
67
|
+
end
|
68
|
+
log "successfully install Sensu plugins: #{plugins}"
|
69
|
+
end
|
70
|
+
|
71
|
+
def run
|
72
|
+
options = cli_options
|
73
|
+
unless options[:plugins].empty?
|
74
|
+
install_plugins(options[:plugins], options)
|
75
|
+
else
|
76
|
+
log "nothing to do"
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
Sensu::Install.run
|
data/{bin → exe}/sensu-server
RENAMED
File without changes
|
data/lib/sensu/api/process.rb
CHANGED
@@ -177,7 +177,8 @@ module Sensu
|
|
177
177
|
valid = rules.all? do |key, rule|
|
178
178
|
value = data[key]
|
179
179
|
(value.is_a?(rule[:type]) || (rule[:nil_ok] && value.nil?)) &&
|
180
|
-
|
180
|
+
(value.nil? || rule[:regex].nil?) ||
|
181
|
+
(rule[:regex] && (value =~ rule[:regex]) == 0)
|
181
182
|
end
|
182
183
|
if valid
|
183
184
|
callback.call(data)
|
@@ -190,7 +191,7 @@ module Sensu
|
|
190
191
|
end
|
191
192
|
|
192
193
|
def integer_parameter(parameter)
|
193
|
-
parameter =~
|
194
|
+
parameter =~ /\A[0-9]+\z/ ? parameter.to_i : nil
|
194
195
|
end
|
195
196
|
|
196
197
|
def pagination(items)
|
@@ -234,18 +235,12 @@ module Sensu
|
|
234
235
|
end
|
235
236
|
end
|
236
237
|
|
237
|
-
def
|
238
|
-
|
239
|
-
check =
|
240
|
-
|
241
|
-
:status => 0,
|
242
|
-
:issued => Time.now.to_i,
|
243
|
-
:executed => Time.now.to_i,
|
244
|
-
:force_resolve => true
|
245
|
-
)
|
246
|
-
check.delete(:history)
|
238
|
+
def publish_check_result(client_name, check)
|
239
|
+
check[:issued] = Time.now.to_i
|
240
|
+
check[:executed] = Time.now.to_i
|
241
|
+
check[:status] ||= 0
|
247
242
|
payload = {
|
248
|
-
:client =>
|
243
|
+
:client => client_name,
|
249
244
|
:check => check
|
250
245
|
}
|
251
246
|
settings.logger.info("publishing check result", :payload => payload)
|
@@ -258,6 +253,47 @@ module Sensu
|
|
258
253
|
end
|
259
254
|
end
|
260
255
|
end
|
256
|
+
|
257
|
+
def resolve_event(event_json)
|
258
|
+
event = MultiJson.load(event_json)
|
259
|
+
check = event[:check].merge(
|
260
|
+
:output => "Resolving on request of the API",
|
261
|
+
:status => 0,
|
262
|
+
:force_resolve => true
|
263
|
+
)
|
264
|
+
check.delete(:history)
|
265
|
+
publish_check_result(event[:client][:name], check)
|
266
|
+
end
|
267
|
+
|
268
|
+
def transport_publish_options(subscription, message)
|
269
|
+
_, raw_type = subscription.split(":", 2).reverse
|
270
|
+
case raw_type
|
271
|
+
when "direct", "roundrobin"
|
272
|
+
[:direct, subscription, message]
|
273
|
+
else
|
274
|
+
[:fanout, subscription, message]
|
275
|
+
end
|
276
|
+
end
|
277
|
+
|
278
|
+
def publish_check_request(check)
|
279
|
+
payload = check.merge(:issued => Time.now.to_i)
|
280
|
+
settings.logger.info("publishing check request", {
|
281
|
+
:payload => payload,
|
282
|
+
:subscribers => check[:subscribers]
|
283
|
+
})
|
284
|
+
check[:subscribers].each do |subscription|
|
285
|
+
options = transport_publish_options(subscription.to_s, MultiJson.dump(payload))
|
286
|
+
settings.transport.publish(*options) do |info|
|
287
|
+
if info[:error]
|
288
|
+
settings.logger.error("failed to publish check request", {
|
289
|
+
:subscription => subscription,
|
290
|
+
:payload => payload,
|
291
|
+
:error => info[:error].to_s
|
292
|
+
})
|
293
|
+
end
|
294
|
+
end
|
295
|
+
end
|
296
|
+
end
|
261
297
|
end
|
262
298
|
|
263
299
|
before do
|
@@ -311,7 +347,7 @@ module Sensu
|
|
311
347
|
|
312
348
|
apost "/clients/?" do
|
313
349
|
rules = {
|
314
|
-
:name => {:type => String, :nil_ok => false, :regex =>
|
350
|
+
:name => {:type => String, :nil_ok => false, :regex => /\A[\w\.-]+\z/},
|
315
351
|
:address => {:type => String, :nil_ok => false},
|
316
352
|
:subscriptions => {:type => Array, :nil_ok => false}
|
317
353
|
}
|
@@ -459,28 +495,11 @@ module Sensu
|
|
459
495
|
}
|
460
496
|
read_data(rules) do |data|
|
461
497
|
if settings.checks[data[:check]]
|
462
|
-
check = settings.checks[data[:check]]
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
:issued => Time.now.to_i
|
468
|
-
}
|
469
|
-
settings.logger.info("publishing check request", {
|
470
|
-
:payload => payload,
|
471
|
-
:subscribers => subscribers
|
472
|
-
})
|
473
|
-
subscribers.uniq.each do |exchange_name|
|
474
|
-
settings.transport.publish(:fanout, exchange_name.to_s, MultiJson.dump(payload)) do |info|
|
475
|
-
if info[:error]
|
476
|
-
settings.logger.error("failed to publish check request", {
|
477
|
-
:exchange_name => exchange_name,
|
478
|
-
:payload => payload,
|
479
|
-
:error => info[:error].to_s
|
480
|
-
})
|
481
|
-
end
|
482
|
-
end
|
483
|
-
end
|
498
|
+
check = settings.checks[data[:check]].dup
|
499
|
+
check[:name] = data[:check]
|
500
|
+
check[:subscribers] ||= Array.new
|
501
|
+
check[:subscribers] = data[:subscribers] if data[:subscribers]
|
502
|
+
publish_check_request(check)
|
484
503
|
issued!
|
485
504
|
else
|
486
505
|
not_found!
|
@@ -743,6 +762,19 @@ module Sensu
|
|
743
762
|
end
|
744
763
|
end
|
745
764
|
|
765
|
+
apost "/results/?" do
|
766
|
+
rules = {
|
767
|
+
:name => {:type => String, :nil_ok => false, :regex => /\A[\w\.-]+\z/},
|
768
|
+
:output => {:type => String, :nil_ok => false},
|
769
|
+
:status => {:type => Integer, :nil_ok => true},
|
770
|
+
:source => {:type => String, :nil_ok => true, :regex => /\A[\w\.-]+\z/}
|
771
|
+
}
|
772
|
+
read_data(rules) do |data|
|
773
|
+
publish_check_result("sensu-api", data)
|
774
|
+
issued!
|
775
|
+
end
|
776
|
+
end
|
777
|
+
|
746
778
|
aget "/results/?" do
|
747
779
|
response = Array.new
|
748
780
|
settings.redis.smembers("clients") do |clients|
|
@@ -807,6 +839,21 @@ module Sensu
|
|
807
839
|
end
|
808
840
|
end
|
809
841
|
end
|
842
|
+
|
843
|
+
adelete %r{^/results?/([\w\.-]+)/([\w\.-]+)/?$} do |client_name, check_name|
|
844
|
+
result_key = "result:#{client_name}:#{check_name}"
|
845
|
+
settings.redis.exists(result_key) do |result_exists|
|
846
|
+
if result_exists
|
847
|
+
settings.redis.srem("result:#{client_name}", check_name) do
|
848
|
+
settings.redis.del(result_key) do |result_json|
|
849
|
+
no_content!
|
850
|
+
end
|
851
|
+
end
|
852
|
+
else
|
853
|
+
not_found!
|
854
|
+
end
|
855
|
+
end
|
856
|
+
end
|
810
857
|
end
|
811
858
|
end
|
812
859
|
end
|
data/lib/sensu/client/socket.rb
CHANGED
@@ -116,10 +116,10 @@ module Sensu
|
|
116
116
|
#
|
117
117
|
# @param [Hash] check result to validate.
|
118
118
|
def validate_check_result(check)
|
119
|
-
unless check[:name] =~
|
119
|
+
unless check[:name] =~ /\A[\w\.-]+\z/
|
120
120
|
raise DataError, "check name must be a string and cannot contain spaces or special characters"
|
121
121
|
end
|
122
|
-
unless check[:source].nil? || check[:source] =~
|
122
|
+
unless check[:source].nil? || check[:source] =~ /\A[\w\.-]+\z/
|
123
123
|
raise DataError, "check source must be a string and cannot contain spaces or special characters"
|
124
124
|
end
|
125
125
|
unless check[:output].is_a?(String)
|
data/lib/sensu/constants.rb
CHANGED
data/lib/sensu/daemon.rb
CHANGED
@@ -5,10 +5,10 @@ gem "eventmachine", "1.0.8"
|
|
5
5
|
|
6
6
|
gem "sensu-logger", "1.1.0"
|
7
7
|
gem "sensu-settings", "3.1.0"
|
8
|
-
gem "sensu-extension", "1.
|
9
|
-
gem "sensu-extensions", "1.
|
8
|
+
gem "sensu-extension", "1.3.0"
|
9
|
+
gem "sensu-extensions", "1.4.0"
|
10
10
|
gem "sensu-transport", "3.3.0"
|
11
|
-
gem "sensu-spawn", "1.
|
11
|
+
gem "sensu-spawn", "1.6.0"
|
12
12
|
|
13
13
|
require "time"
|
14
14
|
require "uri"
|
data/lib/sensu/redis.rb
CHANGED
data/lib/sensu/server/filter.rb
CHANGED
@@ -179,7 +179,7 @@ module Sensu
|
|
179
179
|
# @return [TrueClass, FalseClass]
|
180
180
|
def eval_attribute_value(raw_eval_string, value)
|
181
181
|
begin
|
182
|
-
eval_string = raw_eval_string.gsub(
|
182
|
+
eval_string = raw_eval_string.gsub(/\Aeval:(\s+)?/, "")
|
183
183
|
!!Sandbox.eval(eval_string, value)
|
184
184
|
rescue => error
|
185
185
|
@logger.error("filter attribute eval error", {
|
@@ -258,7 +258,7 @@ module Sensu
|
|
258
258
|
# @param callback [Proc]
|
259
259
|
def event_filtered?(handler, event, &callback)
|
260
260
|
if handler.has_key?(:filters) || handler.has_key?(:filter)
|
261
|
-
filter_list = Array(handler[:filters] || handler[:filter])
|
261
|
+
filter_list = Array(handler[:filters] || handler[:filter]).dup
|
262
262
|
filter = Proc.new do |filter_list|
|
263
263
|
filter_name = filter_list.shift
|
264
264
|
if filter_name.nil?
|
@@ -278,7 +278,7 @@ module Sensu
|
|
278
278
|
# Attempt to filter an event for a handler. This method will
|
279
279
|
# check to see if handling is disabled, if the event action is
|
280
280
|
# handled, if the event check severity is handled, if the
|
281
|
-
# handler is
|
281
|
+
# handler is subdued, and if the event is filtered by any of the
|
282
282
|
# filters specified in the handler definition.
|
283
283
|
#
|
284
284
|
# @param handler [Hash] definition.
|
data/lib/sensu/server/process.rb
CHANGED
@@ -483,12 +483,12 @@ module Sensu
|
|
483
483
|
end
|
484
484
|
|
485
485
|
# Publish a check request to the transport. A check request is
|
486
|
-
#
|
487
|
-
#
|
488
|
-
# to a transport pipe, for each
|
489
|
-
# its definition, eg. "webserver".
|
490
|
-
# when publishing the check request
|
491
|
-
# pipes. Transport errors are logged.
|
486
|
+
# composed of a check `:name`, an `:issued` timestamp, a check
|
487
|
+
# `:command` if available, and a check `:extension if available.
|
488
|
+
# The check request is published to a transport pipe, for each
|
489
|
+
# of the check `:subscribers` in its definition, eg. "webserver".
|
490
|
+
# JSON serialization is used when publishing the check request
|
491
|
+
# payload to the transport pipes. Transport errors are logged.
|
492
492
|
#
|
493
493
|
# @param check [Hash] definition.
|
494
494
|
def publish_check_request(check)
|
@@ -498,6 +498,7 @@ module Sensu
|
|
498
498
|
}
|
499
499
|
payload[:command] = check[:command] if check.has_key?(:command)
|
500
500
|
payload[:source] = check[:source] if check.has_key?(:source)
|
501
|
+
payload[:extension] = check[:extension] if check.has_key?(:extension)
|
501
502
|
@logger.info("publishing check request", {
|
502
503
|
:payload => payload,
|
503
504
|
:subscribers => check[:subscribers]
|
data/sensu.gemspec
CHANGED
@@ -19,11 +19,11 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.add_dependency "eventmachine", "1.0.8"
|
20
20
|
s.add_dependency "sensu-logger", "1.1.0"
|
21
21
|
s.add_dependency "sensu-settings", "3.1.0"
|
22
|
-
s.add_dependency "sensu-extension", "1.
|
23
|
-
s.add_dependency "sensu-extensions", "1.
|
22
|
+
s.add_dependency "sensu-extension", "1.3.0"
|
23
|
+
s.add_dependency "sensu-extensions", "1.4.0"
|
24
24
|
s.add_dependency "sensu-transport", "3.3.0"
|
25
|
-
s.add_dependency "sensu-spawn", "1.
|
26
|
-
s.add_dependency "em-redis-unified", "1.0.
|
25
|
+
s.add_dependency "sensu-spawn", "1.6.0"
|
26
|
+
s.add_dependency "em-redis-unified", "1.0.1"
|
27
27
|
s.add_dependency "sinatra", "1.4.6"
|
28
28
|
s.add_dependency "async_sinatra", "1.2.0"
|
29
29
|
s.add_dependency "thin", "1.6.3" unless RUBY_PLATFORM =~ /java/
|
@@ -32,7 +32,8 @@ Gem::Specification.new do |s|
|
|
32
32
|
s.add_development_dependency "rspec", "~> 3.0.0"
|
33
33
|
s.add_development_dependency "em-http-request", "~> 1.1"
|
34
34
|
|
35
|
-
s.files = Dir.glob("{
|
36
|
-
s.executables =
|
35
|
+
s.files = Dir.glob("{exe,lib}/**/*") + %w[sensu.gemspec README.md CHANGELOG.md MIT-LICENSE.txt]
|
36
|
+
s.executables = s.files.grep(%r{^exe/}) { |file| File.basename(file) }
|
37
|
+
s.bindir = "exe"
|
37
38
|
s.require_paths = ["lib"]
|
38
39
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.21.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Sean Porter
|
8
8
|
- Justin Kolberg
|
9
9
|
autorequire:
|
10
|
-
bindir:
|
10
|
+
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-11-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: multi_json
|
@@ -87,12 +87,12 @@ dependencies:
|
|
87
87
|
requirements:
|
88
88
|
- - '='
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: 1.
|
90
|
+
version: 1.3.0
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
93
|
- - '='
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: 1.
|
95
|
+
version: 1.3.0
|
96
96
|
prerelease: false
|
97
97
|
type: :runtime
|
98
98
|
- !ruby/object:Gem::Dependency
|
@@ -101,12 +101,12 @@ dependencies:
|
|
101
101
|
requirements:
|
102
102
|
- - '='
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: 1.
|
104
|
+
version: 1.4.0
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
107
|
- - '='
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: 1.
|
109
|
+
version: 1.4.0
|
110
110
|
prerelease: false
|
111
111
|
type: :runtime
|
112
112
|
- !ruby/object:Gem::Dependency
|
@@ -129,12 +129,12 @@ dependencies:
|
|
129
129
|
requirements:
|
130
130
|
- - '='
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version: 1.
|
132
|
+
version: 1.6.0
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
135
|
- - '='
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: 1.
|
137
|
+
version: 1.6.0
|
138
138
|
prerelease: false
|
139
139
|
type: :runtime
|
140
140
|
- !ruby/object:Gem::Dependency
|
@@ -143,12 +143,12 @@ dependencies:
|
|
143
143
|
requirements:
|
144
144
|
- - '='
|
145
145
|
- !ruby/object:Gem::Version
|
146
|
-
version: 1.0.
|
146
|
+
version: 1.0.1
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
149
|
- - '='
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: 1.0.
|
151
|
+
version: 1.0.1
|
152
152
|
prerelease: false
|
153
153
|
type: :runtime
|
154
154
|
- !ruby/object:Gem::Dependency
|
@@ -226,15 +226,17 @@ email:
|
|
226
226
|
- portertech@gmail.com
|
227
227
|
- amdprophet@gmail.com
|
228
228
|
executables:
|
229
|
+
- sensu-install
|
229
230
|
- sensu-server
|
230
231
|
- sensu-client
|
231
232
|
- sensu-api
|
232
233
|
extensions: []
|
233
234
|
extra_rdoc_files: []
|
234
235
|
files:
|
235
|
-
-
|
236
|
-
-
|
237
|
-
-
|
236
|
+
- exe/sensu-install
|
237
|
+
- exe/sensu-server
|
238
|
+
- exe/sensu-client
|
239
|
+
- exe/sensu-api
|
238
240
|
- lib/sensu.rb
|
239
241
|
- lib/sensu/constants.rb
|
240
242
|
- lib/sensu/daemon.rb
|