kennel 1.76.3 → 1.77.0
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.
- checksums.yaml +4 -4
- data/Readme.md +1 -0
- data/lib/kennel/models/monitor.rb +11 -7
- data/lib/kennel/syncer.rb +2 -2
- data/lib/kennel/version.rb +1 -1
- data/template/Readme.md +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e6ac506da0670019c4f9bfeedda08ff728a0522b86a4e65356ef75b806ac1a33
|
|
4
|
+
data.tar.gz: e19bca2c80a775ba5a28a480b7b265246c0aa00699eec87147ef9d1b7725b603
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c29f4797475eb5f83eb7d3b5a35af710267eff90263764e0611f6d2bb52b75d3af34c3fdc7423e0945b2c0741c94bed3480152a17ef73b301877592d93c138c4
|
|
7
|
+
data.tar.gz: bbe104daf2fc7962fa95d94ce6b44b098ddd40461354717d99c0483f5672659a71ebaeaecaad32a28406161b8cd6ff726deefbf6986063b36e7eeb6e0edd60e5
|
data/Readme.md
CHANGED
|
@@ -210,6 +210,7 @@ To link to existing monitors via their kennel_id `projects kennel_id` + `:` + `m
|
|
|
210
210
|
- Screens `uptime` widgets can use `monitor: {id: "foo:bar"}`
|
|
211
211
|
- Screens `alert_graph` widgets can use `alert_id: "foo:bar"`
|
|
212
212
|
- Monitors `composite` can use `query: -> { "%{foo:bar} || %{foo:baz}" }`
|
|
213
|
+
- Slos can use `monitor_ids: -> ["foo:bar"]`
|
|
213
214
|
|
|
214
215
|
### Debugging changes locally
|
|
215
216
|
|
|
@@ -192,7 +192,7 @@ module Kennel
|
|
|
192
192
|
end
|
|
193
193
|
|
|
194
194
|
if type == "query alert"
|
|
195
|
-
# verify interval is
|
|
195
|
+
# verify interval is valid
|
|
196
196
|
interval = data.fetch(:query)[/\(last_(\S+?)\)/, 1]
|
|
197
197
|
if interval && !QUERY_INTERVALS.include?(interval)
|
|
198
198
|
invalid! "query interval was #{interval}, but must be one of #{QUERY_INTERVALS.join(", ")}"
|
|
@@ -200,13 +200,17 @@ module Kennel
|
|
|
200
200
|
end
|
|
201
201
|
|
|
202
202
|
if ["query alert", "service check"].include?(type) # TODO: most likely more types need this
|
|
203
|
-
# verify is_match uses available variables
|
|
203
|
+
# verify is_match/is_exact_match uses available variables
|
|
204
204
|
message = data.fetch(:message)
|
|
205
|
-
used = message.scan(/{{\s
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
205
|
+
used = message.scan(/{{\s*([#^]is(?:_exact)?_match)\s*([^\s}]+)/)
|
|
206
|
+
if used.any?
|
|
207
|
+
allowed = data.fetch(:query)[/by\s*[({]([^})]+)[})]/, 1]
|
|
208
|
+
.to_s.gsub(/["']/, "").split(/\s*,\s*/)
|
|
209
|
+
.map! { |w| %("#{w}.name") }
|
|
210
|
+
used.uniq.each do |match, group|
|
|
211
|
+
next if allowed.include?(group)
|
|
212
|
+
invalid! "#{match} used with #{group}, but can only be used with #{allowed.join(", ")}. Add more groupings or fix the #{match}"
|
|
213
|
+
end
|
|
210
214
|
end
|
|
211
215
|
end
|
|
212
216
|
end
|
data/lib/kennel/syncer.rb
CHANGED
|
@@ -38,7 +38,7 @@ module Kennel
|
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
def update
|
|
41
|
-
changed = (@create + @update).map { |_, e| e }
|
|
41
|
+
changed = (@create + @update).map { |_, e| e }
|
|
42
42
|
|
|
43
43
|
@create.each do |_, e|
|
|
44
44
|
e.resolve_linked_tracking_ids!({}, force: true)
|
|
@@ -188,7 +188,7 @@ module Kennel
|
|
|
188
188
|
end
|
|
189
189
|
|
|
190
190
|
# Do not add tracking-id when working with existing ids on a branch,
|
|
191
|
-
# so resource do not get deleted
|
|
191
|
+
# so resource do not get deleted from running an update on master (for example merge->CI).
|
|
192
192
|
# Also make sure the diff still makes sense, by kicking out the now noop-update.
|
|
193
193
|
#
|
|
194
194
|
# Note: ideally we'd never add tracking in the first place, but at that point we do not know the diff yet
|
data/lib/kennel/version.rb
CHANGED
data/template/Readme.md
CHANGED
|
@@ -192,6 +192,7 @@ To link to existing monitors via their kennel_id `projects kennel_id` + `:` + `m
|
|
|
192
192
|
- Screens `uptime` widgets can use `monitor: {id: "foo:bar"}`
|
|
193
193
|
- Screens `alert_graph` widgets can use `alert_id: "foo:bar"`
|
|
194
194
|
- Monitors `composite` can use `query: -> { "%{foo:bar} || %{foo:baz}" }`
|
|
195
|
+
- Slos can use `monitor_ids: -> ["foo:bar"]`
|
|
195
196
|
|
|
196
197
|
### Debugging changes locally
|
|
197
198
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kennel
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.77.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michael Grosser
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-09
|
|
11
|
+
date: 2020-10-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|