kennel 1.19.2 → 1.20.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 +4 -0
- data/lib/kennel/models/base.rb +3 -0
- data/lib/kennel/models/screen.rb +10 -0
- data/lib/kennel/syncer.rb +8 -0
- data/lib/kennel/version.rb +1 -1
- data/template/Readme.md +4 -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: 80f76f0bd4a86149f2f04a65927a12c951ee2255907fd115e9b5749e7281665d
|
4
|
+
data.tar.gz: 8fb1fc45590b59fb8eaa4e46e93a0c4688897f27cb3e5f95a2167c53a99c07c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 996c2a1b250f5a4f1c62122efa8c61abd6e2bfb08c1aecbccda32c412583dcc942a158eebe2ea0922e7626266e09e663eb6f3c3fbaa0612f22cb494ff56cda39
|
7
|
+
data.tar.gz: 5721558473ac63402c89e963f2a2dce6498f8f9c650daf1db9e15820a37ad58611b756edee04f8af05e270fc4ed51cd93fbf3884184e2c7924b0da725eb9725f
|
data/Readme.md
CHANGED
@@ -175,6 +175,10 @@ Put returned definition into a project of your choice.
|
|
175
175
|
Some validations might be too strict for your usecase or just wrong, please [open an issue](https://github.com/grosser/kennel/issues) and
|
176
176
|
to unblock use the `validate: -> { false }` option.
|
177
177
|
|
178
|
+
### Linking with kennel_ids
|
179
|
+
|
180
|
+
Screens `uptime` widgets can use `monitor: {id: "foo:bar"}` to link to existing monitors via their kennel_id
|
181
|
+
|
178
182
|
### Debugging locally
|
179
183
|
|
180
184
|
- make sure to be on update `master` to not undo other changes
|
data/lib/kennel/models/base.rb
CHANGED
@@ -131,6 +131,9 @@ module Kennel
|
|
131
131
|
raise NotImplementedError, "Use as_json"
|
132
132
|
end
|
133
133
|
|
134
|
+
def resolve_linked_tracking_ids(*)
|
135
|
+
end
|
136
|
+
|
134
137
|
private
|
135
138
|
|
136
139
|
# let users know which project/resource failed when something happens during diffing where the backtrace is hidden
|
data/lib/kennel/models/screen.rb
CHANGED
@@ -84,6 +84,16 @@ module Kennel
|
|
84
84
|
Utils.path_to_url "/screen/#{id}"
|
85
85
|
end
|
86
86
|
|
87
|
+
def resolve_linked_tracking_ids(id_map)
|
88
|
+
uptime_widgets = as_json[:widgets].select { |w| w[:type] == "uptime" && w.dig(:monitor, :id).is_a?(String) }
|
89
|
+
uptime_widgets.each do |uptime_widget|
|
90
|
+
tracking = uptime_widget[:monitor][:id]
|
91
|
+
uptime_widget[:monitor][:id] =
|
92
|
+
id_map[tracking] ||
|
93
|
+
warn("Unable to find #{tracking} in existing monitors (they need to be created first to link them)")
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
87
97
|
private
|
88
98
|
|
89
99
|
def validate_json(data)
|
data/lib/kennel/syncer.rb
CHANGED
@@ -56,8 +56,11 @@ module Kennel
|
|
56
56
|
def calculate_diff
|
57
57
|
@update = []
|
58
58
|
@delete = []
|
59
|
+
|
59
60
|
actual = Progress.progress("Downloading definitions") { download_definitions }
|
60
61
|
|
62
|
+
resolve_linked_tracking_ids actual
|
63
|
+
|
61
64
|
Progress.progress "Diffing" do
|
62
65
|
filter_by_project! actual
|
63
66
|
|
@@ -177,6 +180,11 @@ module Kennel
|
|
177
180
|
TEXT
|
178
181
|
end
|
179
182
|
|
183
|
+
def resolve_linked_tracking_ids(actual)
|
184
|
+
map = actual.each_with_object({}) { |a, lookup| lookup[tracking_id(a)] = a.fetch(:id) }
|
185
|
+
@expected.each { |e| e.resolve_linked_tracking_ids(map) }
|
186
|
+
end
|
187
|
+
|
180
188
|
def filter_by_project!(definitions)
|
181
189
|
return unless @project_filter
|
182
190
|
definitions.select! do |a|
|
data/lib/kennel/version.rb
CHANGED
data/template/Readme.md
CHANGED
@@ -157,6 +157,10 @@ Put returned definition into a project of your choice.
|
|
157
157
|
Some validations might be too strict for your usecase or just wrong, please [open an issue](https://github.com/grosser/kennel/issues) and
|
158
158
|
to unblock use the `validate: -> { false }` option.
|
159
159
|
|
160
|
+
### Linking with kennel_ids
|
161
|
+
|
162
|
+
Screens `uptime` widgets can use `monitor: {id: "foo:bar"}` to link to existing monitors via their kennel_id
|
163
|
+
|
160
164
|
### Debugging locally
|
161
165
|
|
162
166
|
- make sure to be on update `master` to not undo other changes
|
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.20.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: 2018-10-
|
11
|
+
date: 2018-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|