flapjack 1.6.0 → 2.0.0b1

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 73fab84ec6ecf9809883faab9ae7e91ae1828736
4
- data.tar.gz: d00319c07b1545b497b5ef455069246cac6ead6f
3
+ metadata.gz: 6f80bd12fd052bc57f9cbb1bc686cd4486c13048
4
+ data.tar.gz: 4dfd2c65ce37dc1c1029eba4163c918eb301fc46
5
5
  SHA512:
6
- metadata.gz: c2e8bfb77b5aa4dd0527fa1a923a610e2bc66c2fb8e2a6c22939bc11587ddc8640667662945188d3055bbf653a37edd24270ee978e4271a5b9edd8b7ba7f59c0
7
- data.tar.gz: 674559686c725b96dc75f250f024e0811ca00117f107c7a02c52462a582f135f05ca082a049335a5f239c83d0a3d338d41cdda6c7d8d0c9b66698f95f1fb60b0
6
+ metadata.gz: 77963f6d58d2068d582dc361cc9c9bc1d0533f28cf63a81e3c6ebcde341277cf5dd6d26f74f70a4045f492f0069a02e079009f77f867c003bf1d98098d07a5fb
7
+ data.tar.gz: cc105efea7c53645be8fe33b38868bcc9d9a051e1d0498fce0208621a0187ccef2bb0aaa38674e6d415d993bfdc8336c9370cfe3bea99c096d7587e877ca73cd
data/.gitignore CHANGED
@@ -17,13 +17,9 @@ features/support/etc/netsaint/*
17
17
  log/*
18
18
  vendor
19
19
  .bundle
20
- etc/*.yaml
21
20
  coverage
22
- tmp/pacts
23
- tmp/cucumber_cli
24
- tmp/pids/*
25
- tmp/spec*
26
- tmp/profiles
21
+ reports
22
+ tmp/*
27
23
  flapjack-*.gem
28
24
  _site/*
29
25
  .rvmrc
@@ -37,3 +33,5 @@ libexec/oneoff.linux_386
37
33
  libexec/oneoff.linux_amd64
38
34
  src/github.com
39
35
  src/gopkg.in
36
+ etc/flapjack_config.toml
37
+ etc/flapjack_config.yaml
@@ -1,3 +1,3 @@
1
1
  [submodule "doc"]
2
2
  path = doc
3
- url = https://github.com/flpjck/flapjack.wiki.git
3
+ url = https://github.com/flapjack/flapjack.wiki.git
data/.rspec CHANGED
@@ -1,5 +1,5 @@
1
1
  --color
2
- --format Fuubar
2
+ --format documentation
3
3
  --format html
4
4
  --out tmp/spec.html
5
5
  --require ./spec/support/uncolored_doc_formatter.rb
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.2.3
@@ -1,10 +1,15 @@
1
+ sudo: false
1
2
  language: ruby
2
3
  rvm:
3
4
  - '2.0'
4
5
  - '2.1'
5
6
  - '2.2'
6
- env:
7
- - GOPATH=$TRAVIS_BUILD_DIR
7
+ - 'jruby-9.0.0.0'
8
+ jdk: oraclejdk8
9
+ script: bundle exec rspec spec && bundle exec rake pact:verify && bundle exec cucumber features && cd src/flapjack && go test -v
10
+ env: GOPATH=$TRAVIS_BUILD_DIR
11
+ gemfile: Gemfile
12
+ cache: bundler
8
13
  services:
9
14
  - redis-server
10
15
  before_script:
@@ -15,20 +20,14 @@ before_install:
15
20
  install:
16
21
  - go get github.com/garyburd/redigo/redis
17
22
  - go get github.com/go-martini/martini
18
- - go get gopkg.in/alecthomas/kingpin.v1
23
+ - go get gopkg.in/alecthomas/kingpin.v2
19
24
  - go get github.com/oguzbilgic/pandik
20
25
  - bundle install
21
- script: "bundle exec rspec spec && bundle exec rake pact:verify && bundle exec cucumber features && cd src/flapjack && go test -v"
22
26
  notifications:
23
27
  irc:
24
28
  channels:
25
- - 'irc.freenode.net#flapjack'
29
+ - irc.freenode.net#flapjack
26
30
  template:
27
- - '%{message} %{repository}#%{build_number} (%{branch} - %{commit} : %{author})'
28
- hipchat:
29
- template:
30
- - '%{repository}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}
31
- (<a href="%{build_url}">Details</a>/<a href="%{compare_url}">Change view</a>)'
32
- format: html
33
- rooms:
34
- secure: ajMolTKDuprYJ9Fadcjb3evh80MyJSgjW4hl4OWnEHyrjQLnsO0hbAvSrKRFUzorMoi58L8XZXd01gMgRqRxMvwqfoHLv4njw8px4X9+F/hySPZj3aMAFM1HuoTmHqeP+Rl+1Ssg+Kss6N4JkgNS81s+tkRnnoHG1n/EhfH6PkE=
31
+ - "%{message} %{repository}#%{build_number} (%{branch} - %{commit} : %{author})"
32
+ slack:
33
+ secure: OlXm5ljaX0xAR8wHEeODXUrL9r++LmBZIj/lZbJTJ0HUSUe11evYDN8NXAwzUCP57EGeVqV94m7uoIZzvknunrs4zPlNDAbTIGkSZ+ahemBYfQmlH54PYbPQWm0mrkN6NXgzn3e6CPkQIZPCWDA+/iq5oRl6ZZtIEmoa41KrUh0=
@@ -1,14 +1,7 @@
1
1
  ## Flapjack Changelog
2
2
 
3
- # 1.6.0 - 2015-07-09
4
- - No changes
5
-
6
- # 1.6.0rc4 - 2015-07-09
7
- - Feature: slack webhook gateway #881 (@mcqueenorama, @ali-graham)
8
- - Bug: sns gateway debugging and improvements (but still broken) #879 (@ali-graham, @jessereynolds)
9
-
10
- ## Notes:
11
- - the SNS gateway signature calculation has been broken since v1.5.0 or earlier. See [#829](https://github.com/flapjack/flapjack/issues/829)
3
+ # 2.0.0b1 - 2015-10-12
4
+ - Feature: First beta release for v2.0.
12
5
 
13
6
  # 1.6.0rc3 - 2015-06-15
14
7
  - Chore/Bug?: SNS gateway improvements (@ali-graham)
@@ -23,13 +23,18 @@ Please see the [Contributing to Flapjack](http://flapjack.io/docs/1.0/developmen
23
23
 
24
24
  rake spec
25
25
 
26
- 5. run integration tests
26
+ 5. run [pact](https://github.com/realestate-com-au/pact) tests
27
+
28
+ rake pact:verify
29
+
30
+ 6. run integration tests
27
31
 
28
32
  rake features
29
33
 
30
- 6. code coverage for tests
34
+ 7. code coverage for tests
31
35
 
32
36
  COVERAGE=x rake spec
37
+ COVERAGE=x rake pact:verify
33
38
  COVERAGE=x rake features
34
39
 
35
40
  7. make changes with tests, send a [pull request](https://help.github.com/articles/creating-a-pull-request), share love!
data/Gemfile CHANGED
@@ -2,22 +2,13 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec :name => 'flapjack'
4
4
 
5
- group :development do
6
- gem 'ruby-prof'
7
- end
8
-
9
5
  group :test do
10
- gem 'rspec', '~> 3.0'
11
- gem 'cucumber', '>= 2.0.0.beta.3'
6
+ gem 'rspec'
7
+ gem 'cucumber', '>= 2.0.0.rc.4'
12
8
  gem 'delorean'
13
9
  gem 'rack-test'
14
- gem 'pact'
15
- gem 'async_rack_test', '>= 0.0.5'
10
+ gem 'json_spec'
16
11
  gem 'webmock'
17
- gem 'guard'
18
- gem 'rb-fsevent'
19
- gem 'guard-rspec'
20
- gem 'guard-cucumber'
21
- gem 'fuubar'
12
+ gem 'pact'
22
13
  gem 'simplecov', :require => false
23
14
  end
data/LICENCE CHANGED
@@ -1,4 +1,5 @@
1
1
  Copyright (c) 2009 Lindsay Holmwood
2
+ Copyright (c) 2012-2015 Ali Graham, Lindsay Holmwood, Sarah Kowalik, Jesse Reynolds and contributors
2
3
 
3
4
  Permission is hereby granted, free of charge, to any person obtaining
4
5
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ Please note that Flapjack's master branch currently represents the `v2.0.0-alpha.1` pre-release of this gem. You may be looking for the [documentation for the release branch](https://github.com/flapjack/flapjack/blob/maint/1.x/README.md). Many things have changed for Flapjack v2, and the documentation needs to be fixed before the actual release.
2
+
3
+ ---
4
+
1
5
  # ![Flapjack](http://flapjack.io/images/flapjack-2013-notext-transparent-50-50.png "Flapjack") Flapjack
2
6
 
3
7
  [![Build Status](https://travis-ci.org/flapjack/flapjack.png)](https://travis-ci.org/flapjack/flapjack)
@@ -87,11 +91,11 @@ You'll also need Redis >= 2.6.12.
87
91
 
88
92
  ## Configuring
89
93
 
90
- Have a look at the [default config file](https://github.com/flapjack/flapjack/blob/master/etc/flapjack_config.yaml.example) and modify things as required. The package installer copies this to `/etc/flapjack/flapjack_config.yaml` if it doesn't already exist.
94
+ Have a look at the [default config file](https://github.com/flapjack/flapjack/blob/master/etc/flapjack_config.toml.example) and modify things as required. The package installer copies this to `/etc/flapjack/flapjack_config.toml` if it doesn't already exist.
91
95
 
92
96
  ``` bash
93
97
  # edit the config
94
- sudo vi /etc/flapjack/flapjack_config.yaml
98
+ sudo vi /etc/flapjack/flapjack_config.toml
95
99
 
96
100
  # reload the config
97
101
  sudo /etc/init.d/flapjack reload
@@ -140,6 +144,8 @@ We are [updating](https://github.com/flapjack/flapjack/issues/624) this section
140
144
 
141
145
  Information on developing more Flapjack components or contributing to core Flapjack development can be found in the [Developing](http://flapjack.io/docs/1.0/development/DEVELOPING/) section of [the docs](http://flapjack.io/docs/1.0/).
142
146
 
147
+ Note that the master branch is still undergoing breaking changes and is for Flapjack 2. Building packages from the master branch is unlikely to work. Current stable builds are built from the maint/1.x branch.
148
+
143
149
  ## Documentation Submodule
144
150
 
145
151
  We have the documentation for this project on a github wiki and also referenced as a submodule at /doc in this project. Run the following commands to populate the local doc/ directory:
data/Rakefile CHANGED
@@ -7,8 +7,6 @@ end
7
7
  require 'fileutils'
8
8
  require 'rake'
9
9
 
10
- require 'pact/tasks'
11
-
12
10
  Dir['tasks/**/*.rake'].each { |t| load t }
13
11
 
14
12
  require 'cucumber'
@@ -17,6 +15,8 @@ require 'rake/clean'
17
15
  require 'bundler'
18
16
  Bundler::GemHelper.install_tasks
19
17
 
18
+ require 'pact/tasks'
19
+
20
20
  Cucumber::Rake::Task.new(:features) do |t|
21
21
  #t.cucumber_opts = 'features --format pretty'
22
22
  t.cucumber_opts = '--format progress'
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'gli'
4
+ require 'flapjack/version'
4
5
 
5
6
  $stdout.sync = true
6
7
 
@@ -15,13 +16,8 @@ version Flapjack::VERSION
15
16
 
16
17
  desc 'Configuration file to use'
17
18
  flag [:c,:config],
18
- :arg_name => '/path/to/flapjack.yaml',
19
- :default_value => '/etc/flapjack/flapjack_config.yaml'
20
-
21
- desc 'Environment to boot'
22
- flag [:n, :env, :environment],
23
- :arg_name => '<environment>',
24
- :default_value => 'production'
19
+ :arg_name => '/path/to/flapjack.toml',
20
+ :default_value => '/etc/flapjack/flapjack_config.toml'
25
21
 
26
22
  desc 'Force UTF-8 encoding'
27
23
  switch [:'force-utf8'],
@@ -32,11 +28,6 @@ accept Array do |value|
32
28
  value.split(/,/).map(&:strip)
33
29
  end
34
30
 
35
- pre do |global,command,options,args|
36
- FLAPJACK_ENV = ENV["FLAPJACK_ENV"] || global[:environment]
37
- true
38
- end
39
-
40
31
  post do |global,command,options,args|
41
32
  end
42
33
 
data/build.sh CHANGED
@@ -6,11 +6,13 @@ export GOPATH=$(pwd):$GOPATH
6
6
 
7
7
  go get github.com/garyburd/redigo/redis
8
8
  go get github.com/go-martini/martini
9
- go get gopkg.in/alecthomas/kingpin.v1
9
+ go get gopkg.in/alecthomas/kingpin.v2
10
10
  go get github.com/oguzbilgic/pandik
11
11
  mv bin/pandik libexec/httpchecker
12
12
 
13
- go test flapjack
13
+ if [ ! -z "$SKIPTESTS" ]; then
14
+ go test flapjack
15
+ fi
14
16
 
15
17
  go build -x -o libexec/httpbroker libexec/httpbroker.go
16
18
  go build -x -o libexec/oneoff libexec/oneoff.go
@@ -0,0 +1,273 @@
1
+ [logger]
2
+ file = "/var/log/flapjack/flapjack.log"
3
+ level = "INFO"
4
+ syslog_errors = true
5
+ [redis]
6
+ host = "127.0.0.1"
7
+ port = 6380
8
+ db = 0
9
+ # Processes monitoring events off the *events* queue (a redis list) and decides
10
+ # what actions to take (generate notification event, record state changes, etc)
11
+ [processor]
12
+ enabled = true
13
+ queue = "events"
14
+ notifier_queue = "notifications"
15
+ archive_events = true
16
+ events_archive_maxage = 10800
17
+ # Flapjack sets scheduled maintenance on new check results so contacts aren't
18
+ # notified as soon as Flapjack becomes aware of an entity to notify on.
19
+ # This is useful is cases where your monitoring starts checking something
20
+ # before it is completely provisioned
21
+ # Value parsed by https://github.com/hpoydar/chronic_duration
22
+ # You can disable this setting by specifying "0 seconds".
23
+ new_check_scheduled_maintenance_duration = "100 years"
24
+ new_check_scheduled_maintenance_ignore_regex = "bypass_ncsm$"
25
+ [processor.logger]
26
+ file = "/var/log/flapjack/flapjack.log"
27
+ level = "INFO"
28
+ syslog_errors = true
29
+ # Processes notification events off the *notifications* queue (a redis list) and
30
+ # works out who to notify, and on which media, and with what kind of notification
31
+ # message. It then creates jobs for the various notification gateways below.
32
+ [notifier]
33
+ enabled = true
34
+ queue = "notifications"
35
+ email_queue = "email_notifications"
36
+ sms_queue = "sms_notifications"
37
+ sms_nexmo_queue = "sms_nexmo_notifications"
38
+ slack_queue = "slack_notifications"
39
+ sms_twilio_queue = "sms_twilio_notifications"
40
+ sms_aspsms_queue = "sms_aspsms_notifications"
41
+ sns_queue = "sns_notifications"
42
+ jabber_queue = "jabber_notifications"
43
+ pagerduty_queue = "pagerduty_notifications"
44
+ default_contact_timezone = "UTC"
45
+ [notifier.logger]
46
+ file = "/var/log/flapjack/flapjack.log"
47
+ level = "INFO"
48
+ syslog_errors = true
49
+ [nagios-receiver]
50
+ fifo = "/var/cache/nagios3/event_stream.fifo"
51
+ [nsca-receiver]
52
+ fifo = "/var/lib/nagios3/rw/nagios.cmd"
53
+ [gateways]
54
+ # Generates email notifications
55
+ [gateways.email]
56
+ enabled = false
57
+ # the redis queue this pikelet will look for notifications on
58
+ queue = "email_notifications"
59
+ [gateways.email.logger]
60
+ level = "INFO"
61
+ syslog_errors = true
62
+ # these values are passed directly through to EventMachine::Protocols::SmtpClient configuration,
63
+ # and can be omitted if the defaults are acceptable
64
+ [gateways.email.smtp_config]
65
+ # from = "Flapjack Example <flapjack@noreply.example>"
66
+ # reply_to = "flapjack@support.example"
67
+ host = "127.0.0.1"
68
+ # 1025 is the default port for http://mailcatcher.me
69
+ port = 1025
70
+ starttls = false
71
+ #[gateways.email.smtp_config.auth]
72
+ # type =
73
+ # username =
74
+ # password =
75
+ # location of custom alert templates
76
+ #[gateways.email.templates]
77
+ # rollup_subject_text = "/etc/flapjack/templates/email/rollup_subject.text.erb"
78
+ # alert_subject_text = "/etc/flapjack/templates/email/alert_subject.text.erb"
79
+ # rollup_text = "/etc/flapjack/templates/email/rollup.text.erb"
80
+ # alert_text = "/etc/flapjack/templates/email/alert.text.erb"
81
+ # rollup.html = "/etc/flapjack/templates/email/rollup.html.erb"
82
+ # alert.html = "/etc/flapjack/templates/email/alert.html.erb"
83
+ # Sends SMS notifications via MessageNet (Australia only)
84
+ [gateways.sms]
85
+ enabled = false
86
+ # the redis queue this pikelet will look for notifications on
87
+ queue = "sms_notifications"
88
+ endpoint = "https://www.messagenet.com.au/dotnet/Lodge.asmx/LodgeSMSMessage"
89
+ username = "ermahgerd"
90
+ password = "xxxx"
91
+ [gateways.sms.logger]
92
+ file = "/var/log/flapjack/flapjack.log"
93
+ level = "INFO"
94
+ syslog_errors = true
95
+ # location of custom alert templates
96
+ #templates:
97
+ # rollup_text = "/etc/flapjack/templates/sms/rollup.text.erb"
98
+ # alert_text = "/etc/flapjack/templates/sms/alert.text.erb"
99
+ # Sends notifications via Slack
100
+ [gateways.slack]
101
+ enabled = false
102
+ queue = "slack_notifications"
103
+ account_sid = "webhookbot"
104
+ endpoint = "https://hooks.slack.com/services/xxx/yyy/"
105
+ auth_token = "zzzzz"
106
+ from = ""
107
+ [gateways.slack.logger]
108
+ file = "/var/log/flapjack/flapjack.log"
109
+ level = "INFO"
110
+ syslog_errors = true
111
+ ## location of custom alert templates
112
+ #templates:
113
+ # rollup_text = "/etc/flapjack/templates/slack/rollup.text.erb"
114
+ # alert_text = "/etc/flapjack/templates/slack/alert.text.erb"
115
+ # Sends SMS notifications via Nexmo
116
+ [gateways.sms_nexmo]
117
+ enabled = false
118
+ queue = "sms_nexmo_notifications"
119
+ from = "zzzzzz"
120
+ api_key = "APIKEY"
121
+ secret = "s3cr3t"
122
+ [gateways.sms_nexmo.logger]
123
+ file = "/var/log/flapjack/flapjack.log"
124
+ level = "INFO"
125
+ syslog_errors = true
126
+ ## location of custom alert templates
127
+ #templates:
128
+ # rollup_text = "/etc/flapjack/templates/sms_nexmo/rollup.text.erb"
129
+ # alert_text = "/etc/flapjack/templates/sms_nexmo/alert.text.erb"
130
+ # Sends SMS notifications via Twilio
131
+ [gateways.sms_twilio]
132
+ enabled = false
133
+ queue = "sms_twilio_notifications"
134
+ account_sid = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
135
+ auth_token = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
136
+ from = "+1xxxxxxxxxx"
137
+ [gateways.sms_twilio.logger]
138
+ file = "/var/log/flapjack/flapjack.log"
139
+ level = "INFO"
140
+ syslog_errors = true
141
+ # location of custom alert templates
142
+ #[gateways.sms_twilio.templates]
143
+ # rollup_text = "/etc/flapjack/templates/sms_twilio/rollup.text.erb"
144
+ # alert_text = "/etc/flapjack/templates/sms_twilio/alert.text.erb"
145
+ # Sends SMS notifications via ASPSMS ( https://www.aspsms.com/ )
146
+ [gateways.sms_aspsms]
147
+ enabled = false
148
+ # the redis queue this pikelet will look for notifications on
149
+ queue = "sms_aspsms_notifications"
150
+ endpoint_host = "webservice.aspsms.com"
151
+ endpoint_path = "/aspsmsx.asmx/SimpleTextSMS"
152
+ originator = "Flapjack"
153
+ username = "xxxx"
154
+ password = "xxxx"
155
+ [gateways.sms_aspsms.logger]
156
+ file = "/var/log/flapjack/flapjack.log"
157
+ level = "INFO"
158
+ syslog_errors = true
159
+ # location of custom alert templates
160
+ #templates:
161
+ # rollup_text = "/etc/flapjack/templates/sms_aspsms/rollup.text.erb"
162
+ # alert_text = "/etc/flapjack/templates/sms_aspsms/alert.text.erb"
163
+ # Generates SNS notifications
164
+ [gateways.sns]
165
+ enabled = false
166
+ queue = "sns_notifications"
167
+ #region_name = "us-east-1"
168
+ # Don't forget to use an IAM user's credentials here so revocation is easy!
169
+ access_key = "AKIAIOSFODNN7EXAMPLE"
170
+ secret_key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
171
+ # Connects to an XMPP (jabber) server, sends notifications (to rooms and individuals),
172
+ # handles acknowledgements from jabber users and other commands.
173
+ [gateways.jabber]
174
+ enabled = false
175
+ # Announce my arrival in the Multi-User Chat room
176
+ chatbot_announce = true
177
+ # the redis queue this pikelet will look for notifications on
178
+ queue = "jabber_notifications"
179
+ server = "jabber.example.com"
180
+ port = 5222
181
+ jabberid = "flapjack@jabber.example.com"
182
+ password = "good-password"
183
+ alias = "flapjack"
184
+ # List of strings that this pikelet user will respond to
185
+ identifiers = ["@flapjack"]
186
+ # the Multi-User Chats the pikelet should join and announce to
187
+ rooms = [
188
+ "gimp@conference.jabber.example.com",
189
+ "log@conference.jabber.example.com"
190
+ ]
191
+ [gateways.jabber.logger]
192
+ file = "/var/log/flapjack/flapjack.log"
193
+ level = "INFO"
194
+ syslog_errors = true
195
+ # location of custom alert templates
196
+ #[gateways.jabber.templates]
197
+ # rollup_text = "/etc/flapjack/templates/jabber/rollup.text.erb"
198
+ # alert_text = "/etc/flapjack/templates/jabber/alert.text.erb"
199
+ # Sends notifications to and accepts acknowledgements from [PagerDuty](http://www.pagerduty.com/)
200
+ # (NB = "contacts will need to have a registered PagerDuty account to use this)"
201
+ [gateways.pagerduty]
202
+ enabled = false
203
+ # the redis queue this pikelet will look for notifications on
204
+ queue = "pagerduty_notifications"
205
+ [gateways.pagerduty.credentials]
206
+ service_key = "1234567890"
207
+ subdomain = "thecompany"
208
+ username = "user"
209
+ password = "pass"
210
+ [gateways.pagerduty.logger]
211
+ file = "/var/log/flapjack/flapjack.log"
212
+ level = "INFO"
213
+ syslog_errors = true
214
+ # location of custom alert templates
215
+ #[gateways.pagerduty.templates]
216
+ # alert_text = "/etc/flapjack/templates/pagerduty/alert.text.erb"
217
+ # Browsable web interface
218
+ [gateways.web]
219
+ enabled = true
220
+ bind_address = "0.0.0.0"
221
+ port = 3080
222
+ timeout = 300
223
+ # Seconds between auto_refresh of entities/checks pages. Set to 0 to disable
224
+ auto_refresh = 120
225
+ access_log = "/var/log/flapjack/web_access.log"
226
+ api_url = "http://127.0.0.1:3081/"
227
+ # Full path to location of logo file, e.g. /etc/flapjack/custom_logo.png
228
+ #logo_image_path = "/etc/flapjack/web/custom_logo/flapjack-2013-notext-transparent-300-300.png"
229
+ show_exceptions = false
230
+ [gateways.web.logger]
231
+ file = "/var/log/flapjack/flapjack.log"
232
+ level = "INFO"
233
+ syslog_errors = true
234
+ # HTTP API server
235
+ [gateways.jsonapi]
236
+ enabled = true
237
+ bind_address = "0.0.0.0"
238
+ port = 3081
239
+ timeout = 300
240
+ access_log = "/var/log/flapjack/jsonapi_access.log"
241
+ base_url = "http://127.0.0.1:3081/"
242
+ [gateways.jsonapi.logger]
243
+ file = "/var/log/flapjack/flapjack.log"
244
+ level = "INFO"
245
+ syslog_errors = true
246
+ # "out-of-band" end-to-end testing, used for monitoring other instances of
247
+ # flapjack to ensure that they are running correctly
248
+ [gateways.oobetet]
249
+ enabled = false
250
+ server = "jabber.example.com"
251
+ port = 5222
252
+ # jabberid, password, alias, rooms = "see the jabber pikelet"
253
+ jabberid = "flapjacktest@jabber.example.com"
254
+ password = "nuther-good-password"
255
+ alias = "flapjacktest"
256
+ # The check oobetet should watch for the state change
257
+ watched_check = "PING"
258
+ # The entitiy that the check should be associated with
259
+ watched_entity = "foo.example.com"
260
+ # The maximum amount of time allowed to pass between state changes on that check
261
+ max_latency = 300
262
+ # The API key for a service in PagerDuty that the oobetet will use to alert you
263
+ pagerduty_contact = "11111111111111111111111111111111"
264
+ # Jabber rooms to join
265
+ rooms = [
266
+ "flapjacktest@conference.jabber.example.com",
267
+ "gimp@conference.jabber.example.com",
268
+ "log@conference.jabber.example.com"
269
+ ]
270
+ [gateways.oobetet.logger]
271
+ file = "/var/log/flapjack/flapjack.log"
272
+ level = "INFO"
273
+ syslog_errors = true