flapjack 1.1.0 → 1.2.0rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.ruby-version +1 -1
- data/.travis.yml +12 -7
- data/CHANGELOG.md +12 -0
- data/Gemfile +6 -2
- data/Gemfile-ruby1.9 +29 -0
- data/Gemfile-ruby1.9.lock +251 -0
- data/README.md +2 -2
- data/Rakefile +1 -0
- data/etc/flapjack_config.yaml.example +2 -2
- data/features/steps/events_steps.rb +2 -2
- data/features/steps/flapjack-netsaint-parser_steps.rb +1 -1
- data/features/support/env.rb +1 -6
- data/lib/flapjack/cli/import.rb +2 -5
- data/lib/flapjack/cli/purge.rb +4 -4
- data/lib/flapjack/cli/receiver.rb +122 -54
- data/lib/flapjack/cli/server.rb +0 -5
- data/lib/flapjack/coordinator.rb +6 -0
- data/lib/flapjack/data/contact.rb +10 -62
- data/lib/flapjack/data/entity.rb +36 -52
- data/lib/flapjack/data/entity_check.rb +90 -21
- data/lib/flapjack/data/event.rb +4 -5
- data/lib/flapjack/data/notification.rb +8 -10
- data/lib/flapjack/data/notification_rule.rb +32 -35
- data/lib/flapjack/data/tagged.rb +48 -0
- data/lib/flapjack/gateways/jabber.rb +4 -5
- data/lib/flapjack/gateways/jsonapi/check_methods.rb +45 -7
- data/lib/flapjack/gateways/jsonapi/check_presenter.rb +1 -1
- data/lib/flapjack/gateways/jsonapi/contact_methods.rb +8 -2
- data/lib/flapjack/gateways/jsonapi/entity_methods.rb +26 -8
- data/lib/flapjack/gateways/jsonapi/medium_methods.rb +13 -9
- data/lib/flapjack/gateways/jsonapi/metrics_methods.rb +2 -2
- data/lib/flapjack/gateways/jsonapi/notification_rule_methods.rb +1 -1
- data/lib/flapjack/gateways/jsonapi/pagerduty_credential_methods.rb +24 -17
- data/lib/flapjack/gateways/jsonapi/rack/json_params_parser.rb +1 -1
- data/lib/flapjack/gateways/jsonapi/report_methods.rb +4 -4
- data/lib/flapjack/gateways/jsonapi.rb +52 -31
- data/lib/flapjack/gateways/oobetet.rb +2 -3
- data/lib/flapjack/gateways/pagerduty.rb +9 -8
- data/lib/flapjack/gateways/web/public/js/backbone.jsonapi.js +19 -0
- data/lib/flapjack/gateways/web/public/js/flapjack.js +6 -2
- data/lib/flapjack/gateways/web/public/js/modules/contact.js +9 -14
- data/lib/flapjack/gateways/web/public/js/modules/medium.js +1 -0
- data/lib/flapjack/gateways/web/public/js/self_stats.js +1 -1
- data/lib/flapjack/gateways/web/views/edit_contacts.html.erb +3 -3
- data/lib/flapjack/gateways/web.rb +8 -7
- data/lib/flapjack/notifier.rb +2 -4
- data/lib/flapjack/processor.rb +2 -2
- data/lib/flapjack/version.rb +1 -1
- data/lib/flapjack.rb +10 -0
- data/spec/lib/flapjack/coordinator_spec.rb +18 -0
- data/spec/lib/flapjack/data/contact_spec.rb +4 -12
- data/spec/lib/flapjack/data/entity_check_spec.rb +56 -3
- data/spec/lib/flapjack/data/entity_spec.rb +79 -67
- data/spec/lib/flapjack/data/event_spec.rb +78 -78
- data/spec/lib/flapjack/data/notification_rule_spec.rb +4 -2
- data/spec/lib/flapjack/gateways/jsonapi/check_methods_spec.rb +94 -11
- data/spec/lib/flapjack/gateways/jsonapi/entity_methods_spec.rb +84 -0
- data/spec/lib/flapjack/gateways/pagerduty_spec.rb +5 -3
- data/spec/lib/flapjack/gateways/web_spec.rb +3 -3
- data/spec/service_consumers/pact_helper.rb +74 -0
- data/spec/service_consumers/pacts/flapjack-diner_v1.0.json +4522 -0
- data/spec/service_consumers/provider_states_for_flapjack-diner.rb +356 -0
- data/spec/spec_helper.rb +0 -8
- data/spec/support/jsonapi_helper.rb +1 -1
- data/tasks/benchmarks.rake +6 -3
- data/tasks/profile.rake +1 -1
- data/tmp/acknowledge.rb +0 -3
- data/tmp/create_event_ok.rb +0 -3
- data/tmp/create_event_unknown.rb +0 -3
- data/tmp/create_events_failure.rb +0 -3
- data/tmp/create_events_ok.rb +0 -3
- data/tmp/create_events_ok_fail_ack_ok.rb +0 -3
- data/tmp/create_events_ok_failure.rb +2 -5
- data/tmp/create_events_ok_failure_ack.rb +0 -3
- data/tmp/test_json_post.rb +4 -3
- data/tmp/test_notification_rules_api.rb +2 -3
- metadata +13 -8
- data/lib/flapjack/data/tag.rb +0 -61
- data/lib/flapjack/data/tag_set.rb +0 -16
- data/spec/lib/flapjack/data/tag_spec.rb +0 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d2385cedabb54ffdf76fab97912ff06918d6d1d
|
4
|
+
data.tar.gz: 5df58568fccb796ee1f45e332a711b5b01003d15
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2192ac69c3abfffd68ab6dd23dbbd4bf2ffb0bbb411620b8c6356857511f6792868a678f15796a8a116bec52b7ff2208b5ff251583fc57825e747816218b3532
|
7
|
+
data.tar.gz: f7bfa433a64c42747c3b9359c8e28049d618f10ee6c03787df83818a2f63dd7a2c04194c234371f7151d3bfd21b22cf28715f0783d80ef91fb8148e3b80ce941
|
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.3
|
data/.travis.yml
CHANGED
@@ -1,10 +1,16 @@
|
|
1
1
|
language: ruby
|
2
|
-
|
3
|
-
|
4
|
-
-
|
5
|
-
-
|
6
|
-
|
7
|
-
|
2
|
+
matrix:
|
3
|
+
include:
|
4
|
+
- rvm: 1.9.3
|
5
|
+
gemfile: Gemfile-ruby1.9
|
6
|
+
script: "bundle exec rspec spec && bundle exec rake pact:verify && bundle exec cucumber features"
|
7
|
+
env: BUNDLE_GEMFILE=Gemfile-ruby1.9
|
8
|
+
- rvm: '2.0'
|
9
|
+
gemfile: Gemfile
|
10
|
+
script: "bundle exec rspec spec && bundle exec rake pact:verify && bundle exec cucumber features"
|
11
|
+
- rvm: '2.1'
|
12
|
+
gemfile: Gemfile
|
13
|
+
script: "bundle exec rspec spec && bundle exec rake pact:verify && bundle exec cucumber features"
|
8
14
|
services:
|
9
15
|
- redis-server
|
10
16
|
before_script:
|
@@ -12,7 +18,6 @@ before_script:
|
|
12
18
|
before_install:
|
13
19
|
- git submodule update --init --recursive
|
14
20
|
- gem install bundler
|
15
|
-
script: bundle exec rspec spec && bundle exec cucumber features
|
16
21
|
notifications:
|
17
22
|
irc:
|
18
23
|
channels:
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
## Flapjack Changelog
|
2
2
|
|
3
|
+
# 1.2.0rc1 - 2014-10-08
|
4
|
+
- Feature: Allow updating an entities name via PATCH /entities/id[,id...] #628 (@ali-graham)
|
5
|
+
- Feature: Pact specs for flapjack-diner compatability testing #663 (@ali-graham)
|
6
|
+
- Feature: more api check methods #644 (@ali-graham)
|
7
|
+
- Chore: optimise tag code #654 (@ali-graham)
|
8
|
+
- Chore: fix #653, overuse of Redis KEYS in mirror #661 (@ali-graham)
|
9
|
+
- Bug: Entities should return linked checks with list of check "ids" in API #648 (@ali-graham)
|
10
|
+
- Bug: 500 error getting all checks from API #641 (@ali-graham)
|
11
|
+
- Bug: Pager Duty credentials get throws error #657 (@ali-graham)
|
12
|
+
- Bug: Flapjack crashes when email alert is triggered #656 (@ali-graham)
|
13
|
+
- Bug: Fix /edit_contacts media saving after adding contacts #651 (@ali-graham)
|
14
|
+
|
3
15
|
# 1.1.0 - 2014-09-10
|
4
16
|
- Feature: Add autorefresh for the web GUI (Closes: #494) #607 (@Hobbsee)
|
5
17
|
- Feature: twilio sms sending #633 (@jessereynolds)
|
data/Gemfile
CHANGED
@@ -11,6 +11,7 @@ group :test do
|
|
11
11
|
gem 'cucumber'
|
12
12
|
gem 'delorean'
|
13
13
|
gem 'rack-test'
|
14
|
+
gem 'pact'
|
14
15
|
gem 'async_rack_test', '>= 0.0.5'
|
15
16
|
gem 'resque_spec'
|
16
17
|
gem 'webmock'
|
@@ -20,6 +21,9 @@ group :test do
|
|
20
21
|
gem 'guard-cucumber'
|
21
22
|
gem 'fuubar'
|
22
23
|
gem 'simplecov', :require => false
|
23
|
-
|
24
|
-
|
24
|
+
|
25
|
+
if RUBY_VERSION.split('.')[0] == '1' && RUBY_VERSION.split('.')[1] == '9'
|
26
|
+
gem 'debugger-ruby_core_source', '>= 1.3.4' # required for perftools.rb
|
27
|
+
gem 'perftools.rb'
|
28
|
+
end
|
25
29
|
end
|
data/Gemfile-ruby1.9
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gemspec :name => 'flapjack'
|
4
|
+
|
5
|
+
group :development do
|
6
|
+
gem 'ruby-prof'
|
7
|
+
end
|
8
|
+
|
9
|
+
group :test do
|
10
|
+
gem 'rspec', '~> 3.0'
|
11
|
+
gem 'cucumber'
|
12
|
+
gem 'delorean'
|
13
|
+
gem 'rack-test'
|
14
|
+
gem 'pact'
|
15
|
+
gem 'async_rack_test', '>= 0.0.5'
|
16
|
+
gem 'resque_spec'
|
17
|
+
gem 'webmock'
|
18
|
+
gem 'guard'
|
19
|
+
gem 'rb-fsevent'
|
20
|
+
gem 'guard-rspec'
|
21
|
+
gem 'guard-cucumber'
|
22
|
+
gem 'fuubar'
|
23
|
+
gem 'simplecov', :require => false
|
24
|
+
|
25
|
+
if RUBY_VERSION.split('.')[0] == '1' && RUBY_VERSION.split('.')[1] == '9'
|
26
|
+
gem 'debugger-ruby_core_source', '>= 1.3.4' # required for perftools.rb
|
27
|
+
gem 'perftools.rb'
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,251 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
flapjack (1.2.0rc1)
|
5
|
+
activesupport (~> 3.2.14)
|
6
|
+
blather (~> 0.8.3)
|
7
|
+
chronic
|
8
|
+
chronic_duration
|
9
|
+
dante
|
10
|
+
em-http-request
|
11
|
+
em-resque
|
12
|
+
em-synchrony (~> 1.0.2)
|
13
|
+
eventmachine (~> 1.0.0)
|
14
|
+
gli (= 2.12.0)
|
15
|
+
hiredis
|
16
|
+
ice_cube
|
17
|
+
mail
|
18
|
+
nokogiri (= 1.6.2.1)
|
19
|
+
oj (>= 2.9.0)
|
20
|
+
rack-fiber_pool
|
21
|
+
rake
|
22
|
+
rbtrace
|
23
|
+
redis (~> 3.0.6)
|
24
|
+
resque (~> 1.23.0)
|
25
|
+
sinatra
|
26
|
+
terminal-table
|
27
|
+
thin (~> 1.6.1)
|
28
|
+
tzinfo (~> 1.0.1)
|
29
|
+
tzinfo-data
|
30
|
+
|
31
|
+
GEM
|
32
|
+
remote: https://rubygems.org/
|
33
|
+
specs:
|
34
|
+
activesupport (3.2.19)
|
35
|
+
i18n (~> 0.6, >= 0.6.4)
|
36
|
+
multi_json (~> 1.0)
|
37
|
+
addressable (2.3.6)
|
38
|
+
async_rack_test (0.0.5)
|
39
|
+
awesome_print (1.2.0)
|
40
|
+
blather (0.8.8)
|
41
|
+
activesupport (>= 2.3.11)
|
42
|
+
eventmachine (>= 1.0.0)
|
43
|
+
girl_friday
|
44
|
+
niceogiri (~> 1.0)
|
45
|
+
nokogiri (~> 1.5, >= 1.5.6)
|
46
|
+
builder (3.2.2)
|
47
|
+
celluloid (0.16.0)
|
48
|
+
timers (~> 4.0.0)
|
49
|
+
chronic (0.10.2)
|
50
|
+
chronic_duration (0.10.6)
|
51
|
+
numerizer (~> 0.1.1)
|
52
|
+
coderay (1.1.0)
|
53
|
+
connection_pool (1.2.0)
|
54
|
+
cookiejar (0.3.2)
|
55
|
+
crack (0.4.2)
|
56
|
+
safe_yaml (~> 1.0.0)
|
57
|
+
cucumber (1.3.17)
|
58
|
+
builder (>= 2.1.2)
|
59
|
+
diff-lcs (>= 1.1.3)
|
60
|
+
gherkin (~> 2.12)
|
61
|
+
multi_json (>= 1.7.5, < 2.0)
|
62
|
+
multi_test (>= 0.1.1)
|
63
|
+
daemons (1.1.9)
|
64
|
+
dante (0.2.0)
|
65
|
+
debugger-ruby_core_source (1.3.5)
|
66
|
+
delorean (2.1.0)
|
67
|
+
chronic
|
68
|
+
diff-lcs (1.2.5)
|
69
|
+
docile (1.1.5)
|
70
|
+
em-hiredis (0.1.1)
|
71
|
+
hiredis (~> 0.4.0)
|
72
|
+
em-http-request (1.1.2)
|
73
|
+
addressable (>= 2.3.4)
|
74
|
+
cookiejar
|
75
|
+
em-socksify (>= 0.3)
|
76
|
+
eventmachine (>= 1.0.3)
|
77
|
+
http_parser.rb (>= 0.6.0)
|
78
|
+
em-resque (1.1.1)
|
79
|
+
em-hiredis (~> 0.1.0)
|
80
|
+
em-synchrony (~> 1.0.0)
|
81
|
+
resque (~> 1.2)
|
82
|
+
em-socksify (0.3.0)
|
83
|
+
eventmachine (>= 1.0.0.beta.4)
|
84
|
+
em-synchrony (1.0.3)
|
85
|
+
eventmachine (>= 1.0.0.beta.1)
|
86
|
+
eventmachine (1.0.3)
|
87
|
+
ffi (1.9.3)
|
88
|
+
find_a_port (1.0.1)
|
89
|
+
formatador (0.2.5)
|
90
|
+
fuubar (2.0.0)
|
91
|
+
rspec (~> 3.0)
|
92
|
+
ruby-progressbar (~> 1.4)
|
93
|
+
gherkin (2.12.2)
|
94
|
+
multi_json (~> 1.3)
|
95
|
+
girl_friday (0.11.2)
|
96
|
+
connection_pool (~> 1.0)
|
97
|
+
rubinius-actor
|
98
|
+
gli (2.12.0)
|
99
|
+
guard (2.6.1)
|
100
|
+
formatador (>= 0.2.4)
|
101
|
+
listen (~> 2.7)
|
102
|
+
lumberjack (~> 1.0)
|
103
|
+
pry (>= 0.9.12)
|
104
|
+
thor (>= 0.18.1)
|
105
|
+
guard-cucumber (1.4.1)
|
106
|
+
cucumber (>= 1.2.0)
|
107
|
+
guard (>= 1.1.0)
|
108
|
+
guard-rspec (4.3.1)
|
109
|
+
guard (~> 2.1)
|
110
|
+
rspec (>= 2.14, < 4.0)
|
111
|
+
hiredis (0.4.5)
|
112
|
+
hitimes (1.2.2)
|
113
|
+
http_parser.rb (0.6.0)
|
114
|
+
i18n (0.6.11)
|
115
|
+
ice_cube (0.12.1)
|
116
|
+
json (1.8.1)
|
117
|
+
listen (2.7.9)
|
118
|
+
celluloid (>= 0.15.2)
|
119
|
+
rb-fsevent (>= 0.9.3)
|
120
|
+
rb-inotify (>= 0.9)
|
121
|
+
lumberjack (1.0.9)
|
122
|
+
mail (2.6.1)
|
123
|
+
mime-types (>= 1.16, < 3)
|
124
|
+
method_source (0.8.2)
|
125
|
+
mime-types (2.4.1)
|
126
|
+
mini_portile (0.6.0)
|
127
|
+
msgpack (0.5.9)
|
128
|
+
multi_json (1.10.1)
|
129
|
+
multi_test (0.1.1)
|
130
|
+
niceogiri (1.1.2)
|
131
|
+
nokogiri (~> 1.5)
|
132
|
+
nokogiri (1.6.2.1)
|
133
|
+
mini_portile (= 0.6.0)
|
134
|
+
numerizer (0.1.1)
|
135
|
+
oj (2.10.3)
|
136
|
+
pact (1.3.3)
|
137
|
+
awesome_print (~> 1.1)
|
138
|
+
find_a_port (~> 1.0.1)
|
139
|
+
json
|
140
|
+
rack-test (~> 0.6.2)
|
141
|
+
randexp (~> 0.1.7)
|
142
|
+
rspec (>= 2.14)
|
143
|
+
term-ansicolor (~> 1.0)
|
144
|
+
thor
|
145
|
+
webrick
|
146
|
+
perftools.rb (2.0.1)
|
147
|
+
pry (0.10.1)
|
148
|
+
coderay (~> 1.1.0)
|
149
|
+
method_source (~> 0.8.1)
|
150
|
+
slop (~> 3.4)
|
151
|
+
rack (1.5.2)
|
152
|
+
rack-fiber_pool (0.9.3)
|
153
|
+
rack-protection (1.5.3)
|
154
|
+
rack
|
155
|
+
rack-test (0.6.2)
|
156
|
+
rack (>= 1.0)
|
157
|
+
rake (10.3.2)
|
158
|
+
randexp (0.1.7)
|
159
|
+
rb-fsevent (0.9.4)
|
160
|
+
rb-inotify (0.9.5)
|
161
|
+
ffi (>= 0.5.0)
|
162
|
+
rbtrace (0.4.5)
|
163
|
+
ffi (>= 1.0.6)
|
164
|
+
msgpack (>= 0.4.3)
|
165
|
+
trollop (>= 1.16.2)
|
166
|
+
redis (3.0.7)
|
167
|
+
redis-namespace (1.5.1)
|
168
|
+
redis (~> 3.0, >= 3.0.4)
|
169
|
+
resque (1.23.1)
|
170
|
+
multi_json (~> 1.0)
|
171
|
+
redis-namespace (~> 1.0)
|
172
|
+
sinatra (>= 0.9.2)
|
173
|
+
vegas (~> 0.1.2)
|
174
|
+
resque_spec (0.16.0)
|
175
|
+
resque (>= 1.19.0)
|
176
|
+
rspec-core (>= 3.0.0)
|
177
|
+
rspec-expectations (>= 3.0.0)
|
178
|
+
rspec-mocks (>= 3.0.0)
|
179
|
+
rspec (3.1.0)
|
180
|
+
rspec-core (~> 3.1.0)
|
181
|
+
rspec-expectations (~> 3.1.0)
|
182
|
+
rspec-mocks (~> 3.1.0)
|
183
|
+
rspec-core (3.1.4)
|
184
|
+
rspec-support (~> 3.1.0)
|
185
|
+
rspec-expectations (3.1.1)
|
186
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
187
|
+
rspec-support (~> 3.1.0)
|
188
|
+
rspec-mocks (3.1.1)
|
189
|
+
rspec-support (~> 3.1.0)
|
190
|
+
rspec-support (3.1.0)
|
191
|
+
rubinius-actor (0.0.2)
|
192
|
+
rubinius-core-api
|
193
|
+
rubinius-core-api (0.0.1)
|
194
|
+
ruby-prof (0.15.1)
|
195
|
+
ruby-progressbar (1.6.0)
|
196
|
+
safe_yaml (1.0.3)
|
197
|
+
simplecov (0.9.1)
|
198
|
+
docile (~> 1.1.0)
|
199
|
+
multi_json (~> 1.0)
|
200
|
+
simplecov-html (~> 0.8.0)
|
201
|
+
simplecov-html (0.8.0)
|
202
|
+
sinatra (1.4.5)
|
203
|
+
rack (~> 1.4)
|
204
|
+
rack-protection (~> 1.4)
|
205
|
+
tilt (~> 1.3, >= 1.3.4)
|
206
|
+
slop (3.6.0)
|
207
|
+
term-ansicolor (1.3.0)
|
208
|
+
tins (~> 1.0)
|
209
|
+
terminal-table (1.4.5)
|
210
|
+
thin (1.6.3)
|
211
|
+
daemons (~> 1.0, >= 1.0.9)
|
212
|
+
eventmachine (~> 1.0)
|
213
|
+
rack (~> 1.0)
|
214
|
+
thor (0.19.1)
|
215
|
+
tilt (1.4.1)
|
216
|
+
timers (4.0.1)
|
217
|
+
hitimes
|
218
|
+
tins (1.3.3)
|
219
|
+
trollop (2.0)
|
220
|
+
tzinfo (1.0.1)
|
221
|
+
tzinfo-data (1.2014.8)
|
222
|
+
tzinfo (>= 1.0.0)
|
223
|
+
vegas (0.1.11)
|
224
|
+
rack (>= 1.0.0)
|
225
|
+
webmock (1.18.0)
|
226
|
+
addressable (>= 2.3.6)
|
227
|
+
crack (>= 0.3.2)
|
228
|
+
webrick (1.3.1)
|
229
|
+
|
230
|
+
PLATFORMS
|
231
|
+
ruby
|
232
|
+
|
233
|
+
DEPENDENCIES
|
234
|
+
async_rack_test (>= 0.0.5)
|
235
|
+
cucumber
|
236
|
+
debugger-ruby_core_source (>= 1.3.4)
|
237
|
+
delorean
|
238
|
+
flapjack!
|
239
|
+
fuubar
|
240
|
+
guard
|
241
|
+
guard-cucumber
|
242
|
+
guard-rspec
|
243
|
+
pact
|
244
|
+
perftools.rb
|
245
|
+
rack-test
|
246
|
+
rb-fsevent
|
247
|
+
resque_spec
|
248
|
+
rspec (~> 3.0)
|
249
|
+
ruby-prof
|
250
|
+
simplecov
|
251
|
+
webmock
|
data/README.md
CHANGED
@@ -47,7 +47,7 @@ gpg -a --export 803709B6 | sudo apt-key add -
|
|
47
47
|
Add the Flapjack Debian repository to your Apt sources:
|
48
48
|
|
49
49
|
``` text
|
50
|
-
echo "deb http://packages.flapjack.io/deb/
|
50
|
+
echo "deb http://packages.flapjack.io/deb/v1 precise main" | sudo tee /etc/apt/sources.list.d/flapjack.list
|
51
51
|
```
|
52
52
|
|
53
53
|
Install the latest Flapjack package:
|
@@ -57,7 +57,7 @@ sudo apt-get update
|
|
57
57
|
sudo apt-get install flapjack
|
58
58
|
```
|
59
59
|
|
60
|
-
Alternatively, [download the deb](http://packages.flapjack.io/deb/
|
60
|
+
Alternatively, [download the deb](http://packages.flapjack.io/deb/v1/pool/main/f/flapjack/) and install using `sudo dpkg -i <filename>`
|
61
61
|
|
62
62
|
The Flapjack package is an [Omnibus](https://github.com/opscode/omnibus) package and as such contains most dependencies under `/opt/flapjack`, including Redis.
|
63
63
|
|
data/Rakefile
CHANGED
@@ -24,7 +24,7 @@ production:
|
|
24
24
|
# This is useful is cases where your monitoring starts checking something
|
25
25
|
# before it is completely provisioned
|
26
26
|
# Value parsed by https://github.com/hpoydar/chronic_duration
|
27
|
-
# You can disable this setting by specifying 0 seconds.
|
27
|
+
# You can disable this setting by specifying "0 seconds".
|
28
28
|
new_check_scheduled_maintenance_duration: 100 years
|
29
29
|
new_check_scheduled_maintenance_ignore_tags:
|
30
30
|
- bypass_ncsm
|
@@ -236,7 +236,7 @@ development:
|
|
236
236
|
# This is useful is cases where your monitoring starts checking something
|
237
237
|
# before it is completely provisioned
|
238
238
|
# Value parsed by https://github.com/hpoydar/chronic_duration
|
239
|
-
# You can disable this setting by specifying 0 seconds.
|
239
|
+
# You can disable this setting by specifying "0 seconds".
|
240
240
|
new_check_scheduled_maintenance_duration: 100 years
|
241
241
|
new_check_scheduled_maintenance_ignore_tags:
|
242
242
|
- bypass_ncsm
|
@@ -19,7 +19,7 @@ def drain_notifications
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def submit_event(event)
|
22
|
-
@redis.rpush
|
22
|
+
@redis.rpush('events', Flapjack.dump_json(event))
|
23
23
|
end
|
24
24
|
|
25
25
|
def set_scheduled_maintenance(entity, check, duration)
|
@@ -300,7 +300,7 @@ Then /^dump notification rules for user (\S+)$/ do |contact|
|
|
300
300
|
puts "There #{(rule_ids.length == 1) ? 'is' : 'are'} #{rule_ids.length} notification rule#{(rule_ids.length == 1) ? '' : 's'} for user #{contact}:"
|
301
301
|
rule_ids.each {|rule_id|
|
302
302
|
rule = Flapjack::Data::NotificationRule.find_by_id(rule_id, :redis => @redis)
|
303
|
-
puts rule
|
303
|
+
puts Flapjack.dump_json(rule)
|
304
304
|
}
|
305
305
|
end
|
306
306
|
|
data/features/support/env.rb
CHANGED
@@ -15,7 +15,6 @@ if ENV['COVERAGE']
|
|
15
15
|
add_filter '/features/'
|
16
16
|
end
|
17
17
|
SimpleCov.at_exit do
|
18
|
-
Oj.default_options = { :mode => :compat }
|
19
18
|
SimpleCov.result.format!
|
20
19
|
end
|
21
20
|
end
|
@@ -34,11 +33,7 @@ require 'pathname'
|
|
34
33
|
require 'webmock/cucumber'
|
35
34
|
WebMock.disable_net_connect!
|
36
35
|
|
37
|
-
require '
|
38
|
-
Oj.mimic_JSON
|
39
|
-
Oj.default_options = { :indent => 0, :mode => :strict }
|
40
|
-
require 'active_support/json'
|
41
|
-
|
36
|
+
require 'flapjack'
|
42
37
|
require 'flapjack/notifier'
|
43
38
|
require 'flapjack/processor'
|
44
39
|
require 'flapjack/patches'
|
data/lib/flapjack/cli/import.rb
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require 'oj'
|
4
|
-
Oj.default_options = { :indent => 0, :mode => :strict }
|
5
|
-
|
6
3
|
require 'redis'
|
7
4
|
|
8
5
|
require 'flapjack/configuration'
|
@@ -32,7 +29,7 @@ module Flapjack
|
|
32
29
|
# {'contacts' => [CONTACT_HASH, ...]}
|
33
30
|
|
34
31
|
def contacts
|
35
|
-
conts =
|
32
|
+
conts = Flapjack.load_json(File.new(@options[:from]))
|
36
33
|
|
37
34
|
if conts && conts.is_a?(Enumerable) && conts.any? {|e| !e['id'].nil?}
|
38
35
|
conts.each do |contact|
|
@@ -47,7 +44,7 @@ module Flapjack
|
|
47
44
|
end
|
48
45
|
|
49
46
|
def entities
|
50
|
-
ents =
|
47
|
+
ents = Flapjack.load_json(File.new(@options[:from]))
|
51
48
|
|
52
49
|
if ents && ents.is_a?(Enumerable) && ents.any? {|e| !e['id'].nil?}
|
53
50
|
ents.each do |entity|
|
data/lib/flapjack/cli/purge.rb
CHANGED
@@ -35,10 +35,10 @@ module Flapjack
|
|
35
35
|
else
|
36
36
|
Flapjack::Data::EntityCheck.all(:redis => redis, :create_entity => true)
|
37
37
|
end
|
38
|
-
purged = checks.
|
39
|
-
|
40
|
-
|
41
|
-
end
|
38
|
+
purged = checks.inject([]) do |memo, check|
|
39
|
+
pu = check.purge_history(options)
|
40
|
+
memo << pu unless pu == 0
|
41
|
+
end
|
42
42
|
|
43
43
|
if purged.empty?
|
44
44
|
puts "Nothing to do"
|