checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
---
2
2
SHA256:
3
- metadata.gz: ffd28c1dcb7db623d9e93d2238e143e78c928f76573d97781c1bdcd058c0ab1c
4
- data.tar.gz: 6948f95652b107a8ccf3f58585cd2e3c4e908554a8c99ecade86ad6233eb8d14
3
+ metadata.gz: ef549d9d676c1901f184a65c88313dd7ad3146390f1801ae530b4028d280e60e
4
+ data.tar.gz: 0ff01feab2d2da87bc51b6f5bfb5ff8a2a947a950214b627ca09c81ca89ea347
5
5
SHA512:
6
- metadata.gz: 3c5bbfb1b9bc9a9c32e9200b3572f01bb201aade69081dc651dbb499d35816d157593a41aa057669f0dc2fd6f9e2cd4d99235b88a7c7e09b70f032a5c2e0ae80
7
- data.tar.gz: fdbfa3f3f8b9c654e60e072909bcb1f6d30580142a03a5365220f781b062e821f6d8313538b2aefc87ed64974f239df0f0c9b4a7798ca5ad4560d5aa3656c907
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? ["nodata:ignore"] }
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+#x2F; # 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
@@ -1,4 +1,4 @@
1
1
# frozen_string_literal: true
2
2
module Kennel
3
- VERSION = "1.58.0"
3
+ VERSION = "1.58.1"
4
4
end
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.0
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-21 00:00:00.000000000 Z
11
+ date: 2019-11-25 00:00:00.000000000 Z
12
12
dependencies:
13
13
- !ruby/object:Gem::Dependency
14
14
name: faraday