kennel 1.133.1 → 1.135.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/lib/kennel/api.rb +1 -1
- data/lib/kennel/filter.rb +7 -1
- data/lib/kennel/importer.rb +1 -0
- data/lib/kennel/models/monitor.rb +6 -1
- data/lib/kennel/tasks.rb +2 -0
- 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: df9cbe3093fdce8eaea3d1b3e58fd7f715a2c1ed070f6d133e8ef0bd588856e6
|
4
|
+
data.tar.gz: 229af8ec1cccb468c3e5519c4a4292c8889bf0f4386ac5330bd7ec4795b0a608
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70955bc2936c0d055e6f1c9634e4b7797dc29b89faa55c41b3f08d49366251332f16c24a8f54291285a58df464bbca2c969e179def22d2231a96ccad8a24f401
|
7
|
+
data.tar.gz: 180ca60ae26ef56c64b26dd0a04dc8e13b1bd0f0101d1f8d8161cdf0289ccfc3146947ec81addff80172adb5efabcaf8be037b83a1333d41ba8a8c76f007a314
|
data/lib/kennel/api.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# especially 1-off weirdness that should not leak into other parts of the code
|
4
4
|
module Kennel
|
5
5
|
class Api
|
6
|
-
CACHE_FILE = "tmp/cache/details"
|
6
|
+
CACHE_FILE = ENV.fetch("KENNEL_API_CACHE_FILE", "tmp/cache/details")
|
7
7
|
|
8
8
|
def self.tag(api_resource, reply)
|
9
9
|
klass = Models::Record.api_resource_map[api_resource]
|
data/lib/kennel/filter.rb
CHANGED
@@ -45,7 +45,13 @@ module Kennel
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def build_tracking_id_filter
|
48
|
-
(tracking_id = ENV["TRACKING_ID"]) && tracking_id.split(",").sort.uniq
|
48
|
+
(tracking_id = ENV["TRACKING_ID"]) && tracking_id.split(",").map { |id| tracking_id_path_conversion(id) }.sort.uniq
|
49
|
+
end
|
50
|
+
|
51
|
+
# allow users to paste the generated path of an objects to update it without manually converting
|
52
|
+
def tracking_id_path_conversion(tracking_id)
|
53
|
+
return tracking_id unless tracking_id.end_with?(".json")
|
54
|
+
tracking_id.sub("generated/", "").sub(".json", "").sub("/", ":")
|
49
55
|
end
|
50
56
|
|
51
57
|
def filter_resources(resources, by, expected, name, env)
|
data/lib/kennel/importer.rb
CHANGED
@@ -148,6 +148,7 @@ module Kennel
|
|
148
148
|
.gsub(": null", ": nil")
|
149
149
|
.gsub(/(^\s*)"([a-zA-Z][a-zA-Z\d_]*)":/, "\\1\\2:") # "foo": 1 -> foo: 1
|
150
150
|
.gsub(/: \[\n\s+\]/, ": []") # empty arrays on a single line
|
151
|
+
.gsub(/: \{\n\s+\}/, ": {}") # empty hash on a single line
|
151
152
|
.gsub('q: "metadata"', "q: :metadata") # bring symbols back
|
152
153
|
.gsub(/^/, " ") # indent
|
153
154
|
pretty = convert_strings_to_heredoc(pretty)
|
@@ -32,7 +32,7 @@ module Kennel
|
|
32
32
|
settings(
|
33
33
|
:query, :name, :message, :escalation_message, :critical, :type, :renotify_interval, :warning, :timeout_h, :evaluation_delay,
|
34
34
|
:ok, :no_data_timeframe, :notify_no_data, :notify_audit, :tags, :critical_recovery, :warning_recovery, :require_full_window,
|
35
|
-
:threshold_windows, :new_host_delay, :new_group_delay, :priority, :validate_using_links, :variables, :on_missing_data
|
35
|
+
:threshold_windows, :scheduling_options, :new_host_delay, :new_group_delay, :priority, :validate_using_links, :variables, :on_missing_data
|
36
36
|
)
|
37
37
|
|
38
38
|
defaults(
|
@@ -52,6 +52,7 @@ module Kennel
|
|
52
52
|
critical_recovery: -> { nil },
|
53
53
|
warning_recovery: -> { nil },
|
54
54
|
threshold_windows: -> { nil },
|
55
|
+
scheduling_options: -> { nil },
|
55
56
|
priority: -> { MONITOR_DEFAULTS.fetch(:priority) },
|
56
57
|
variables: -> { MONITOR_OPTION_DEFAULTS.fetch(:variables) },
|
57
58
|
on_missing_data: -> { MONITOR_OPTION_DEFAULTS.fetch(:on_missing_data) }
|
@@ -114,6 +115,10 @@ module Kennel
|
|
114
115
|
options[:threshold_windows] = windows
|
115
116
|
end
|
116
117
|
|
118
|
+
if schedule = scheduling_options
|
119
|
+
options[:scheduling_options] = schedule
|
120
|
+
end
|
121
|
+
|
117
122
|
# Datadog requires only either new_group_delay or new_host_delay, never both
|
118
123
|
options.delete(options[:new_group_delay] ? :new_host_delay : :new_group_delay)
|
119
124
|
|
data/lib/kennel/tasks.rb
CHANGED
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.135.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: 2023-02-
|
11
|
+
date: 2023-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: diff-lcs
|