kennel 1.58.0 → 1.58.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|