flapjack 0.9.3 → 0.9.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +0 -2
- data/.ruby-version +1 -0
- data/CHANGELOG.md +5 -0
- data/lib/flapjack/data/entity_check.rb +22 -5
- data/lib/flapjack/gateways/api/contact_methods.rb +3 -1
- data/lib/flapjack/gateways/pagerduty.rb +1 -1
- data/lib/flapjack/version.rb +1 -1
- data/spec/lib/flapjack/data/entity_check_spec.rb +5 -1
- data/spec/lib/flapjack/gateways/api/contact_methods_spec.rb +23 -0
- metadata +108 -55
- checksums.yaml +0 -7
data/.gitignore
CHANGED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.9.3-p125
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
## Flapjack Changelog
|
2
2
|
|
3
|
+
# 0.9.4 - 2014-09-21
|
4
|
+
- Bug: crash in pagerduty gateway when failing entities have no id #593 (@jessereynolds)
|
5
|
+
- Bug: bugfix for updating rule data without contact_ids (no-issue) (@ali-graham)
|
6
|
+
- Bug: set key expiry properly for scheduled maintenance spanning current time #634 (@ali-graham)
|
7
|
+
|
3
8
|
# 0.9.3 - 2014-07-28
|
4
9
|
- Bug: fix outage reports in jsonapi c8e09f7 (@ali-graham)
|
5
10
|
- Bug: fix maintenance reports in jsonapi 234ce48 (@ali-graham)
|
@@ -30,10 +30,23 @@ module Flapjack
|
|
30
30
|
def self.for_event_id(event_id, options = {})
|
31
31
|
raise "Redis connection not set" unless redis = options[:redis]
|
32
32
|
entity_name, check_name = event_id.split(':', 2)
|
33
|
-
create_entity = options[:create_entity]
|
34
33
|
logger = options[:logger]
|
34
|
+
if logger
|
35
|
+
logger.debug("Flapjack::Data::EntityCheck#self.for_event_id called for event_id: #{event_id}")
|
36
|
+
logger.debug("Flapjack::Data::EntityCheck#self.for_event_id found entity_name: #{entity_name}, check_name: #{check_name}")
|
37
|
+
end
|
38
|
+
create_entity = options[:create_entity]
|
35
39
|
entity = Flapjack::Data::Entity.find_by_name(entity_name,
|
36
40
|
:create => create_entity, :logger => logger, :redis => redis)
|
41
|
+
if logger
|
42
|
+
logger.debug("Flapjack::Data::EntityCheck#self.for_event_id found entity by name(#{entity_name}): #{entity.inspect}")
|
43
|
+
end
|
44
|
+
unless entity
|
45
|
+
if logger
|
46
|
+
logger.error("entity can't be instantiated for #{entity_name}!")
|
47
|
+
end
|
48
|
+
return nil
|
49
|
+
end
|
37
50
|
self.new(entity, check_name, :logger => logger, :redis => redis)
|
38
51
|
end
|
39
52
|
|
@@ -114,12 +127,13 @@ module Flapjack
|
|
114
127
|
|
115
128
|
def self.unacknowledged_failing(options = {})
|
116
129
|
raise "Redis connection not set" unless redis = options[:redis]
|
130
|
+
logger = options[:logger]
|
117
131
|
|
118
132
|
redis.zrange('failed_checks', '0', '-1').reject {|entity_check|
|
119
133
|
redis.exists(entity_check + ':unscheduled_maintenance')
|
120
134
|
}.collect {|entity_check|
|
121
|
-
Flapjack::Data::EntityCheck.for_event_id(entity_check, :redis => redis)
|
122
|
-
}
|
135
|
+
Flapjack::Data::EntityCheck.for_event_id(entity_check, :redis => redis, :logger => logger)
|
136
|
+
}.compact
|
123
137
|
end
|
124
138
|
|
125
139
|
def self.conflate_to_keys(entity_checks_hash)
|
@@ -315,8 +329,11 @@ module Flapjack
|
|
315
329
|
# if multiple scheduled maintenances found, find the end_time furthest in the future
|
316
330
|
most_futuristic = current_sched_ms.max {|sm| sm[:end_time] }
|
317
331
|
start_time = most_futuristic[:start_time]
|
318
|
-
|
319
|
-
|
332
|
+
|
333
|
+
duration = most_futuristic[:end_time] - current_time
|
334
|
+
if duration > 0
|
335
|
+
@redis.setex("#{@key}:scheduled_maintenance", duration.to_i, start_time)
|
336
|
+
end
|
320
337
|
end
|
321
338
|
|
322
339
|
# TODO allow summary to be changed as part of the termination
|
@@ -165,7 +165,9 @@ module Flapjack
|
|
165
165
|
logger.debug(params.inspect)
|
166
166
|
|
167
167
|
rule = find_rule(params[:id])
|
168
|
-
|
168
|
+
|
169
|
+
# previous bug may have led to rule's contact_id being wiped :(
|
170
|
+
contact = find_contact(rule.contact_id || params[:contact_id])
|
169
171
|
|
170
172
|
rule_data = hashify(:entities, :regex_entities, :tags, :regex_tags,
|
171
173
|
:unknown_media, :warning_media, :critical_media, :time_restrictions,
|
@@ -178,7 +178,7 @@ module Flapjack
|
|
178
178
|
def find_pagerduty_acknowledgements
|
179
179
|
@logger.debug("looking for acks in pagerduty for unack'd problems")
|
180
180
|
|
181
|
-
unacknowledged_failing_checks = Flapjack::Data::EntityCheck.unacknowledged_failing(:redis => @redis)
|
181
|
+
unacknowledged_failing_checks = Flapjack::Data::EntityCheck.unacknowledged_failing(:redis => @redis, :logger => @logger)
|
182
182
|
|
183
183
|
@logger.debug "found unacknowledged failing checks as follows: " + unacknowledged_failing_checks.join(', ')
|
184
184
|
|
data/lib/flapjack/version.rb
CHANGED
@@ -233,7 +233,6 @@ describe Flapjack::Data::EntityCheck, :redis => true do
|
|
233
233
|
expect(duration).to eq(half_an_hour)
|
234
234
|
end
|
235
235
|
|
236
|
-
# TODO this should probably enforce that it starts in the future
|
237
236
|
it "creates a scheduled maintenance period covering the current time" do
|
238
237
|
t = Time.now.to_i
|
239
238
|
ec = Flapjack::Data::EntityCheck.for_entity_name(name, check, :redis => @redis)
|
@@ -255,6 +254,11 @@ describe Flapjack::Data::EntityCheck, :redis => true do
|
|
255
254
|
expect(duration).not_to be_nil
|
256
255
|
expect(duration).to be_a(Float)
|
257
256
|
expect(duration).to eq(2 * (60 * 60))
|
257
|
+
|
258
|
+
ttl = @redis.ttl("#{name}:#{check}:scheduled_maintenance")
|
259
|
+
expect(ttl).to be_within(20).of(60 * 60) # 20-second margin of error,
|
260
|
+
# should be large enough for a slow machine running the test -- duration
|
261
|
+
# is considered to start at the begininng of the period
|
258
262
|
end
|
259
263
|
|
260
264
|
it "removes a scheduled maintenance period for a future time" do
|
@@ -318,6 +318,29 @@ describe 'Flapjack::Gateways::API::ContactMethods', :sinatra => true, :logger =>
|
|
318
318
|
expect(last_response).to be_forbidden
|
319
319
|
end
|
320
320
|
|
321
|
+
it 'uses the contact_id param if the rule being updated lacks that data' do
|
322
|
+
nr_nil = double(Flapjack::Data::NotificationRule, :id => '1', :contact_id => nil)
|
323
|
+
|
324
|
+
expect(Flapjack::Data::Contact).to receive(:find_by_id).
|
325
|
+
with(contact.id, {:redis => redis, :logger => @logger}).and_return(contact)
|
326
|
+
expect(nr_nil).to receive(:to_json).and_return('"rule_1"')
|
327
|
+
expect(Flapjack::Data::NotificationRule).to receive(:find_by_id).
|
328
|
+
with(nr_nil.id, {:redis => redis, :logger => @logger}).and_return(nr_nil)
|
329
|
+
|
330
|
+
# symbolize the keys
|
331
|
+
notification_rule_data_sym = notification_rule_data.inject({}){|memo,(k,v)|
|
332
|
+
memo[k.to_sym] = v; memo
|
333
|
+
}
|
334
|
+
notification_rule_data_sym.delete(:contact_id)
|
335
|
+
|
336
|
+
expect(nr_nil).to receive(:update).with(notification_rule_data_sym, :logger => @logger).and_return(nil)
|
337
|
+
|
338
|
+
aput "/notification_rules/#{nr_nil.id}", notification_rule_data.to_json,
|
339
|
+
{'CONTENT_TYPE' => 'application/json'}
|
340
|
+
expect(last_response).to be_ok
|
341
|
+
expect(last_response.body).to eq('"rule_1"')
|
342
|
+
end
|
343
|
+
|
321
344
|
# DELETE /notification_rules/RULE_ID
|
322
345
|
it "deletes a notification rule" do
|
323
346
|
expect(notification_rule).to receive(:contact_id).and_return(contact.id)
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flapjack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.4
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Lindsay Holmwood
|
@@ -10,314 +11,358 @@ authors:
|
|
10
11
|
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain: []
|
13
|
-
date: 2014-
|
14
|
+
date: 2014-09-22 00:00:00.000000000 Z
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
16
17
|
name: dante
|
17
18
|
requirement: !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
18
20
|
requirements:
|
19
|
-
- -
|
21
|
+
- - ! '>='
|
20
22
|
- !ruby/object:Gem::Version
|
21
23
|
version: '0'
|
22
24
|
type: :runtime
|
23
25
|
prerelease: false
|
24
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
25
28
|
requirements:
|
26
|
-
- -
|
29
|
+
- - ! '>='
|
27
30
|
- !ruby/object:Gem::Version
|
28
31
|
version: '0'
|
29
32
|
- !ruby/object:Gem::Dependency
|
30
33
|
name: oj
|
31
34
|
requirement: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
32
36
|
requirements:
|
33
|
-
- -
|
37
|
+
- - ! '>='
|
34
38
|
- !ruby/object:Gem::Version
|
35
39
|
version: 2.9.0
|
36
40
|
type: :runtime
|
37
41
|
prerelease: false
|
38
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
39
44
|
requirements:
|
40
|
-
- -
|
45
|
+
- - ! '>='
|
41
46
|
- !ruby/object:Gem::Version
|
42
47
|
version: 2.9.0
|
43
48
|
- !ruby/object:Gem::Dependency
|
44
49
|
name: eventmachine
|
45
50
|
requirement: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
46
52
|
requirements:
|
47
|
-
- -
|
53
|
+
- - ~>
|
48
54
|
- !ruby/object:Gem::Version
|
49
55
|
version: 1.0.0
|
50
56
|
type: :runtime
|
51
57
|
prerelease: false
|
52
58
|
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
53
60
|
requirements:
|
54
|
-
- -
|
61
|
+
- - ~>
|
55
62
|
- !ruby/object:Gem::Version
|
56
63
|
version: 1.0.0
|
57
64
|
- !ruby/object:Gem::Dependency
|
58
65
|
name: hiredis
|
59
66
|
requirement: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
60
68
|
requirements:
|
61
|
-
- -
|
69
|
+
- - ! '>='
|
62
70
|
- !ruby/object:Gem::Version
|
63
71
|
version: '0'
|
64
72
|
type: :runtime
|
65
73
|
prerelease: false
|
66
74
|
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
67
76
|
requirements:
|
68
|
-
- -
|
77
|
+
- - ! '>='
|
69
78
|
- !ruby/object:Gem::Version
|
70
79
|
version: '0'
|
71
80
|
- !ruby/object:Gem::Dependency
|
72
81
|
name: em-synchrony
|
73
82
|
requirement: !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
74
84
|
requirements:
|
75
|
-
- -
|
85
|
+
- - ~>
|
76
86
|
- !ruby/object:Gem::Version
|
77
87
|
version: 1.0.2
|
78
88
|
type: :runtime
|
79
89
|
prerelease: false
|
80
90
|
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
81
92
|
requirements:
|
82
|
-
- -
|
93
|
+
- - ~>
|
83
94
|
- !ruby/object:Gem::Version
|
84
95
|
version: 1.0.2
|
85
96
|
- !ruby/object:Gem::Dependency
|
86
97
|
name: em-http-request
|
87
98
|
requirement: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
88
100
|
requirements:
|
89
|
-
- -
|
101
|
+
- - ! '>='
|
90
102
|
- !ruby/object:Gem::Version
|
91
103
|
version: '0'
|
92
104
|
type: :runtime
|
93
105
|
prerelease: false
|
94
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
95
108
|
requirements:
|
96
|
-
- -
|
109
|
+
- - ! '>='
|
97
110
|
- !ruby/object:Gem::Version
|
98
111
|
version: '0'
|
99
112
|
- !ruby/object:Gem::Dependency
|
100
113
|
name: redis
|
101
114
|
requirement: !ruby/object:Gem::Requirement
|
115
|
+
none: false
|
102
116
|
requirements:
|
103
|
-
- -
|
117
|
+
- - ~>
|
104
118
|
- !ruby/object:Gem::Version
|
105
119
|
version: 3.0.6
|
106
120
|
type: :runtime
|
107
121
|
prerelease: false
|
108
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
109
124
|
requirements:
|
110
|
-
- -
|
125
|
+
- - ~>
|
111
126
|
- !ruby/object:Gem::Version
|
112
127
|
version: 3.0.6
|
113
128
|
- !ruby/object:Gem::Dependency
|
114
129
|
name: em-resque
|
115
130
|
requirement: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
116
132
|
requirements:
|
117
|
-
- -
|
133
|
+
- - ! '>='
|
118
134
|
- !ruby/object:Gem::Version
|
119
135
|
version: '0'
|
120
136
|
type: :runtime
|
121
137
|
prerelease: false
|
122
138
|
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
123
140
|
requirements:
|
124
|
-
- -
|
141
|
+
- - ! '>='
|
125
142
|
- !ruby/object:Gem::Version
|
126
143
|
version: '0'
|
127
144
|
- !ruby/object:Gem::Dependency
|
128
145
|
name: resque
|
129
146
|
requirement: !ruby/object:Gem::Requirement
|
147
|
+
none: false
|
130
148
|
requirements:
|
131
|
-
- -
|
149
|
+
- - ~>
|
132
150
|
- !ruby/object:Gem::Version
|
133
151
|
version: 1.23.0
|
134
152
|
type: :runtime
|
135
153
|
prerelease: false
|
136
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
none: false
|
137
156
|
requirements:
|
138
|
-
- -
|
157
|
+
- - ~>
|
139
158
|
- !ruby/object:Gem::Version
|
140
159
|
version: 1.23.0
|
141
160
|
- !ruby/object:Gem::Dependency
|
142
161
|
name: sinatra
|
143
162
|
requirement: !ruby/object:Gem::Requirement
|
163
|
+
none: false
|
144
164
|
requirements:
|
145
|
-
- -
|
165
|
+
- - ! '>='
|
146
166
|
- !ruby/object:Gem::Version
|
147
167
|
version: '0'
|
148
168
|
type: :runtime
|
149
169
|
prerelease: false
|
150
170
|
version_requirements: !ruby/object:Gem::Requirement
|
171
|
+
none: false
|
151
172
|
requirements:
|
152
|
-
- -
|
173
|
+
- - ! '>='
|
153
174
|
- !ruby/object:Gem::Version
|
154
175
|
version: '0'
|
155
176
|
- !ruby/object:Gem::Dependency
|
156
177
|
name: rack-fiber_pool
|
157
178
|
requirement: !ruby/object:Gem::Requirement
|
179
|
+
none: false
|
158
180
|
requirements:
|
159
|
-
- -
|
181
|
+
- - ! '>='
|
160
182
|
- !ruby/object:Gem::Version
|
161
183
|
version: '0'
|
162
184
|
type: :runtime
|
163
185
|
prerelease: false
|
164
186
|
version_requirements: !ruby/object:Gem::Requirement
|
187
|
+
none: false
|
165
188
|
requirements:
|
166
|
-
- -
|
189
|
+
- - ! '>='
|
167
190
|
- !ruby/object:Gem::Version
|
168
191
|
version: '0'
|
169
192
|
- !ruby/object:Gem::Dependency
|
170
193
|
name: thin
|
171
194
|
requirement: !ruby/object:Gem::Requirement
|
195
|
+
none: false
|
172
196
|
requirements:
|
173
|
-
- -
|
197
|
+
- - ~>
|
174
198
|
- !ruby/object:Gem::Version
|
175
199
|
version: 1.6.1
|
176
200
|
type: :runtime
|
177
201
|
prerelease: false
|
178
202
|
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
none: false
|
179
204
|
requirements:
|
180
|
-
- -
|
205
|
+
- - ~>
|
181
206
|
- !ruby/object:Gem::Version
|
182
207
|
version: 1.6.1
|
183
208
|
- !ruby/object:Gem::Dependency
|
184
209
|
name: mail
|
185
210
|
requirement: !ruby/object:Gem::Requirement
|
211
|
+
none: false
|
186
212
|
requirements:
|
187
|
-
- -
|
213
|
+
- - ! '>='
|
188
214
|
- !ruby/object:Gem::Version
|
189
215
|
version: '0'
|
190
216
|
type: :runtime
|
191
217
|
prerelease: false
|
192
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
none: false
|
193
220
|
requirements:
|
194
|
-
- -
|
221
|
+
- - ! '>='
|
195
222
|
- !ruby/object:Gem::Version
|
196
223
|
version: '0'
|
197
224
|
- !ruby/object:Gem::Dependency
|
198
225
|
name: blather
|
199
226
|
requirement: !ruby/object:Gem::Requirement
|
227
|
+
none: false
|
200
228
|
requirements:
|
201
|
-
- -
|
229
|
+
- - ~>
|
202
230
|
- !ruby/object:Gem::Version
|
203
231
|
version: 0.8.3
|
204
232
|
type: :runtime
|
205
233
|
prerelease: false
|
206
234
|
version_requirements: !ruby/object:Gem::Requirement
|
235
|
+
none: false
|
207
236
|
requirements:
|
208
|
-
- -
|
237
|
+
- - ~>
|
209
238
|
- !ruby/object:Gem::Version
|
210
239
|
version: 0.8.3
|
211
240
|
- !ruby/object:Gem::Dependency
|
212
241
|
name: chronic
|
213
242
|
requirement: !ruby/object:Gem::Requirement
|
243
|
+
none: false
|
214
244
|
requirements:
|
215
|
-
- -
|
245
|
+
- - ! '>='
|
216
246
|
- !ruby/object:Gem::Version
|
217
247
|
version: '0'
|
218
248
|
type: :runtime
|
219
249
|
prerelease: false
|
220
250
|
version_requirements: !ruby/object:Gem::Requirement
|
251
|
+
none: false
|
221
252
|
requirements:
|
222
|
-
- -
|
253
|
+
- - ! '>='
|
223
254
|
- !ruby/object:Gem::Version
|
224
255
|
version: '0'
|
225
256
|
- !ruby/object:Gem::Dependency
|
226
257
|
name: chronic_duration
|
227
258
|
requirement: !ruby/object:Gem::Requirement
|
259
|
+
none: false
|
228
260
|
requirements:
|
229
|
-
- -
|
261
|
+
- - ! '>='
|
230
262
|
- !ruby/object:Gem::Version
|
231
263
|
version: '0'
|
232
264
|
type: :runtime
|
233
265
|
prerelease: false
|
234
266
|
version_requirements: !ruby/object:Gem::Requirement
|
267
|
+
none: false
|
235
268
|
requirements:
|
236
|
-
- -
|
269
|
+
- - ! '>='
|
237
270
|
- !ruby/object:Gem::Version
|
238
271
|
version: '0'
|
239
272
|
- !ruby/object:Gem::Dependency
|
240
273
|
name: activesupport
|
241
274
|
requirement: !ruby/object:Gem::Requirement
|
275
|
+
none: false
|
242
276
|
requirements:
|
243
|
-
- -
|
277
|
+
- - ~>
|
244
278
|
- !ruby/object:Gem::Version
|
245
279
|
version: 3.2.14
|
246
280
|
type: :runtime
|
247
281
|
prerelease: false
|
248
282
|
version_requirements: !ruby/object:Gem::Requirement
|
283
|
+
none: false
|
249
284
|
requirements:
|
250
|
-
- -
|
285
|
+
- - ~>
|
251
286
|
- !ruby/object:Gem::Version
|
252
287
|
version: 3.2.14
|
253
288
|
- !ruby/object:Gem::Dependency
|
254
289
|
name: ice_cube
|
255
290
|
requirement: !ruby/object:Gem::Requirement
|
291
|
+
none: false
|
256
292
|
requirements:
|
257
|
-
- -
|
293
|
+
- - ! '>='
|
258
294
|
- !ruby/object:Gem::Version
|
259
295
|
version: '0'
|
260
296
|
type: :runtime
|
261
297
|
prerelease: false
|
262
298
|
version_requirements: !ruby/object:Gem::Requirement
|
299
|
+
none: false
|
263
300
|
requirements:
|
264
|
-
- -
|
301
|
+
- - ! '>='
|
265
302
|
- !ruby/object:Gem::Version
|
266
303
|
version: '0'
|
267
304
|
- !ruby/object:Gem::Dependency
|
268
305
|
name: tzinfo
|
269
306
|
requirement: !ruby/object:Gem::Requirement
|
307
|
+
none: false
|
270
308
|
requirements:
|
271
|
-
- -
|
309
|
+
- - ~>
|
272
310
|
- !ruby/object:Gem::Version
|
273
311
|
version: 1.0.1
|
274
312
|
type: :runtime
|
275
313
|
prerelease: false
|
276
314
|
version_requirements: !ruby/object:Gem::Requirement
|
315
|
+
none: false
|
277
316
|
requirements:
|
278
|
-
- -
|
317
|
+
- - ~>
|
279
318
|
- !ruby/object:Gem::Version
|
280
319
|
version: 1.0.1
|
281
320
|
- !ruby/object:Gem::Dependency
|
282
321
|
name: tzinfo-data
|
283
322
|
requirement: !ruby/object:Gem::Requirement
|
323
|
+
none: false
|
284
324
|
requirements:
|
285
|
-
- -
|
325
|
+
- - ! '>='
|
286
326
|
- !ruby/object:Gem::Version
|
287
327
|
version: '0'
|
288
328
|
type: :runtime
|
289
329
|
prerelease: false
|
290
330
|
version_requirements: !ruby/object:Gem::Requirement
|
331
|
+
none: false
|
291
332
|
requirements:
|
292
|
-
- -
|
333
|
+
- - ! '>='
|
293
334
|
- !ruby/object:Gem::Version
|
294
335
|
version: '0'
|
295
336
|
- !ruby/object:Gem::Dependency
|
296
337
|
name: rbtrace
|
297
338
|
requirement: !ruby/object:Gem::Requirement
|
339
|
+
none: false
|
298
340
|
requirements:
|
299
|
-
- -
|
341
|
+
- - ! '>='
|
300
342
|
- !ruby/object:Gem::Version
|
301
343
|
version: '0'
|
302
344
|
type: :runtime
|
303
345
|
prerelease: false
|
304
346
|
version_requirements: !ruby/object:Gem::Requirement
|
347
|
+
none: false
|
305
348
|
requirements:
|
306
|
-
- -
|
349
|
+
- - ! '>='
|
307
350
|
- !ruby/object:Gem::Version
|
308
351
|
version: '0'
|
309
352
|
- !ruby/object:Gem::Dependency
|
310
353
|
name: rake
|
311
354
|
requirement: !ruby/object:Gem::Requirement
|
355
|
+
none: false
|
312
356
|
requirements:
|
313
|
-
- -
|
357
|
+
- - ! '>='
|
314
358
|
- !ruby/object:Gem::Version
|
315
359
|
version: '0'
|
316
360
|
type: :runtime
|
317
361
|
prerelease: false
|
318
362
|
version_requirements: !ruby/object:Gem::Requirement
|
363
|
+
none: false
|
319
364
|
requirements:
|
320
|
-
- -
|
365
|
+
- - ! '>='
|
321
366
|
- !ruby/object:Gem::Version
|
322
367
|
version: '0'
|
323
368
|
description: Flapjack is a distributed monitoring notification system that provides
|
@@ -336,10 +381,11 @@ executables:
|
|
336
381
|
extensions: []
|
337
382
|
extra_rdoc_files: []
|
338
383
|
files:
|
339
|
-
-
|
340
|
-
-
|
341
|
-
-
|
342
|
-
-
|
384
|
+
- .gitignore
|
385
|
+
- .gitmodules
|
386
|
+
- .rspec
|
387
|
+
- .ruby-version
|
388
|
+
- .travis.yml
|
343
389
|
- CHANGELOG.md
|
344
390
|
- CONTRIBUTING.md
|
345
391
|
- Gemfile
|
@@ -575,26 +621,33 @@ files:
|
|
575
621
|
homepage: http://flapjack.io/
|
576
622
|
licenses:
|
577
623
|
- MIT
|
578
|
-
metadata: {}
|
579
624
|
post_install_message:
|
580
625
|
rdoc_options: []
|
581
626
|
require_paths:
|
582
627
|
- lib
|
583
628
|
required_ruby_version: !ruby/object:Gem::Requirement
|
629
|
+
none: false
|
584
630
|
requirements:
|
585
|
-
- -
|
631
|
+
- - ! '>='
|
586
632
|
- !ruby/object:Gem::Version
|
587
633
|
version: '0'
|
634
|
+
segments:
|
635
|
+
- 0
|
636
|
+
hash: 1556922316348718500
|
588
637
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
638
|
+
none: false
|
589
639
|
requirements:
|
590
|
-
- -
|
640
|
+
- - ! '>='
|
591
641
|
- !ruby/object:Gem::Version
|
592
642
|
version: '0'
|
643
|
+
segments:
|
644
|
+
- 0
|
645
|
+
hash: 1556922316348718500
|
593
646
|
requirements: []
|
594
647
|
rubyforge_project:
|
595
|
-
rubygems_version:
|
648
|
+
rubygems_version: 1.8.23
|
596
649
|
signing_key:
|
597
|
-
specification_version:
|
650
|
+
specification_version: 3
|
598
651
|
summary: Intelligent, scalable, distributed monitoring notification system.
|
599
652
|
test_files:
|
600
653
|
- features/cli.feature
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 0d000bd7c6fe6166ad1c537c91fe4c53ddc85d9b
|
4
|
-
data.tar.gz: 678ebf7c7d42fbe6041d28df1748c8e607674d0a
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: a0b577918c1f294d4c7619e5e97f025cd8b5d9bf7e1b144efdcedfc58f0d05e188a8394cd9b51b334e82cf5ff7a508ff20316a02c26e60b140426b3ef633d804
|
7
|
-
data.tar.gz: 5acab492158136c9a110435c53c07480b8ea390beaea33ae31336b397611e0f576f270940639f9737907dd90e7261f6484a9629681303f111f1e448bf2540f83
|