kennel 1.107.1 → 1.109.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kennel/models/base.rb +12 -5
- data/lib/kennel/models/monitor.rb +8 -0
- data/lib/kennel/tasks.rb +10 -2
- data/lib/kennel/version.rb +1 -1
- 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: ffd1a9a74e7d2ac535e24fdb6f4fef30fad6c6e61e61ae7b73b17821510c0a2e
|
4
|
+
data.tar.gz: 761b0cd94a3a4ec951302e9aa7b7a9d806330cfe7ba6adc0b83571b332f4eea9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db853fd8eb79eeeb29556fb132bdd03e2042e955848b4d3b466c140a06b61e61522b2656437da4488c50428da9b8e37cd3cd172a33d12b956ba98a85a71392da
|
7
|
+
data.tar.gz: a240420d91cfe30d250d1e7ef3462a34f7845825dd3bcbfe9eabd511ac231b882e285668c6553c0835afa710777016b7379fe143b771cf145524383191101b31
|
data/lib/kennel/models/base.rb
CHANGED
@@ -10,11 +10,7 @@ module Kennel
|
|
10
10
|
SETTING_OVERRIDABLE_METHODS = [:name, :kennel_id].freeze
|
11
11
|
|
12
12
|
def kennel_id
|
13
|
-
|
14
|
-
if name.start_with?("Kennel::") # core objects would always generate the same id
|
15
|
-
raise_with_location ArgumentError, "Set :kennel_id"
|
16
|
-
end
|
17
|
-
@kennel_id ||= Utils.snake_case name
|
13
|
+
@kennel_id ||= Utils.snake_case kennel_id_base
|
18
14
|
end
|
19
15
|
|
20
16
|
def name
|
@@ -24,6 +20,17 @@ module Kennel
|
|
24
20
|
def to_json # rubocop:disable Lint/ToJSON
|
25
21
|
raise NotImplementedError, "Use as_json"
|
26
22
|
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
# hook to allow overwriting id generation to remove custom module scopes
|
27
|
+
def kennel_id_base
|
28
|
+
name = self.class.name
|
29
|
+
if name.start_with?("Kennel::") # core objects would always generate the same id
|
30
|
+
raise_with_location ArgumentError, "Set :kennel_id"
|
31
|
+
end
|
32
|
+
name
|
33
|
+
end
|
27
34
|
end
|
28
35
|
end
|
29
36
|
end
|
@@ -111,6 +111,14 @@ module Kennel
|
|
111
111
|
# Datadog requires only either new_group_delay or new_host_delay, never both
|
112
112
|
options.delete(options[:new_group_delay] ? :new_host_delay : :new_group_delay)
|
113
113
|
|
114
|
+
# Add in statuses where we would re notify on. Possible values: alert, no data, warn
|
115
|
+
if options[:renotify_interval] != 0
|
116
|
+
statuses = ["alert"]
|
117
|
+
statuses << "no data" if options[:notify_no_data]
|
118
|
+
statuses << "warn" if options.dig(:thresholds, :warning)
|
119
|
+
options[:renotify_statuses] = statuses
|
120
|
+
end
|
121
|
+
|
114
122
|
validate_json(data) if validate
|
115
123
|
|
116
124
|
@as_json = data
|
data/lib/kennel/tasks.rb
CHANGED
@@ -165,7 +165,9 @@ namespace :kennel do
|
|
165
165
|
end
|
166
166
|
api = Kennel.send(:api)
|
167
167
|
list = nil
|
168
|
+
first = true
|
168
169
|
|
170
|
+
Kennel.out.puts "["
|
169
171
|
resources.each do |resource|
|
170
172
|
Kennel::Progress.progress("Downloading #{resource}") do
|
171
173
|
list = api.list(resource)
|
@@ -173,16 +175,22 @@ namespace :kennel do
|
|
173
175
|
end
|
174
176
|
list.each do |r|
|
175
177
|
r[:api_resource] = resource
|
176
|
-
|
178
|
+
if first
|
179
|
+
first = false
|
180
|
+
else
|
181
|
+
Kennel.out.puts ","
|
182
|
+
end
|
183
|
+
Kennel.out.print JSON.pretty_generate(r)
|
177
184
|
end
|
178
185
|
end
|
186
|
+
Kennel.out.puts "\n]"
|
179
187
|
end
|
180
188
|
|
181
189
|
desc "Find items from dump by pattern DUMP= PATTERN= [URLS=true]"
|
182
190
|
task dump_grep: :environment do
|
183
191
|
file = ENV.fetch("DUMP")
|
184
192
|
pattern = Regexp.new ENV.fetch("PATTERN")
|
185
|
-
items = File.read(file).gsub("}
|
193
|
+
items = File.read(file)[2..-2].gsub("},\n{", "}--SPLIT--{").split("--SPLIT--")
|
186
194
|
models = Kennel::Models::Record.api_resource_map
|
187
195
|
found = items.grep(pattern)
|
188
196
|
exit 1 if found.empty?
|
data/lib/kennel/version.rb
CHANGED
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.109.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: 2022-04-
|
11
|
+
date: 2022-04-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|