kennel 1.58.0 → 1.58.1
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/tasks.rb +19 -8
- 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: ef549d9d676c1901f184a65c88313dd7ad3146390f1801ae530b4028d280e60e
|
|
4
|
+
data.tar.gz: 0ff01feab2d2da87bc51b6f5bfb5ff8a2a947a950214b627ca09c81ca89ea347
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1ba3c81e8c16f0fe11bc91b29bc40f9086cba82c5fa18cda2f0f00500c0b7a3a85d3bddf405f3081b718711040c3891d81008a364668af6c98eb343da05e7515
|
|
7
|
+
data.tar.gz: dd8c7dbed5e32a3c8e690fd42e6db8252bfd30727398b933d9013d9d7ce4a3da5f997d8c8ade339aac4969eecf5f22c8b520b813bc17a489a6ddb126ff8f9588
|
data/lib/kennel/tasks.rb
CHANGED
|
@@ -4,12 +4,23 @@ require "kennel"
|
|
|
4
4
|
require "kennel/unmuted_alerts"
|
|
5
5
|
require "kennel/importer"
|
|
6
6
|
|
|
7
|
+
module Kennel
|
|
8
|
+
module Tasks
|
|
9
|
+
class << self
|
|
10
|
+
def abort(message = nil)
|
|
11
|
+
Kennel.err.puts message if message
|
|
12
|
+
raise SystemExit, message
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
7
18
|
namespace :kennel do
|
|
8
19
|
desc "Ensure there are no uncommited changes that would be hidden from PR reviewers"
|
|
9
20
|
task no_diff: :generate do
|
|
10
21
|
result = `git status --porcelain`.strip
|
|
11
|
-
abort "Diff found:\n#{result}\nrun `rake generate` and commit the diff to fix" unless result == ""
|
|
12
|
-
abort "Error during diffing" unless $CHILD_STATUS.success?
|
|
22
|
+
Kennel::Tasks.abort "Diff found:\n#{result}\nrun `rake generate` and commit the diff to fix" unless result == ""
|
|
23
|
+
Kennel::Tasks.abort "Error during diffing" unless $CHILD_STATUS.success?
|
|
13
24
|
end
|
|
14
25
|
|
|
15
26
|
# ideally do this on every run, but it's slow (~1.5s) and brittle (might not find all + might find false-positives)
|
|
@@ -38,7 +49,7 @@ namespace :kennel do
|
|
|
38
49
|
url = (subdomain ? "https://zendesk.datadoghq.com" : "") + "/account/settings"
|
|
39
50
|
puts "Invalid mentions found, either ignore them by adding to `KNOWN` env var or add them via #{url}"
|
|
40
51
|
bad.each { |f, v| puts "Invalid mention #{v} in monitor message of #{f}" }
|
|
41
|
-
abort
|
|
52
|
+
Kennel::Tasks.abort
|
|
42
53
|
end
|
|
43
54
|
end
|
|
44
55
|
|
|
@@ -76,16 +87,16 @@ namespace :kennel do
|
|
|
76
87
|
|
|
77
88
|
desc "show unmuted alerts filtered by TAG, for example TAG=team:foo"
|
|
78
89
|
task alerts: :environment do
|
|
79
|
-
tag = ENV["TAG"] || abort("Call with TAG=foo:bar")
|
|
90
|
+
tag = ENV["TAG"] || Kennel::Tasks.abort("Call with TAG=foo:bar")
|
|
80
91
|
Kennel::UnmutedAlerts.print(Kennel.send(:api), tag)
|
|
81
92
|
end
|
|
82
93
|
|
|
83
94
|
desc "show monitors with no data by TAG, for example TAG=team:foo"
|
|
84
95
|
task nodata: :environment do
|
|
85
|
-
tag = ENV["TAG"] || abort("Call with TAG=foo:bar")
|
|
96
|
+
tag = ENV["TAG"] || Kennel::Tasks.abort("Call with TAG=foo:bar")
|
|
86
97
|
monitors = Kennel.send(:api).list("monitor", monitor_tags: tag, group_states: "no data")
|
|
87
98
|
monitors.select! { |m| m[:overall_state] == "No Data" }
|
|
88
|
-
monitors.reject! { |m| m[:tags].include?
|
|
99
|
+
monitors.reject! { |m| m[:tags].include? "nodata:ignore" }
|
|
89
100
|
if monitors.any?
|
|
90
101
|
Kennel.err.puts <<~TEXT
|
|
91
102
|
This is a useful task to find monitors that have mis-spelled metrics or never received data at any time.
|
|
@@ -103,8 +114,8 @@ namespace :kennel do
|
|
|
103
114
|
|
|
104
115
|
desc "Convert existing resources to copy-pastable definitions to import existing resources RESOURCE=dash ID=1234"
|
|
105
116
|
task import: :environment do
|
|
106
|
-
resource = ENV["RESOURCE"] || abort("Call with RESOURCE=dash") # TODO: add others
|
|
107
|
-
id = ENV["ID"] || abort("Call with ID=1234")
|
|
117
|
+
resource = ENV["RESOURCE"] || Kennel::Tasks.abort("Call with RESOURCE=dash") # TODO: add others
|
|
118
|
+
id = ENV["ID"] || Kennel::Tasks.abort("Call with ID=1234")
|
|
108
119
|
id = Integer(id) if id =~ /^\d+$/ # dashboards can have alphanumeric ids
|
|
109
120
|
puts Kennel::Importer.new(Kennel.send(:api)).import(resource, id)
|
|
110
121
|
end
|
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.58.
|
|
4
|
+
version: 1.58.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michael Grosser
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-11-
|
|
11
|
+
date: 2019-11-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|