flapjack 0.4.12 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/README.md +77 -50
  2. data/Rakefile +78 -26
  3. data/TODO.md +15 -32
  4. data/bin/flapjack-benchmark +50 -0
  5. data/bin/flapjack-notifier +11 -36
  6. data/bin/flapjack-notifier-manager +1 -3
  7. data/bin/flapjack-worker +5 -19
  8. data/doc/PACKAGING.md +25 -0
  9. data/etc/flapjack/flapjack-notifier.conf.example +34 -0
  10. data/etc/flapjack/recipients.conf.example +14 -0
  11. data/features/flapjack-notifier-manager.feature +19 -0
  12. data/features/flapjack-worker-manager.feature +25 -0
  13. data/features/packaging-lintian.feature +15 -0
  14. data/features/persistence/couch.feature +105 -0
  15. data/features/persistence/sqlite3.feature +105 -0
  16. data/features/persistence/steps/couch_steps.rb +25 -0
  17. data/features/persistence/steps/generic_steps.rb +102 -0
  18. data/features/persistence/steps/sqlite3_steps.rb +13 -0
  19. data/features/steps/flapjack-notifier-manager_steps.rb +24 -0
  20. data/features/steps/flapjack-worker-manager_steps.rb +50 -0
  21. data/features/steps/packaging-lintian_steps.rb +13 -0
  22. data/features/support/env.rb +22 -0
  23. data/features/support/silent_system.rb +4 -0
  24. data/flapjack.gemspec +7 -11
  25. data/lib/flapjack/applications/notifier.rb +222 -0
  26. data/lib/flapjack/applications/worker.rb +99 -0
  27. data/lib/flapjack/checks/ping +10 -0
  28. data/lib/flapjack/cli/notifier.rb +80 -218
  29. data/lib/flapjack/cli/worker.rb +1 -86
  30. data/lib/flapjack/filters/any_parents_failed.rb +14 -0
  31. data/lib/flapjack/filters/ok.rb +13 -0
  32. data/lib/flapjack/inifile.rb +44 -0
  33. data/lib/flapjack/{notifier.rb → notifier_engine.rb} +13 -9
  34. data/lib/flapjack/notifiers/mailer/mailer.rb +12 -13
  35. data/lib/flapjack/notifiers/xmpp/xmpp.rb +2 -2
  36. data/lib/flapjack/patches.rb +25 -0
  37. data/lib/flapjack/persistence/couch.rb +5 -0
  38. data/lib/flapjack/persistence/couch/connection.rb +66 -0
  39. data/lib/flapjack/persistence/couch/couch.rb +63 -0
  40. data/lib/flapjack/persistence/data_mapper.rb +3 -0
  41. data/lib/flapjack/persistence/data_mapper/data_mapper.rb +67 -0
  42. data/lib/flapjack/{models → persistence/data_mapper/models}/check.rb +3 -7
  43. data/lib/flapjack/{models → persistence/data_mapper/models}/check_template.rb +0 -0
  44. data/lib/flapjack/persistence/data_mapper/models/event.rb +17 -0
  45. data/lib/flapjack/{models → persistence/data_mapper/models}/node.rb +0 -0
  46. data/lib/flapjack/{models → persistence/data_mapper/models}/related_check.rb +0 -0
  47. data/lib/flapjack/persistence/sqlite3.rb +3 -0
  48. data/lib/flapjack/persistence/sqlite3/sqlite3.rb +166 -0
  49. data/lib/flapjack/transports/beanstalkd.rb +33 -0
  50. data/lib/flapjack/transports/result.rb +58 -0
  51. metadata +46 -56
  52. data/etc/flapjack/flapjack-notifier.yaml.example +0 -8
  53. data/etc/flapjack/recipients.yaml.example +0 -10
  54. data/lib/flapjack/database.rb +0 -10
  55. data/lib/flapjack/result.rb +0 -47
@@ -1,10 +0,0 @@
1
- - :name: Jane Doe
2
- :email: "jane@doe.com"
3
- :phone: "+1 444 333 888"
4
- :pager: "1444333888"
5
- :jid: "jane@doe.com"
6
- - :name: John Doe
7
- :email: "john@doe.com"
8
- :phone: "+1 483 401 501"
9
- :pager: "1888777333"
10
- :jid: "john@doe.com"
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'dm-core'
4
- require 'dm-validations'
5
- require 'dm-types'
6
- require 'dm-timestamps'
7
-
8
- Dir.glob(File.join(File.dirname(__FILE__), 'models', '*.rb')).each do |model|
9
- require model
10
- end
@@ -1,47 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'ostruct'
4
-
5
- ##
6
- # Representation of a check result, as it's popped off the beanstalk.
7
- #
8
- # Provides several convience methods for querying the status of a result.
9
- #
10
- # Convenience methods are used by the Notifier to determine whether a
11
- # notification needs to be sent out.
12
- module Flapjack
13
- class Result < OpenStruct
14
-
15
- # Whether a check returns an ok status.
16
- def ok?
17
- self.retval == 0
18
- end
19
-
20
- # Whether a check has a warning status.
21
- def warning?
22
- self.retval == 1
23
- end
24
-
25
- # Whether a check has a critical status.
26
- def critical?
27
- self.retval == 2
28
- end
29
-
30
- # Human readable representation of the check's return value.
31
- def status
32
- case self.retval
33
- when 0 ; "ok"
34
- when 1 ; "warning"
35
- when 2 ; "critical"
36
- end
37
- end
38
-
39
- # The id of a check result.
40
- def id
41
- # openstruct won't respond, so we have to manually define it
42
- @table[:id]
43
- end
44
-
45
- end
46
- end
47
-