sensu-plugin 0.0.1 → 0.0.3

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.
@@ -1,4 +1,5 @@
1
1
  require 'json'
2
+ require 'sensu/config'
2
3
 
3
4
  module Sensu
4
5
  class Handler
@@ -36,6 +37,19 @@ module Sensu
36
37
  end
37
38
  end
38
39
 
40
+ # Unfortunately, we need to reimplement config loading. I'm not sure there's
41
+ # a good way to allow overriding these paths.
42
+
43
+ CONFIGS = ['/etc/sensu/config.json'] + Dir['/etc/sensu/conf.d/*.json']
44
+
45
+ def load_config(filename)
46
+ JSON.parse(File.open(filename, 'r').read) rescue Hash.new
47
+ end
48
+
49
+ def settings
50
+ @settings ||= CONFIGS.map {|f| load_config(f) }.reduce {|a, b| a.deep_merge(b) }
51
+ end
52
+
39
53
  at_exit do
40
54
  handler = @@autorun.new
41
55
  event = ::JSON.parse(STDIN.read)
@@ -46,3 +60,14 @@ module Sensu
46
60
 
47
61
  end
48
62
  end
63
+
64
+ # Copied from Sensu (0.8.19)
65
+
66
+ class Hash
67
+ def deep_merge(hash)
68
+ merger = proc do |key, value1, value2|
69
+ value1.is_a?(Hash) && value2.is_a?(Hash) ? value1.merge(value2, &merger) : value2
70
+ end
71
+ self.merge(hash, &merger)
72
+ end
73
+ end
@@ -1,6 +1,6 @@
1
1
  module Sensu
2
2
  module Plugin
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.3"
4
4
  EXIT_CODES = {
5
5
  'OK' => 0,
6
6
  'WARNING' => 1,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-15 00:00:00.000000000 Z
12
+ date: 2011-12-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
16
- requirement: &70296568612360 !ruby/object:Gem::Requirement
16
+ requirement: &70160334903060 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70296568612360
24
+ version_requirements: *70160334903060
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: mixlib-cli
27
- requirement: &70296568611860 !ruby/object:Gem::Requirement
27
+ requirement: &70160334902480 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: 1.1.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70296568611860
35
+ version_requirements: *70160334902480
36
36
  description: Plugins and helper libraries for Sensu, a monitoring framework
37
37
  email:
38
38
  - decklin@red-bean.com