kennel 1.84.1 → 1.86.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69237d514f39fc9c8a1fad937bb038ce526424231fe4cc64ce3e69ac43820650
4
- data.tar.gz: 7bf30b567652a4f6808073ff46487c7945570a6bb4c34afe60b60ad14bb30f80
3
+ metadata.gz: e2531f5f8a3ef6c978e2aeeec1db0a16f56aebe690ef6eae8baefff34c3c53fe
4
+ data.tar.gz: d650a926e7d730f34e3dc90833f04f693161ad6aa112fd8ffdbca88f37d37497
5
5
  SHA512:
6
- metadata.gz: 3cffb601fc240f3d6f87e41a369a772a0dce2c3de411d8eb290aa67ca89c30fbdde7d05c701e844cf12a92c398438c975175de2739129ad62d85f7c9eb667c30
7
- data.tar.gz: 9bf61895741f6b762627f05a756355445fdd43bc488db04ae7a406a2fbc314311adf8e745ec87d4eb512cefd250d0cd3e6b777f3bb3d7cb7543e0cd6eb317ea1
6
+ metadata.gz: 12c01b65de8be29754e78b8caa6d8d8cc3f8c8089928008917a31121d3641161eb8b519aedfd7f5a643ff9f4f1123579e8bc6e07382e26613b5dd9937f6f6c16
7
+ data.tar.gz: 421e6d81e4ea91f0eb152ba5230026334221e452f5dea8a4e040d5b8285db8f0913443357b128f5c00e917557ace751f264a55568e50ee86a8e304fb1f9f188e
@@ -60,6 +60,9 @@ module Kennel
60
60
  query.sub!(/([><=]) (#{Regexp.escape(critical.to_f.to_s)}|#{Regexp.escape(critical.to_i.to_s)})$/, "\\1 \#{critical}")
61
61
  end
62
62
 
63
+ # using float in query is not allowed, so convert here
64
+ data[:critical] = data[:critical].to_i if data[:type] == "event alert"
65
+
63
66
  data[:type] = "query alert" if data[:type] == "metric alert"
64
67
  when "dashboard"
65
68
  widgets = data[:widgets]&.flat_map { |widget| widget.dig(:definition, :widgets) || [widget] }
@@ -5,7 +5,6 @@ module Kennel
5
5
  include TemplateVariables
6
6
  include OptionalValidations
7
7
 
8
- DASHBOARD_DEFAULTS = { template_variables: [] }.freeze
9
8
  READONLY_ATTRIBUTES = superclass::READONLY_ATTRIBUTES + [
10
9
  :author_handle, :author_name, :modified_at, :url, :is_read_only, :notify_list
11
10
  ]
@@ -22,13 +21,14 @@ module Kennel
22
21
  template_variable_presets: nil
23
22
  }.freeze
24
23
 
25
- settings :title, :description, :definitions, :widgets, :layout_type, :template_variable_presets
24
+ settings :title, :description, :definitions, :widgets, :layout_type, :template_variable_presets, :reflow_type
26
25
 
27
26
  defaults(
28
27
  description: -> { "" },
29
28
  definitions: -> { [] },
30
29
  widgets: -> { [] },
31
30
  template_variable_presets: -> { DEFAULTS.fetch(:template_variable_presets) },
31
+ reflow_type: -> { layout_type == "ordered" ? "auto" : nil },
32
32
  id: -> { nil }
33
33
  )
34
34
 
@@ -41,6 +41,7 @@ module Kennel
41
41
  super
42
42
 
43
43
  ignore_default(expected, actual, DEFAULTS)
44
+ ignore_default(expected, actual, reflow_type: "auto") if expected[:layout_type] == "ordered"
44
45
 
45
46
  widgets_pairs(expected, actual).each do |pair|
46
47
  # conditional_formats ordering is randomly changed by datadog, compare a stable ordering
@@ -116,6 +117,8 @@ module Kennel
116
117
  widgets: all_widgets
117
118
  }
118
119
 
120
+ @json[:reflow_type] = reflow_type if reflow_type # setting nil breaks create with "ordered"
121
+
119
122
  @json[:id] = id if id
120
123
 
121
124
  validate_json(@json) if validate
@@ -63,7 +63,7 @@ module Kennel
63
63
  end
64
64
 
65
65
  def self.parse_url(url)
66
- url[/\/slo\?.*slo_id=([a-z\d]+)/, 1]
66
+ url[/\/slo(\?.*slo_id=|\/edit\/)([a-z\d]{10,})/, 2]
67
67
  end
68
68
 
69
69
  def resolve_linked_tracking_ids!(id_map, **args)
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Kennel
3
- VERSION = "1.84.1"
3
+ VERSION = "1.86.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.84.1
4
+ version: 1.86.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: 2021-03-09 00:00:00.000000000 Z
11
+ date: 2021-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -94,14 +94,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: 2.5.0
97
+ version: 2.6.0
98
98
  required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - ">="
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  requirements: []
104
- rubygems_version: 3.1.3
104
+ rubygems_version: 3.2.16
105
105
  signing_key:
106
106
  specification_version: 4
107
107
  summary: Keep datadog monitors/dashboards/etc in version control, avoid chaotic management