flapjack 1.6.0 → 2.0.0b1

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 (301) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -6
  3. data/.gitmodules +1 -1
  4. data/.rspec +1 -1
  5. data/.ruby-version +1 -1
  6. data/.travis.yml +12 -13
  7. data/CHANGELOG.md +2 -9
  8. data/CONTRIBUTING.md +7 -2
  9. data/Gemfile +4 -13
  10. data/LICENCE +1 -0
  11. data/README.md +8 -2
  12. data/Rakefile +2 -2
  13. data/bin/flapjack +3 -12
  14. data/build.sh +4 -2
  15. data/etc/flapjack_config.toml.example +273 -0
  16. data/features/ack_after_sched_maint.feature +18 -21
  17. data/features/cli.feature +11 -71
  18. data/features/cli_flapjack-feed-events.feature +14 -15
  19. data/features/cli_flapjack-nagios-receiver.feature +12 -41
  20. data/features/cli_flapper.feature +12 -41
  21. data/features/cli_purge.feature +5 -6
  22. data/features/cli_receive-events.feature +6 -7
  23. data/features/cli_simulate-failed-check.feature +5 -6
  24. data/features/events.feature +206 -181
  25. data/features/events_check_names.feature +4 -7
  26. data/features/notification_rules.feature +144 -223
  27. data/features/notifications.feature +65 -57
  28. data/features/rollup.feature +45 -47
  29. data/features/steps/cli_steps.rb +4 -5
  30. data/features/steps/events_steps.rb +163 -373
  31. data/features/steps/notifications_steps.rb +408 -264
  32. data/features/steps/packaging-lintian_steps.rb +0 -4
  33. data/features/steps/time_travel_steps.rb +0 -26
  34. data/features/support/daemons.rb +6 -31
  35. data/features/support/env.rb +65 -74
  36. data/flapjack.gemspec +22 -24
  37. data/lib/flapjack.rb +14 -7
  38. data/lib/flapjack/cli/flapper.rb +74 -173
  39. data/lib/flapjack/cli/maintenance.rb +278 -109
  40. data/lib/flapjack/cli/migrate.rb +950 -0
  41. data/lib/flapjack/cli/purge.rb +19 -22
  42. data/lib/flapjack/cli/receiver.rb +150 -326
  43. data/lib/flapjack/cli/server.rb +8 -235
  44. data/lib/flapjack/cli/simulate.rb +42 -57
  45. data/lib/flapjack/configuration.rb +51 -37
  46. data/lib/flapjack/coordinator.rb +138 -129
  47. data/lib/flapjack/data/acknowledgement.rb +177 -0
  48. data/lib/flapjack/data/alert.rb +97 -158
  49. data/lib/flapjack/data/check.rb +611 -0
  50. data/lib/flapjack/data/condition.rb +70 -0
  51. data/lib/flapjack/data/contact.rb +226 -456
  52. data/lib/flapjack/data/event.rb +96 -184
  53. data/lib/flapjack/data/extensions/associations.rb +59 -0
  54. data/lib/flapjack/data/extensions/short_name.rb +25 -0
  55. data/lib/flapjack/data/medium.rb +428 -0
  56. data/lib/flapjack/data/metrics.rb +194 -0
  57. data/lib/flapjack/data/notification.rb +22 -281
  58. data/lib/flapjack/data/rule.rb +473 -0
  59. data/lib/flapjack/data/scheduled_maintenance.rb +244 -0
  60. data/lib/flapjack/data/state.rb +221 -0
  61. data/lib/flapjack/data/statistic.rb +112 -0
  62. data/lib/flapjack/data/tag.rb +277 -0
  63. data/lib/flapjack/data/test_notification.rb +182 -0
  64. data/lib/flapjack/data/unscheduled_maintenance.rb +159 -0
  65. data/lib/flapjack/data/validators/id_validator.rb +20 -0
  66. data/lib/flapjack/exceptions.rb +6 -0
  67. data/lib/flapjack/filters/acknowledgement.rb +23 -16
  68. data/lib/flapjack/filters/base.rb +0 -5
  69. data/lib/flapjack/filters/delays.rb +53 -43
  70. data/lib/flapjack/filters/ok.rb +23 -14
  71. data/lib/flapjack/filters/scheduled_maintenance.rb +3 -3
  72. data/lib/flapjack/filters/unscheduled_maintenance.rb +12 -3
  73. data/lib/flapjack/gateways/aws_sns.rb +65 -49
  74. data/lib/flapjack/gateways/aws_sns/alert.text.erb +2 -2
  75. data/lib/flapjack/gateways/aws_sns/alert_subject.text.erb +2 -2
  76. data/lib/flapjack/gateways/aws_sns/rollup_subject.text.erb +1 -1
  77. data/lib/flapjack/gateways/email.rb +107 -90
  78. data/lib/flapjack/gateways/email/alert.html.erb +19 -18
  79. data/lib/flapjack/gateways/email/alert.text.erb +20 -14
  80. data/lib/flapjack/gateways/email/alert_subject.text.erb +2 -1
  81. data/lib/flapjack/gateways/email/rollup.html.erb +14 -13
  82. data/lib/flapjack/gateways/email/rollup.text.erb +13 -10
  83. data/lib/flapjack/gateways/jabber.rb +679 -671
  84. data/lib/flapjack/gateways/jabber/alert.text.erb +9 -6
  85. data/lib/flapjack/gateways/jsonapi.rb +164 -350
  86. data/lib/flapjack/gateways/jsonapi/data/join_descriptor.rb +44 -0
  87. data/lib/flapjack/gateways/jsonapi/data/method_descriptor.rb +21 -0
  88. data/lib/flapjack/gateways/jsonapi/helpers/headers.rb +63 -0
  89. data/lib/flapjack/gateways/jsonapi/helpers/miscellaneous.rb +136 -0
  90. data/lib/flapjack/gateways/jsonapi/helpers/resources.rb +227 -0
  91. data/lib/flapjack/gateways/jsonapi/helpers/serialiser.rb +313 -0
  92. data/lib/flapjack/gateways/jsonapi/helpers/swagger_docs.rb +322 -0
  93. data/lib/flapjack/gateways/jsonapi/methods/association_delete.rb +115 -0
  94. data/lib/flapjack/gateways/jsonapi/methods/association_get.rb +288 -0
  95. data/lib/flapjack/gateways/jsonapi/methods/association_patch.rb +178 -0
  96. data/lib/flapjack/gateways/jsonapi/methods/association_post.rb +116 -0
  97. data/lib/flapjack/gateways/jsonapi/methods/metrics.rb +71 -0
  98. data/lib/flapjack/gateways/jsonapi/methods/resource_delete.rb +119 -0
  99. data/lib/flapjack/gateways/jsonapi/methods/resource_get.rb +186 -0
  100. data/lib/flapjack/gateways/jsonapi/methods/resource_patch.rb +239 -0
  101. data/lib/flapjack/gateways/jsonapi/methods/resource_post.rb +197 -0
  102. data/lib/flapjack/gateways/jsonapi/middleware/array_param_fixer.rb +27 -0
  103. data/lib/flapjack/gateways/jsonapi/{rack → middleware}/json_params_parser.rb +7 -6
  104. data/lib/flapjack/gateways/jsonapi/middleware/request_timestamp.rb +18 -0
  105. data/lib/flapjack/gateways/oobetet.rb +222 -170
  106. data/lib/flapjack/gateways/pager_duty.rb +388 -0
  107. data/lib/flapjack/gateways/pager_duty/alert.text.erb +13 -0
  108. data/lib/flapjack/gateways/slack.rb +56 -48
  109. data/lib/flapjack/gateways/slack/alert.text.erb +1 -1
  110. data/lib/flapjack/gateways/slack/rollup.text.erb +1 -1
  111. data/lib/flapjack/gateways/sms_aspsms.rb +155 -0
  112. data/lib/flapjack/gateways/sms_aspsms/alert.text.erb +7 -0
  113. data/lib/flapjack/gateways/sms_aspsms/rollup.text.erb +2 -0
  114. data/lib/flapjack/gateways/sms_messagenet.rb +77 -57
  115. data/lib/flapjack/gateways/sms_messagenet/alert.text.erb +3 -2
  116. data/lib/flapjack/gateways/sms_nexmo.rb +53 -51
  117. data/lib/flapjack/gateways/sms_nexmo/alert.text.erb +2 -2
  118. data/lib/flapjack/gateways/sms_nexmo/rollup.text.erb +1 -1
  119. data/lib/flapjack/gateways/sms_twilio.rb +79 -62
  120. data/lib/flapjack/gateways/sms_twilio/alert.text.erb +3 -2
  121. data/lib/flapjack/gateways/web.rb +437 -345
  122. data/lib/flapjack/gateways/web/middleware/request_timestamp.rb +18 -0
  123. data/lib/flapjack/gateways/web/public/css/bootstrap.css +3793 -4340
  124. data/lib/flapjack/gateways/web/public/css/bootstrap.css.map +1 -0
  125. data/lib/flapjack/gateways/web/public/fonts/glyphicons-halflings-regular.eot +0 -0
  126. data/lib/flapjack/gateways/web/public/fonts/glyphicons-halflings-regular.svg +273 -214
  127. data/lib/flapjack/gateways/web/public/fonts/glyphicons-halflings-regular.ttf +0 -0
  128. data/lib/flapjack/gateways/web/public/fonts/glyphicons-halflings-regular.woff +0 -0
  129. data/lib/flapjack/gateways/web/public/fonts/glyphicons-halflings-regular.woff2 +0 -0
  130. data/lib/flapjack/gateways/web/public/js/bootstrap.js +1637 -1607
  131. data/lib/flapjack/gateways/web/public/js/self_stats.js +1 -2
  132. data/lib/flapjack/gateways/web/views/_pagination.html.erb +19 -0
  133. data/lib/flapjack/gateways/web/views/check.html.erb +159 -121
  134. data/lib/flapjack/gateways/web/views/checks.html.erb +82 -41
  135. data/lib/flapjack/gateways/web/views/contact.html.erb +59 -71
  136. data/lib/flapjack/gateways/web/views/contacts.html.erb +32 -8
  137. data/lib/flapjack/gateways/web/views/index.html.erb +2 -2
  138. data/lib/flapjack/gateways/web/views/{layout.erb → layout.html.erb} +7 -23
  139. data/lib/flapjack/gateways/web/views/self_stats.html.erb +32 -33
  140. data/lib/flapjack/gateways/web/views/tag.html.erb +32 -0
  141. data/lib/flapjack/gateways/web/views/tags.html.erb +51 -0
  142. data/lib/flapjack/logger.rb +34 -3
  143. data/lib/flapjack/notifier.rb +180 -112
  144. data/lib/flapjack/patches.rb +8 -63
  145. data/lib/flapjack/pikelet.rb +185 -143
  146. data/lib/flapjack/processor.rb +323 -191
  147. data/lib/flapjack/record_queue.rb +33 -0
  148. data/lib/flapjack/redis_proxy.rb +66 -0
  149. data/lib/flapjack/utility.rb +21 -15
  150. data/lib/flapjack/version.rb +2 -1
  151. data/libexec/httpbroker.go +218 -14
  152. data/libexec/oneoff.go +13 -10
  153. data/spec/lib/flapjack/configuration_spec.rb +286 -0
  154. data/spec/lib/flapjack/coordinator_spec.rb +103 -157
  155. data/spec/lib/flapjack/data/check_spec.rb +175 -0
  156. data/spec/lib/flapjack/data/contact_spec.rb +26 -349
  157. data/spec/lib/flapjack/data/event_spec.rb +76 -291
  158. data/spec/lib/flapjack/data/medium_spec.rb +19 -0
  159. data/spec/lib/flapjack/data/rule_spec.rb +43 -0
  160. data/spec/lib/flapjack/data/scheduled_maintenance_spec.rb +976 -0
  161. data/spec/lib/flapjack/data/unscheduled_maintenance_spec.rb +34 -0
  162. data/spec/lib/flapjack/gateways/aws_sns_spec.rb +111 -60
  163. data/spec/lib/flapjack/gateways/email_spec.rb +194 -161
  164. data/spec/lib/flapjack/gateways/jabber_spec.rb +961 -162
  165. data/spec/lib/flapjack/gateways/jsonapi/methods/check_links_spec.rb +155 -0
  166. data/spec/lib/flapjack/gateways/jsonapi/methods/checks_spec.rb +426 -0
  167. data/spec/lib/flapjack/gateways/jsonapi/methods/contact_links_spec.rb +217 -0
  168. data/spec/lib/flapjack/gateways/jsonapi/methods/contacts_spec.rb +425 -0
  169. data/spec/lib/flapjack/gateways/jsonapi/methods/events_spec.rb +271 -0
  170. data/spec/lib/flapjack/gateways/jsonapi/methods/media_spec.rb +257 -0
  171. data/spec/lib/flapjack/gateways/jsonapi/methods/medium_links_spec.rb +163 -0
  172. data/spec/lib/flapjack/gateways/jsonapi/methods/metrics_spec.rb +8 -0
  173. data/spec/lib/flapjack/gateways/jsonapi/methods/rule_links_spec.rb +212 -0
  174. data/spec/lib/flapjack/gateways/jsonapi/methods/rules_spec.rb +289 -0
  175. data/spec/lib/flapjack/gateways/jsonapi/methods/scheduled_maintenance_links_spec.rb +49 -0
  176. data/spec/lib/flapjack/gateways/jsonapi/methods/scheduled_maintenances_spec.rb +242 -0
  177. data/spec/lib/flapjack/gateways/jsonapi/methods/tag_links_spec.rb +274 -0
  178. data/spec/lib/flapjack/gateways/jsonapi/methods/tags_spec.rb +302 -0
  179. data/spec/lib/flapjack/gateways/jsonapi/methods/unscheduled_maintenance_links_spec.rb +49 -0
  180. data/spec/lib/flapjack/gateways/jsonapi/methods/unscheduled_maintenances_spec.rb +339 -0
  181. data/spec/lib/flapjack/gateways/jsonapi_spec.rb +1 -1
  182. data/spec/lib/flapjack/gateways/oobetet_spec.rb +151 -79
  183. data/spec/lib/flapjack/gateways/pager_duty_spec.rb +353 -0
  184. data/spec/lib/flapjack/gateways/slack_spec.rb +53 -53
  185. data/spec/lib/flapjack/gateways/sms_aspsms_spec.rb +106 -0
  186. data/spec/lib/flapjack/gateways/sms_messagenet_spec.rb +111 -54
  187. data/spec/lib/flapjack/gateways/sms_nexmo_spec.rb +50 -51
  188. data/spec/lib/flapjack/gateways/sms_twilio_spec.rb +108 -48
  189. data/spec/lib/flapjack/gateways/web_spec.rb +144 -216
  190. data/spec/lib/flapjack/notifier_spec.rb +132 -1
  191. data/spec/lib/flapjack/pikelet_spec.rb +111 -50
  192. data/spec/lib/flapjack/processor_spec.rb +210 -40
  193. data/spec/lib/flapjack/redis_proxy_spec.rb +45 -0
  194. data/spec/lib/flapjack/utility_spec.rb +11 -15
  195. data/spec/service_consumers/fixture_data.rb +547 -0
  196. data/spec/service_consumers/pact_helper.rb +21 -32
  197. data/spec/service_consumers/pacts/flapjack-diner_v2.0.json +4652 -0
  198. data/spec/service_consumers/provider_states_for_flapjack-diner.rb +279 -322
  199. data/spec/service_consumers/provider_support.rb +8 -0
  200. data/spec/spec_helper.rb +34 -44
  201. data/spec/support/erb_view_helper.rb +1 -1
  202. data/spec/support/factories.rb +58 -0
  203. data/spec/support/jsonapi_helper.rb +15 -26
  204. data/spec/support/mock_logger.rb +43 -0
  205. data/spec/support/xmpp_comparable.rb +24 -0
  206. data/src/flapjack/transport_test.go +30 -1
  207. data/tasks/dump_keys.rake +82 -0
  208. data/tasks/events.rake +7 -7
  209. data/tasks/support/flapjack_config_benchmark.toml +28 -0
  210. data/tasks/support/flapjack_config_benchmark.yaml +0 -2
  211. metadata +175 -222
  212. data/Guardfile +0 -14
  213. data/etc/flapjack_config.yaml.example +0 -477
  214. data/features/cli_flapjack-populator.feature +0 -90
  215. data/features/support/silent_system.rb +0 -4
  216. data/lib/flapjack/cli/import.rb +0 -108
  217. data/lib/flapjack/data/entity.rb +0 -652
  218. data/lib/flapjack/data/entity_check.rb +0 -1044
  219. data/lib/flapjack/data/message.rb +0 -56
  220. data/lib/flapjack/data/migration.rb +0 -234
  221. data/lib/flapjack/data/notification_rule.rb +0 -425
  222. data/lib/flapjack/data/semaphore.rb +0 -44
  223. data/lib/flapjack/data/tagged.rb +0 -48
  224. data/lib/flapjack/gateways/jsonapi/check_methods.rb +0 -206
  225. data/lib/flapjack/gateways/jsonapi/check_presenter.rb +0 -221
  226. data/lib/flapjack/gateways/jsonapi/contact_methods.rb +0 -186
  227. data/lib/flapjack/gateways/jsonapi/entity_methods.rb +0 -223
  228. data/lib/flapjack/gateways/jsonapi/medium_methods.rb +0 -185
  229. data/lib/flapjack/gateways/jsonapi/metrics_methods.rb +0 -132
  230. data/lib/flapjack/gateways/jsonapi/notification_rule_methods.rb +0 -141
  231. data/lib/flapjack/gateways/jsonapi/pagerduty_credential_methods.rb +0 -139
  232. data/lib/flapjack/gateways/jsonapi/report_methods.rb +0 -146
  233. data/lib/flapjack/gateways/pagerduty.rb +0 -318
  234. data/lib/flapjack/gateways/pagerduty/alert.text.erb +0 -10
  235. data/lib/flapjack/gateways/web/public/css/select2-bootstrap.css +0 -87
  236. data/lib/flapjack/gateways/web/public/css/select2.css +0 -615
  237. data/lib/flapjack/gateways/web/public/css/tablesort.css +0 -67
  238. data/lib/flapjack/gateways/web/public/img/select2-spinner.gif +0 -0
  239. data/lib/flapjack/gateways/web/public/img/select2.png +0 -0
  240. data/lib/flapjack/gateways/web/public/img/select2x2.png +0 -0
  241. data/lib/flapjack/gateways/web/public/js/backbone.js +0 -1581
  242. data/lib/flapjack/gateways/web/public/js/backbone.jsonapi.js +0 -322
  243. data/lib/flapjack/gateways/web/public/js/flapjack.js +0 -82
  244. data/lib/flapjack/gateways/web/public/js/jquery.tablesorter.js +0 -1640
  245. data/lib/flapjack/gateways/web/public/js/jquery.tablesorter.widgets.js +0 -1390
  246. data/lib/flapjack/gateways/web/public/js/modules/contact.js +0 -520
  247. data/lib/flapjack/gateways/web/public/js/modules/entity.js +0 -28
  248. data/lib/flapjack/gateways/web/public/js/modules/medium.js +0 -40
  249. data/lib/flapjack/gateways/web/public/js/select2.js +0 -3397
  250. data/lib/flapjack/gateways/web/public/js/tablesort.js +0 -44
  251. data/lib/flapjack/gateways/web/public/js/underscore.js +0 -1276
  252. data/lib/flapjack/gateways/web/views/edit_contacts.html.erb +0 -173
  253. data/lib/flapjack/gateways/web/views/entities.html.erb +0 -30
  254. data/lib/flapjack/gateways/web/views/entity.html.erb +0 -51
  255. data/lib/flapjack/rack_logger.rb +0 -47
  256. data/lib/flapjack/redis_pool.rb +0 -42
  257. data/spec/lib/flapjack/data/entity_check_spec.rb +0 -1418
  258. data/spec/lib/flapjack/data/entity_spec.rb +0 -872
  259. data/spec/lib/flapjack/data/message_spec.rb +0 -30
  260. data/spec/lib/flapjack/data/migration_spec.rb +0 -104
  261. data/spec/lib/flapjack/data/notification_rule_spec.rb +0 -232
  262. data/spec/lib/flapjack/data/notification_spec.rb +0 -53
  263. data/spec/lib/flapjack/data/semaphore_spec.rb +0 -24
  264. data/spec/lib/flapjack/filters/acknowledgement_spec.rb +0 -6
  265. data/spec/lib/flapjack/filters/delays_spec.rb +0 -6
  266. data/spec/lib/flapjack/filters/ok_spec.rb +0 -6
  267. data/spec/lib/flapjack/filters/scheduled_maintenance_spec.rb +0 -6
  268. data/spec/lib/flapjack/filters/unscheduled_maintenance_spec.rb +0 -6
  269. data/spec/lib/flapjack/gateways/jsonapi/check_methods_spec.rb +0 -315
  270. data/spec/lib/flapjack/gateways/jsonapi/check_presenter_spec.rb +0 -223
  271. data/spec/lib/flapjack/gateways/jsonapi/contact_methods_spec.rb +0 -131
  272. data/spec/lib/flapjack/gateways/jsonapi/entity_methods_spec.rb +0 -389
  273. data/spec/lib/flapjack/gateways/jsonapi/medium_methods_spec.rb +0 -231
  274. data/spec/lib/flapjack/gateways/jsonapi/notification_rule_methods_spec.rb +0 -169
  275. data/spec/lib/flapjack/gateways/jsonapi/pagerduty_credential_methods_spec.rb +0 -114
  276. data/spec/lib/flapjack/gateways/jsonapi/report_methods_spec.rb +0 -590
  277. data/spec/lib/flapjack/gateways/pagerduty_spec.rb +0 -249
  278. data/spec/lib/flapjack/gateways/web/views/check.html.erb_spec.rb +0 -21
  279. data/spec/lib/flapjack/gateways/web/views/contact.html.erb_spec.rb +0 -24
  280. data/spec/lib/flapjack/gateways/web/views/index.html.erb_spec.rb +0 -16
  281. data/spec/lib/flapjack/redis_pool_spec.rb +0 -29
  282. data/spec/service_consumers/pacts/flapjack-diner_v1.0.json +0 -4702
  283. data/tasks/entities.rake +0 -151
  284. data/tasks/profile.rake +0 -282
  285. data/tmp/acknowledge.rb +0 -13
  286. data/tmp/create_config_yaml.rb +0 -16
  287. data/tmp/create_event_ok.rb +0 -30
  288. data/tmp/create_event_unknown.rb +0 -30
  289. data/tmp/create_events_failure.rb +0 -34
  290. data/tmp/create_events_ok.rb +0 -32
  291. data/tmp/create_events_ok_fail_ack_ok.rb +0 -53
  292. data/tmp/create_events_ok_failure.rb +0 -41
  293. data/tmp/create_events_ok_failure_ack.rb +0 -53
  294. data/tmp/dummy_contacts.json +0 -43
  295. data/tmp/dummy_entities.json +0 -37
  296. data/tmp/generate_nagios_test_hosts.rb +0 -16
  297. data/tmp/notification_rules.rb +0 -73
  298. data/tmp/parse_config_yaml.rb +0 -7
  299. data/tmp/redis_find_spurious_unknown_states.rb +0 -52
  300. data/tmp/test_json_post.rb +0 -19
  301. data/tmp/test_notification_rules_api.rb +0 -171
@@ -7,16 +7,16 @@ namespace :events do
7
7
  $: << File.dirname(__FILE__) + '/../lib'
8
8
  end
9
9
 
10
+ require 'flapjack'
10
11
  require 'flapjack/configuration'
11
12
  require 'flapjack/data/event'
12
- require 'flapjack/data/entity_check'
13
13
 
14
14
  # FIXME: add arguments, make more flexible
15
15
  desc "send events to trigger some notifications"
16
16
  task :test_notification do
17
17
 
18
18
  FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || 'development'
19
- config_file = File.join('etc', 'flapjack_config.yaml')
19
+ config_file = File.join('etc', 'flapjack_config.toml')
20
20
 
21
21
  config = Flapjack::Configuration.new
22
22
  config.load( config_file )
@@ -25,17 +25,17 @@ namespace :events do
25
25
  @redis_config = config.for_redis
26
26
 
27
27
  if @config_env.nil? || @config_env.empty?
28
- puts "No config data for environment '#{FLAPJACK_ENV}' found in '#{config_file}'"
28
+ puts "No config data found in '#{config_file}'"
29
29
  exit(false)
30
30
  end
31
31
 
32
- redis = Redis.new(@redis_config)
32
+ Flapjack.redis = Redis.new(@redis_config)
33
33
 
34
34
  Flapjack::Data::Event.add({'entity' => 'clientx-app-01',
35
35
  'check' => 'ping',
36
36
  'type' => 'service',
37
37
  'state' => 'ok',
38
- 'summary' => 'testing'}, :redis => redis)
38
+ 'summary' => 'testing'})
39
39
 
40
40
  sleep(8)
41
41
 
@@ -43,7 +43,7 @@ namespace :events do
43
43
  'check' => 'ping',
44
44
  'type' => 'service',
45
45
  'state' => 'critical',
46
- 'summary' => 'testing'}, :redis => redis)
46
+ 'summary' => 'testing'})
47
47
 
48
48
  sleep(8)
49
49
 
@@ -51,7 +51,7 @@ namespace :events do
51
51
  'check' => 'ping',
52
52
  'type' => 'service',
53
53
  'state' => 'ok',
54
- 'summary' => 'testing'}, :redis => redis)
54
+ 'summary' => 'testing'})
55
55
 
56
56
  end
57
57
 
@@ -0,0 +1,28 @@
1
+ pid_file = "tmp/pids/flapjack_test.pid"
2
+ log_file = "log/flapjack_test.log"
3
+ daemonize = false
4
+ [redis]
5
+ host = "127.0.0.1"
6
+ port = 6379
7
+ db = 14
8
+ [processor]
9
+ enabled = true
10
+ queue = "events"
11
+ notifier_queue = "notifications"
12
+ archive_events = "false"
13
+ events_archive_maxage = 10800
14
+ new_check_scheduled_maintenance_duration = "1 month"
15
+ exit_on_queue_empty = true
16
+ [logger]
17
+ level = "WARN"
18
+ [notifier]
19
+ enabled = true
20
+ queue = "notifications"
21
+ email_queue = "email_notifications"
22
+ sms_queue = "sms_notifications"
23
+ jabber_queue = "jabber_notifications"
24
+ pagerduty_queue = "pagerduty_notifications"
25
+ notification_log_file = "log/notification_test.log"
26
+ default_contact_timezone = "Australia/Broken_Hill"
27
+ [logger]
28
+ level = "WARN"
@@ -21,10 +21,8 @@ test:
21
21
  queue: notifications
22
22
  email_queue: email_notifications
23
23
  sms_queue: sms_notifications
24
- sms_nexmo_queue: sms_nexmo_notifications
25
24
  jabber_queue: jabber_notifications
26
25
  pagerduty_queue: pagerduty_notifications
27
- notification_log_file: log/notification_test.log
28
26
  default_contact_timezone: Australia/Broken_Hill
29
27
  logger:
30
28
  level: WARN
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flapjack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 2.0.0b1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lindsay Holmwood
@@ -11,80 +11,38 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-07-09 00:00:00.000000000 Z
14
+ date: 2015-12-10 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: dante
18
- requirement: !ruby/object:Gem::Requirement
19
- requirements:
20
- - - '='
21
- - !ruby/object:Gem::Version
22
- version: 0.2.0
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - '='
28
- - !ruby/object:Gem::Version
29
- version: 0.2.0
30
- - !ruby/object:Gem::Dependency
31
- name: oj
17
+ name: hiredis
32
18
  requirement: !ruby/object:Gem::Requirement
33
19
  requirements:
34
20
  - - ">="
35
21
  - !ruby/object:Gem::Version
36
- version: 2.9.0
22
+ version: '0'
37
23
  type: :runtime
38
24
  prerelease: false
39
25
  version_requirements: !ruby/object:Gem::Requirement
40
26
  requirements:
41
27
  - - ">="
42
28
  - !ruby/object:Gem::Version
43
- version: 2.9.0
44
- - !ruby/object:Gem::Dependency
45
- name: eventmachine
46
- requirement: !ruby/object:Gem::Requirement
47
- requirements:
48
- - - "~>"
49
- - !ruby/object:Gem::Version
50
- version: 1.0.0
51
- type: :runtime
52
- prerelease: false
53
- version_requirements: !ruby/object:Gem::Requirement
54
- requirements:
55
- - - "~>"
56
- - !ruby/object:Gem::Version
57
- version: 1.0.0
29
+ version: '0'
58
30
  - !ruby/object:Gem::Dependency
59
31
  name: redis
60
- requirement: !ruby/object:Gem::Requirement
61
- requirements:
62
- - - "~>"
63
- - !ruby/object:Gem::Version
64
- version: 3.0.6
65
- type: :runtime
66
- prerelease: false
67
- version_requirements: !ruby/object:Gem::Requirement
68
- requirements:
69
- - - "~>"
70
- - !ruby/object:Gem::Version
71
- version: 3.0.6
72
- - !ruby/object:Gem::Dependency
73
- name: hiredis
74
32
  requirement: !ruby/object:Gem::Requirement
75
33
  requirements:
76
34
  - - ">="
77
35
  - !ruby/object:Gem::Version
78
- version: '0'
36
+ version: 3.0.7
79
37
  type: :runtime
80
38
  prerelease: false
81
39
  version_requirements: !ruby/object:Gem::Requirement
82
40
  requirements:
83
41
  - - ">="
84
42
  - !ruby/object:Gem::Version
85
- version: '0'
43
+ version: 3.0.7
86
44
  - !ruby/object:Gem::Dependency
87
- name: em-hiredis
45
+ name: json-stream
88
46
  requirement: !ruby/object:Gem::Requirement
89
47
  requirements:
90
48
  - - ">="
@@ -98,21 +56,21 @@ dependencies:
98
56
  - !ruby/object:Gem::Version
99
57
  version: '0'
100
58
  - !ruby/object:Gem::Dependency
101
- name: em-synchrony
59
+ name: zermelo
102
60
  requirement: !ruby/object:Gem::Requirement
103
61
  requirements:
104
- - - "~>"
62
+ - - '='
105
63
  - !ruby/object:Gem::Version
106
- version: 1.0.2
64
+ version: 1.4.3
107
65
  type: :runtime
108
66
  prerelease: false
109
67
  version_requirements: !ruby/object:Gem::Requirement
110
68
  requirements:
111
- - - "~>"
69
+ - - '='
112
70
  - !ruby/object:Gem::Version
113
- version: 1.0.2
71
+ version: 1.4.3
114
72
  - !ruby/object:Gem::Dependency
115
- name: em-http-request
73
+ name: sinatra
116
74
  requirement: !ruby/object:Gem::Requirement
117
75
  requirements:
118
76
  - - ">="
@@ -126,7 +84,7 @@ dependencies:
126
84
  - !ruby/object:Gem::Version
127
85
  version: '0'
128
86
  - !ruby/object:Gem::Dependency
129
- name: sinatra
87
+ name: swagger-blocks
130
88
  requirement: !ruby/object:Gem::Requirement
131
89
  requirements:
132
90
  - - ">="
@@ -140,7 +98,7 @@ dependencies:
140
98
  - !ruby/object:Gem::Version
141
99
  version: '0'
142
100
  - !ruby/object:Gem::Dependency
143
- name: rack-fiber_pool
101
+ name: mail
144
102
  requirement: !ruby/object:Gem::Requirement
145
103
  requirements:
146
104
  - - ">="
@@ -154,47 +112,33 @@ dependencies:
154
112
  - !ruby/object:Gem::Version
155
113
  version: '0'
156
114
  - !ruby/object:Gem::Dependency
157
- name: thin
158
- requirement: !ruby/object:Gem::Requirement
159
- requirements:
160
- - - "~>"
161
- - !ruby/object:Gem::Version
162
- version: 1.6.1
163
- type: :runtime
164
- prerelease: false
165
- version_requirements: !ruby/object:Gem::Requirement
166
- requirements:
167
- - - "~>"
168
- - !ruby/object:Gem::Version
169
- version: 1.6.1
170
- - !ruby/object:Gem::Dependency
171
- name: mail
115
+ name: xmpp4r
172
116
  requirement: !ruby/object:Gem::Requirement
173
117
  requirements:
174
118
  - - ">="
175
119
  - !ruby/object:Gem::Version
176
- version: '0'
120
+ version: 0.5.5
177
121
  type: :runtime
178
122
  prerelease: false
179
123
  version_requirements: !ruby/object:Gem::Requirement
180
124
  requirements:
181
125
  - - ">="
182
126
  - !ruby/object:Gem::Version
183
- version: '0'
127
+ version: 0.5.5
184
128
  - !ruby/object:Gem::Dependency
185
- name: blather
129
+ name: nexmo
186
130
  requirement: !ruby/object:Gem::Requirement
187
131
  requirements:
188
- - - "~>"
132
+ - - '='
189
133
  - !ruby/object:Gem::Version
190
- version: 0.8.3
134
+ version: 2.0.0
191
135
  type: :runtime
192
136
  prerelease: false
193
137
  version_requirements: !ruby/object:Gem::Requirement
194
138
  requirements:
195
- - - "~>"
139
+ - - '='
196
140
  - !ruby/object:Gem::Version
197
- version: 0.8.3
141
+ version: 2.0.0
198
142
  - !ruby/object:Gem::Dependency
199
143
  name: chronic
200
144
  requirement: !ruby/object:Gem::Requirement
@@ -224,7 +168,7 @@ dependencies:
224
168
  - !ruby/object:Gem::Version
225
169
  version: '0'
226
170
  - !ruby/object:Gem::Dependency
227
- name: terminal-table
171
+ name: activesupport
228
172
  requirement: !ruby/object:Gem::Requirement
229
173
  requirements:
230
174
  - - ">="
@@ -238,7 +182,7 @@ dependencies:
238
182
  - !ruby/object:Gem::Version
239
183
  version: '0'
240
184
  - !ruby/object:Gem::Dependency
241
- name: activesupport
185
+ name: ice_cube
242
186
  requirement: !ruby/object:Gem::Requirement
243
187
  requirements:
244
188
  - - ">="
@@ -252,7 +196,7 @@ dependencies:
252
196
  - !ruby/object:Gem::Version
253
197
  version: '0'
254
198
  - !ruby/object:Gem::Dependency
255
- name: ice_cube
199
+ name: icalendar
256
200
  requirement: !ruby/object:Gem::Requirement
257
201
  requirements:
258
202
  - - ">="
@@ -294,7 +238,21 @@ dependencies:
294
238
  - !ruby/object:Gem::Version
295
239
  version: '0'
296
240
  - !ruby/object:Gem::Dependency
297
- name: rbtrace
241
+ name: gli
242
+ requirement: !ruby/object:Gem::Requirement
243
+ requirements:
244
+ - - '='
245
+ - !ruby/object:Gem::Version
246
+ version: 2.13.1
247
+ type: :runtime
248
+ prerelease: false
249
+ version_requirements: !ruby/object:Gem::Requirement
250
+ requirements:
251
+ - - '='
252
+ - !ruby/object:Gem::Version
253
+ version: 2.13.1
254
+ - !ruby/object:Gem::Dependency
255
+ name: terminal-table
298
256
  requirement: !ruby/object:Gem::Requirement
299
257
  requirements:
300
258
  - - ">="
@@ -308,7 +266,7 @@ dependencies:
308
266
  - !ruby/object:Gem::Version
309
267
  version: '0'
310
268
  - !ruby/object:Gem::Dependency
311
- name: rake
269
+ name: toml-rb
312
270
  requirement: !ruby/object:Gem::Requirement
313
271
  requirements:
314
272
  - - ">="
@@ -322,47 +280,47 @@ dependencies:
322
280
  - !ruby/object:Gem::Version
323
281
  version: '0'
324
282
  - !ruby/object:Gem::Dependency
325
- name: gli
283
+ name: puma
326
284
  requirement: !ruby/object:Gem::Requirement
327
285
  requirements:
328
- - - '='
286
+ - - ">="
329
287
  - !ruby/object:Gem::Version
330
- version: 2.12.0
288
+ version: '0'
331
289
  type: :runtime
332
290
  prerelease: false
333
291
  version_requirements: !ruby/object:Gem::Requirement
334
292
  requirements:
335
- - - '='
293
+ - - ">="
336
294
  - !ruby/object:Gem::Version
337
- version: 2.12.0
295
+ version: '0'
338
296
  - !ruby/object:Gem::Dependency
339
- name: nokogiri
297
+ name: flapjack-diner
340
298
  requirement: !ruby/object:Gem::Requirement
341
299
  requirements:
342
300
  - - '='
343
301
  - !ruby/object:Gem::Version
344
- version: 1.6.2.1
302
+ version: 2.0.0b1
345
303
  type: :runtime
346
304
  prerelease: false
347
305
  version_requirements: !ruby/object:Gem::Requirement
348
306
  requirements:
349
307
  - - '='
350
308
  - !ruby/object:Gem::Version
351
- version: 1.6.2.1
309
+ version: 2.0.0b1
352
310
  - !ruby/object:Gem::Dependency
353
- name: nexmo
311
+ name: rake
354
312
  requirement: !ruby/object:Gem::Requirement
355
313
  requirements:
356
- - - '='
314
+ - - ">="
357
315
  - !ruby/object:Gem::Version
358
- version: 2.0.0
359
- type: :runtime
316
+ version: '0'
317
+ type: :development
360
318
  prerelease: false
361
319
  version_requirements: !ruby/object:Gem::Requirement
362
320
  requirements:
363
- - - '='
321
+ - - ">="
364
322
  - !ruby/object:Gem::Version
365
- version: 2.0.0
323
+ version: '0'
366
324
  description: Flapjack is a distributed monitoring notification system that provides
367
325
  a scalable method for processing streams of events from Nagios and deciding who
368
326
  should be notified
@@ -381,18 +339,16 @@ files:
381
339
  - CONTRIBUTING.md
382
340
  - Dockerfile
383
341
  - Gemfile
384
- - Guardfile
385
342
  - LICENCE
386
343
  - README.md
387
344
  - Rakefile
388
345
  - bin/flapjack
389
346
  - build.sh
390
- - etc/flapjack_config.yaml.example
347
+ - etc/flapjack_config.toml.example
391
348
  - features/ack_after_sched_maint.feature
392
349
  - features/cli.feature
393
350
  - features/cli_flapjack-feed-events.feature
394
351
  - features/cli_flapjack-nagios-receiver.feature
395
- - features/cli_flapjack-populator.feature
396
352
  - features/cli_flapper.feature
397
353
  - features/cli_purge.feature
398
354
  - features/cli_receive-events.feature
@@ -411,29 +367,37 @@ files:
411
367
  - features/steps/time_travel_steps.rb
412
368
  - features/support/daemons.rb
413
369
  - features/support/env.rb
414
- - features/support/silent_system.rb
415
370
  - flapjack.gemspec
416
371
  - lib/flapjack.rb
417
372
  - lib/flapjack/cli/flapper.rb
418
- - lib/flapjack/cli/import.rb
419
373
  - lib/flapjack/cli/maintenance.rb
374
+ - lib/flapjack/cli/migrate.rb
420
375
  - lib/flapjack/cli/purge.rb
421
376
  - lib/flapjack/cli/receiver.rb
422
377
  - lib/flapjack/cli/server.rb
423
378
  - lib/flapjack/cli/simulate.rb
424
379
  - lib/flapjack/configuration.rb
425
380
  - lib/flapjack/coordinator.rb
381
+ - lib/flapjack/data/acknowledgement.rb
426
382
  - lib/flapjack/data/alert.rb
383
+ - lib/flapjack/data/check.rb
384
+ - lib/flapjack/data/condition.rb
427
385
  - lib/flapjack/data/contact.rb
428
- - lib/flapjack/data/entity.rb
429
- - lib/flapjack/data/entity_check.rb
430
386
  - lib/flapjack/data/event.rb
431
- - lib/flapjack/data/message.rb
432
- - lib/flapjack/data/migration.rb
387
+ - lib/flapjack/data/extensions/associations.rb
388
+ - lib/flapjack/data/extensions/short_name.rb
389
+ - lib/flapjack/data/medium.rb
390
+ - lib/flapjack/data/metrics.rb
433
391
  - lib/flapjack/data/notification.rb
434
- - lib/flapjack/data/notification_rule.rb
435
- - lib/flapjack/data/semaphore.rb
436
- - lib/flapjack/data/tagged.rb
392
+ - lib/flapjack/data/rule.rb
393
+ - lib/flapjack/data/scheduled_maintenance.rb
394
+ - lib/flapjack/data/state.rb
395
+ - lib/flapjack/data/statistic.rb
396
+ - lib/flapjack/data/tag.rb
397
+ - lib/flapjack/data/test_notification.rb
398
+ - lib/flapjack/data/unscheduled_maintenance.rb
399
+ - lib/flapjack/data/validators/id_validator.rb
400
+ - lib/flapjack/exceptions.rb
437
401
  - lib/flapjack/filters/acknowledgement.rb
438
402
  - lib/flapjack/filters/base.rb
439
403
  - lib/flapjack/filters/delays.rb
@@ -456,22 +420,34 @@ files:
456
420
  - lib/flapjack/gateways/jabber/alert.text.erb
457
421
  - lib/flapjack/gateways/jabber/rollup.text.erb
458
422
  - lib/flapjack/gateways/jsonapi.rb
459
- - lib/flapjack/gateways/jsonapi/check_methods.rb
460
- - lib/flapjack/gateways/jsonapi/check_presenter.rb
461
- - lib/flapjack/gateways/jsonapi/contact_methods.rb
462
- - lib/flapjack/gateways/jsonapi/entity_methods.rb
463
- - lib/flapjack/gateways/jsonapi/medium_methods.rb
464
- - lib/flapjack/gateways/jsonapi/metrics_methods.rb
465
- - lib/flapjack/gateways/jsonapi/notification_rule_methods.rb
466
- - lib/flapjack/gateways/jsonapi/pagerduty_credential_methods.rb
467
- - lib/flapjack/gateways/jsonapi/rack/json_params_parser.rb
468
- - lib/flapjack/gateways/jsonapi/report_methods.rb
423
+ - lib/flapjack/gateways/jsonapi/data/join_descriptor.rb
424
+ - lib/flapjack/gateways/jsonapi/data/method_descriptor.rb
425
+ - lib/flapjack/gateways/jsonapi/helpers/headers.rb
426
+ - lib/flapjack/gateways/jsonapi/helpers/miscellaneous.rb
427
+ - lib/flapjack/gateways/jsonapi/helpers/resources.rb
428
+ - lib/flapjack/gateways/jsonapi/helpers/serialiser.rb
429
+ - lib/flapjack/gateways/jsonapi/helpers/swagger_docs.rb
430
+ - lib/flapjack/gateways/jsonapi/methods/association_delete.rb
431
+ - lib/flapjack/gateways/jsonapi/methods/association_get.rb
432
+ - lib/flapjack/gateways/jsonapi/methods/association_patch.rb
433
+ - lib/flapjack/gateways/jsonapi/methods/association_post.rb
434
+ - lib/flapjack/gateways/jsonapi/methods/metrics.rb
435
+ - lib/flapjack/gateways/jsonapi/methods/resource_delete.rb
436
+ - lib/flapjack/gateways/jsonapi/methods/resource_get.rb
437
+ - lib/flapjack/gateways/jsonapi/methods/resource_patch.rb
438
+ - lib/flapjack/gateways/jsonapi/methods/resource_post.rb
439
+ - lib/flapjack/gateways/jsonapi/middleware/array_param_fixer.rb
440
+ - lib/flapjack/gateways/jsonapi/middleware/json_params_parser.rb
441
+ - lib/flapjack/gateways/jsonapi/middleware/request_timestamp.rb
469
442
  - lib/flapjack/gateways/oobetet.rb
470
- - lib/flapjack/gateways/pagerduty.rb
471
- - lib/flapjack/gateways/pagerduty/alert.text.erb
443
+ - lib/flapjack/gateways/pager_duty.rb
444
+ - lib/flapjack/gateways/pager_duty/alert.text.erb
472
445
  - lib/flapjack/gateways/slack.rb
473
446
  - lib/flapjack/gateways/slack/alert.text.erb
474
447
  - lib/flapjack/gateways/slack/rollup.text.erb
448
+ - lib/flapjack/gateways/sms_aspsms.rb
449
+ - lib/flapjack/gateways/sms_aspsms/alert.text.erb
450
+ - lib/flapjack/gateways/sms_aspsms/rollup.text.erb
475
451
  - lib/flapjack/gateways/sms_messagenet.rb
476
452
  - lib/flapjack/gateways/sms_messagenet/alert.text.erb
477
453
  - lib/flapjack/gateways/sms_messagenet/rollup.text.erb
@@ -482,13 +458,12 @@ files:
482
458
  - lib/flapjack/gateways/sms_twilio/alert.text.erb
483
459
  - lib/flapjack/gateways/sms_twilio/rollup.text.erb
484
460
  - lib/flapjack/gateways/web.rb
461
+ - lib/flapjack/gateways/web/middleware/request_timestamp.rb
485
462
  - lib/flapjack/gateways/web/public/css/bootstrap.css
463
+ - lib/flapjack/gateways/web/public/css/bootstrap.css.map
486
464
  - lib/flapjack/gateways/web/public/css/font-awesome.css
487
465
  - lib/flapjack/gateways/web/public/css/nv.d3.css
488
466
  - lib/flapjack/gateways/web/public/css/screen.css
489
- - lib/flapjack/gateways/web/public/css/select2-bootstrap.css
490
- - lib/flapjack/gateways/web/public/css/select2.css
491
- - lib/flapjack/gateways/web/public/css/tablesort.css
492
467
  - lib/flapjack/gateways/web/public/fonts/FontAwesome.otf
493
468
  - lib/flapjack/gateways/web/public/fonts/fontawesome-webfont.eot
494
469
  - lib/flapjack/gateways/web/public/fonts/fontawesome-webfont.svg
@@ -498,6 +473,7 @@ files:
498
473
  - lib/flapjack/gateways/web/public/fonts/glyphicons-halflings-regular.svg
499
474
  - lib/flapjack/gateways/web/public/fonts/glyphicons-halflings-regular.ttf
500
475
  - lib/flapjack/gateways/web/public/fonts/glyphicons-halflings-regular.woff
476
+ - lib/flapjack/gateways/web/public/fonts/glyphicons-halflings-regular.woff2
501
477
  - lib/flapjack/gateways/web/public/img/flapjack-2013-notext-transparent-25-25.png
502
478
  - lib/flapjack/gateways/web/public/img/flapjack-2013-notext-transparent-25-40.png
503
479
  - lib/flapjack/gateways/web/public/img/flapjack-2013-notext-transparent-300-300.png
@@ -508,124 +484,98 @@ files:
508
484
  - lib/flapjack/gateways/web/public/img/flapjack_white_bg_400_353.jpeg
509
485
  - lib/flapjack/gateways/web/public/img/glyphicons-halflings-white.png
510
486
  - lib/flapjack/gateways/web/public/img/glyphicons-halflings.png
511
- - lib/flapjack/gateways/web/public/img/select2-spinner.gif
512
- - lib/flapjack/gateways/web/public/img/select2.png
513
- - lib/flapjack/gateways/web/public/img/select2x2.png
514
- - lib/flapjack/gateways/web/public/js/backbone.js
515
- - lib/flapjack/gateways/web/public/js/backbone.jsonapi.js
516
487
  - lib/flapjack/gateways/web/public/js/bootstrap.js
517
488
  - lib/flapjack/gateways/web/public/js/d3.v3.js
518
- - lib/flapjack/gateways/web/public/js/flapjack.js
519
489
  - lib/flapjack/gateways/web/public/js/jquery-1.10.2.js
520
- - lib/flapjack/gateways/web/public/js/jquery.tablesorter.js
521
- - lib/flapjack/gateways/web/public/js/jquery.tablesorter.widgets.js
522
- - lib/flapjack/gateways/web/public/js/modules/contact.js
523
- - lib/flapjack/gateways/web/public/js/modules/entity.js
524
- - lib/flapjack/gateways/web/public/js/modules/medium.js
525
490
  - lib/flapjack/gateways/web/public/js/moment.js
526
491
  - lib/flapjack/gateways/web/public/js/nv.d3.js
527
- - lib/flapjack/gateways/web/public/js/select2.js
528
492
  - lib/flapjack/gateways/web/public/js/self_stats.js
529
- - lib/flapjack/gateways/web/public/js/tablesort.js
530
- - lib/flapjack/gateways/web/public/js/underscore.js
493
+ - lib/flapjack/gateways/web/views/_pagination.html.erb
531
494
  - lib/flapjack/gateways/web/views/check.html.erb
532
495
  - lib/flapjack/gateways/web/views/checks.html.erb
533
496
  - lib/flapjack/gateways/web/views/contact.html.erb
534
497
  - lib/flapjack/gateways/web/views/contacts.html.erb
535
- - lib/flapjack/gateways/web/views/edit_contacts.html.erb
536
- - lib/flapjack/gateways/web/views/entities.html.erb
537
- - lib/flapjack/gateways/web/views/entity.html.erb
538
498
  - lib/flapjack/gateways/web/views/index.html.erb
539
- - lib/flapjack/gateways/web/views/layout.erb
499
+ - lib/flapjack/gateways/web/views/layout.html.erb
540
500
  - lib/flapjack/gateways/web/views/self_stats.html.erb
501
+ - lib/flapjack/gateways/web/views/tag.html.erb
502
+ - lib/flapjack/gateways/web/views/tags.html.erb
541
503
  - lib/flapjack/logger.rb
542
504
  - lib/flapjack/notifier.rb
543
505
  - lib/flapjack/patches.rb
544
506
  - lib/flapjack/pikelet.rb
545
507
  - lib/flapjack/processor.rb
546
- - lib/flapjack/rack_logger.rb
547
- - lib/flapjack/redis_pool.rb
508
+ - lib/flapjack/record_queue.rb
509
+ - lib/flapjack/redis_proxy.rb
548
510
  - lib/flapjack/utility.rb
549
511
  - lib/flapjack/version.rb
550
512
  - libexec/httpbroker.go
551
513
  - libexec/oneoff.go
552
514
  - log/.gitkeep
515
+ - spec/lib/flapjack/configuration_spec.rb
553
516
  - spec/lib/flapjack/coordinator_spec.rb
517
+ - spec/lib/flapjack/data/check_spec.rb
554
518
  - spec/lib/flapjack/data/contact_spec.rb
555
- - spec/lib/flapjack/data/entity_check_spec.rb
556
- - spec/lib/flapjack/data/entity_spec.rb
557
519
  - spec/lib/flapjack/data/event_spec.rb
558
- - spec/lib/flapjack/data/message_spec.rb
559
- - spec/lib/flapjack/data/migration_spec.rb
560
- - spec/lib/flapjack/data/notification_rule_spec.rb
561
- - spec/lib/flapjack/data/notification_spec.rb
562
- - spec/lib/flapjack/data/semaphore_spec.rb
563
- - spec/lib/flapjack/filters/acknowledgement_spec.rb
564
- - spec/lib/flapjack/filters/delays_spec.rb
565
- - spec/lib/flapjack/filters/ok_spec.rb
566
- - spec/lib/flapjack/filters/scheduled_maintenance_spec.rb
567
- - spec/lib/flapjack/filters/unscheduled_maintenance_spec.rb
520
+ - spec/lib/flapjack/data/medium_spec.rb
521
+ - spec/lib/flapjack/data/rule_spec.rb
522
+ - spec/lib/flapjack/data/scheduled_maintenance_spec.rb
523
+ - spec/lib/flapjack/data/unscheduled_maintenance_spec.rb
568
524
  - spec/lib/flapjack/gateways/aws_sns_spec.rb
569
525
  - spec/lib/flapjack/gateways/email_spec.rb
570
526
  - spec/lib/flapjack/gateways/jabber_spec.rb
571
- - spec/lib/flapjack/gateways/jsonapi/check_methods_spec.rb
572
- - spec/lib/flapjack/gateways/jsonapi/check_presenter_spec.rb
573
- - spec/lib/flapjack/gateways/jsonapi/contact_methods_spec.rb
574
- - spec/lib/flapjack/gateways/jsonapi/entity_methods_spec.rb
575
- - spec/lib/flapjack/gateways/jsonapi/medium_methods_spec.rb
576
- - spec/lib/flapjack/gateways/jsonapi/notification_rule_methods_spec.rb
577
- - spec/lib/flapjack/gateways/jsonapi/pagerduty_credential_methods_spec.rb
578
- - spec/lib/flapjack/gateways/jsonapi/report_methods_spec.rb
527
+ - spec/lib/flapjack/gateways/jsonapi/methods/check_links_spec.rb
528
+ - spec/lib/flapjack/gateways/jsonapi/methods/checks_spec.rb
529
+ - spec/lib/flapjack/gateways/jsonapi/methods/contact_links_spec.rb
530
+ - spec/lib/flapjack/gateways/jsonapi/methods/contacts_spec.rb
531
+ - spec/lib/flapjack/gateways/jsonapi/methods/events_spec.rb
532
+ - spec/lib/flapjack/gateways/jsonapi/methods/media_spec.rb
533
+ - spec/lib/flapjack/gateways/jsonapi/methods/medium_links_spec.rb
534
+ - spec/lib/flapjack/gateways/jsonapi/methods/metrics_spec.rb
535
+ - spec/lib/flapjack/gateways/jsonapi/methods/rule_links_spec.rb
536
+ - spec/lib/flapjack/gateways/jsonapi/methods/rules_spec.rb
537
+ - spec/lib/flapjack/gateways/jsonapi/methods/scheduled_maintenance_links_spec.rb
538
+ - spec/lib/flapjack/gateways/jsonapi/methods/scheduled_maintenances_spec.rb
539
+ - spec/lib/flapjack/gateways/jsonapi/methods/tag_links_spec.rb
540
+ - spec/lib/flapjack/gateways/jsonapi/methods/tags_spec.rb
541
+ - spec/lib/flapjack/gateways/jsonapi/methods/unscheduled_maintenance_links_spec.rb
542
+ - spec/lib/flapjack/gateways/jsonapi/methods/unscheduled_maintenances_spec.rb
579
543
  - spec/lib/flapjack/gateways/jsonapi_spec.rb
580
544
  - spec/lib/flapjack/gateways/oobetet_spec.rb
581
- - spec/lib/flapjack/gateways/pagerduty_spec.rb
545
+ - spec/lib/flapjack/gateways/pager_duty_spec.rb
582
546
  - spec/lib/flapjack/gateways/slack_spec.rb
547
+ - spec/lib/flapjack/gateways/sms_aspsms_spec.rb
583
548
  - spec/lib/flapjack/gateways/sms_messagenet_spec.rb
584
549
  - spec/lib/flapjack/gateways/sms_nexmo_spec.rb
585
550
  - spec/lib/flapjack/gateways/sms_twilio_spec.rb
586
- - spec/lib/flapjack/gateways/web/views/check.html.erb_spec.rb
587
- - spec/lib/flapjack/gateways/web/views/contact.html.erb_spec.rb
588
- - spec/lib/flapjack/gateways/web/views/index.html.erb_spec.rb
589
551
  - spec/lib/flapjack/gateways/web_spec.rb
590
552
  - spec/lib/flapjack/logger_spec.rb
591
553
  - spec/lib/flapjack/notifier_spec.rb
592
554
  - spec/lib/flapjack/pikelet_spec.rb
593
555
  - spec/lib/flapjack/processor_spec.rb
594
- - spec/lib/flapjack/redis_pool_spec.rb
556
+ - spec/lib/flapjack/redis_proxy_spec.rb
595
557
  - spec/lib/flapjack/utility_spec.rb
558
+ - spec/service_consumers/fixture_data.rb
596
559
  - spec/service_consumers/pact_helper.rb
597
- - spec/service_consumers/pacts/flapjack-diner_v1.0.json
560
+ - spec/service_consumers/pacts/flapjack-diner_v2.0.json
598
561
  - spec/service_consumers/provider_states_for_flapjack-diner.rb
562
+ - spec/service_consumers/provider_support.rb
599
563
  - spec/spec_helper.rb
600
564
  - spec/support/erb_view_helper.rb
565
+ - spec/support/factories.rb
601
566
  - spec/support/jsonapi_helper.rb
567
+ - spec/support/mock_logger.rb
602
568
  - spec/support/profile_all_formatter.rb
603
569
  - spec/support/uncolored_doc_formatter.rb
570
+ - spec/support/xmpp_comparable.rb
604
571
  - src/flapjack/event.go
605
572
  - src/flapjack/event_test.go
606
573
  - src/flapjack/transport.go
607
574
  - src/flapjack/transport_test.go
608
- - tasks/entities.rake
575
+ - tasks/dump_keys.rake
609
576
  - tasks/events.rake
610
- - tasks/profile.rake
577
+ - tasks/support/flapjack_config_benchmark.toml
611
578
  - tasks/support/flapjack_config_benchmark.yaml
612
- - tmp/acknowledge.rb
613
- - tmp/create_config_yaml.rb
614
- - tmp/create_event_ok.rb
615
- - tmp/create_event_unknown.rb
616
- - tmp/create_events_failure.rb
617
- - tmp/create_events_ok.rb
618
- - tmp/create_events_ok_fail_ack_ok.rb
619
- - tmp/create_events_ok_failure.rb
620
- - tmp/create_events_ok_failure_ack.rb
621
- - tmp/dummy_contacts.json
622
- - tmp/dummy_entities.json
623
- - tmp/generate_nagios_test_hosts.rb
624
- - tmp/notification_rules.rb
625
- - tmp/parse_config_yaml.rb
626
- - tmp/redis_find_spurious_unknown_states.rb
627
- - tmp/test_json_post.rb
628
- - tmp/test_notification_rules_api.rb
629
579
  homepage: http://flapjack.io/
630
580
  licenses:
631
581
  - MIT
@@ -641,12 +591,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
641
591
  version: '0'
642
592
  required_rubygems_version: !ruby/object:Gem::Requirement
643
593
  requirements:
644
- - - ">="
594
+ - - ">"
645
595
  - !ruby/object:Gem::Version
646
- version: '0'
596
+ version: 1.3.1
647
597
  requirements: []
648
598
  rubyforge_project:
649
- rubygems_version: 2.4.5
599
+ rubygems_version: 2.4.5.1
650
600
  signing_key:
651
601
  specification_version: 4
652
602
  summary: Intelligent, scalable, distributed monitoring notification system.
@@ -655,7 +605,6 @@ test_files:
655
605
  - features/cli.feature
656
606
  - features/cli_flapjack-feed-events.feature
657
607
  - features/cli_flapjack-nagios-receiver.feature
658
- - features/cli_flapjack-populator.feature
659
608
  - features/cli_flapper.feature
660
609
  - features/cli_purge.feature
661
610
  - features/cli_receive-events.feature
@@ -674,55 +623,59 @@ test_files:
674
623
  - features/steps/time_travel_steps.rb
675
624
  - features/support/daemons.rb
676
625
  - features/support/env.rb
677
- - features/support/silent_system.rb
626
+ - spec/lib/flapjack/configuration_spec.rb
678
627
  - spec/lib/flapjack/coordinator_spec.rb
628
+ - spec/lib/flapjack/data/check_spec.rb
679
629
  - spec/lib/flapjack/data/contact_spec.rb
680
- - spec/lib/flapjack/data/entity_check_spec.rb
681
- - spec/lib/flapjack/data/entity_spec.rb
682
630
  - spec/lib/flapjack/data/event_spec.rb
683
- - spec/lib/flapjack/data/message_spec.rb
684
- - spec/lib/flapjack/data/migration_spec.rb
685
- - spec/lib/flapjack/data/notification_rule_spec.rb
686
- - spec/lib/flapjack/data/notification_spec.rb
687
- - spec/lib/flapjack/data/semaphore_spec.rb
688
- - spec/lib/flapjack/filters/acknowledgement_spec.rb
689
- - spec/lib/flapjack/filters/delays_spec.rb
690
- - spec/lib/flapjack/filters/ok_spec.rb
691
- - spec/lib/flapjack/filters/scheduled_maintenance_spec.rb
692
- - spec/lib/flapjack/filters/unscheduled_maintenance_spec.rb
631
+ - spec/lib/flapjack/data/medium_spec.rb
632
+ - spec/lib/flapjack/data/rule_spec.rb
633
+ - spec/lib/flapjack/data/scheduled_maintenance_spec.rb
634
+ - spec/lib/flapjack/data/unscheduled_maintenance_spec.rb
693
635
  - spec/lib/flapjack/gateways/aws_sns_spec.rb
694
636
  - spec/lib/flapjack/gateways/email_spec.rb
695
637
  - spec/lib/flapjack/gateways/jabber_spec.rb
696
- - spec/lib/flapjack/gateways/jsonapi/check_methods_spec.rb
697
- - spec/lib/flapjack/gateways/jsonapi/check_presenter_spec.rb
698
- - spec/lib/flapjack/gateways/jsonapi/contact_methods_spec.rb
699
- - spec/lib/flapjack/gateways/jsonapi/entity_methods_spec.rb
700
- - spec/lib/flapjack/gateways/jsonapi/medium_methods_spec.rb
701
- - spec/lib/flapjack/gateways/jsonapi/notification_rule_methods_spec.rb
702
- - spec/lib/flapjack/gateways/jsonapi/pagerduty_credential_methods_spec.rb
703
- - spec/lib/flapjack/gateways/jsonapi/report_methods_spec.rb
638
+ - spec/lib/flapjack/gateways/jsonapi/methods/check_links_spec.rb
639
+ - spec/lib/flapjack/gateways/jsonapi/methods/checks_spec.rb
640
+ - spec/lib/flapjack/gateways/jsonapi/methods/contact_links_spec.rb
641
+ - spec/lib/flapjack/gateways/jsonapi/methods/contacts_spec.rb
642
+ - spec/lib/flapjack/gateways/jsonapi/methods/events_spec.rb
643
+ - spec/lib/flapjack/gateways/jsonapi/methods/media_spec.rb
644
+ - spec/lib/flapjack/gateways/jsonapi/methods/medium_links_spec.rb
645
+ - spec/lib/flapjack/gateways/jsonapi/methods/metrics_spec.rb
646
+ - spec/lib/flapjack/gateways/jsonapi/methods/rule_links_spec.rb
647
+ - spec/lib/flapjack/gateways/jsonapi/methods/rules_spec.rb
648
+ - spec/lib/flapjack/gateways/jsonapi/methods/scheduled_maintenance_links_spec.rb
649
+ - spec/lib/flapjack/gateways/jsonapi/methods/scheduled_maintenances_spec.rb
650
+ - spec/lib/flapjack/gateways/jsonapi/methods/tag_links_spec.rb
651
+ - spec/lib/flapjack/gateways/jsonapi/methods/tags_spec.rb
652
+ - spec/lib/flapjack/gateways/jsonapi/methods/unscheduled_maintenance_links_spec.rb
653
+ - spec/lib/flapjack/gateways/jsonapi/methods/unscheduled_maintenances_spec.rb
704
654
  - spec/lib/flapjack/gateways/jsonapi_spec.rb
705
655
  - spec/lib/flapjack/gateways/oobetet_spec.rb
706
- - spec/lib/flapjack/gateways/pagerduty_spec.rb
656
+ - spec/lib/flapjack/gateways/pager_duty_spec.rb
707
657
  - spec/lib/flapjack/gateways/slack_spec.rb
658
+ - spec/lib/flapjack/gateways/sms_aspsms_spec.rb
708
659
  - spec/lib/flapjack/gateways/sms_messagenet_spec.rb
709
660
  - spec/lib/flapjack/gateways/sms_nexmo_spec.rb
710
661
  - spec/lib/flapjack/gateways/sms_twilio_spec.rb
711
- - spec/lib/flapjack/gateways/web/views/check.html.erb_spec.rb
712
- - spec/lib/flapjack/gateways/web/views/contact.html.erb_spec.rb
713
- - spec/lib/flapjack/gateways/web/views/index.html.erb_spec.rb
714
662
  - spec/lib/flapjack/gateways/web_spec.rb
715
663
  - spec/lib/flapjack/logger_spec.rb
716
664
  - spec/lib/flapjack/notifier_spec.rb
717
665
  - spec/lib/flapjack/pikelet_spec.rb
718
666
  - spec/lib/flapjack/processor_spec.rb
719
- - spec/lib/flapjack/redis_pool_spec.rb
667
+ - spec/lib/flapjack/redis_proxy_spec.rb
720
668
  - spec/lib/flapjack/utility_spec.rb
669
+ - spec/service_consumers/fixture_data.rb
721
670
  - spec/service_consumers/pact_helper.rb
722
- - spec/service_consumers/pacts/flapjack-diner_v1.0.json
671
+ - spec/service_consumers/pacts/flapjack-diner_v2.0.json
723
672
  - spec/service_consumers/provider_states_for_flapjack-diner.rb
673
+ - spec/service_consumers/provider_support.rb
724
674
  - spec/spec_helper.rb
725
675
  - spec/support/erb_view_helper.rb
676
+ - spec/support/factories.rb
726
677
  - spec/support/jsonapi_helper.rb
678
+ - spec/support/mock_logger.rb
727
679
  - spec/support/profile_all_formatter.rb
728
680
  - spec/support/uncolored_doc_formatter.rb
681
+ - spec/support/xmpp_comparable.rb