sensu-plugins-haproxy 1.4.0 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5eac4b8bdf306f0728cd979d1cb3ea8e3dfec908
4
- data.tar.gz: 0e412f2e7b914a6e4dcb731aad2e893ca4e3835e
2
+ SHA256:
3
+ metadata.gz: 9b527e228bdb745ed2ae1c2396fdce208a2f870b7707c3574563d6661f128d7b
4
+ data.tar.gz: ba8f34a10a4da1b2d30a3d3bbbf71e9c414729ec6960371265a763c0958792bb
5
5
  SHA512:
6
- metadata.gz: 4ead0552383f5dc301fcb58793a58420aca0ab8e9970f74374e02fe04cb47d75a38500c0bf01527df9d73ff6c101c338d99b12158e99854e7c0e4f04c9e3316e
7
- data.tar.gz: 431821d24f2c108fb469e13a2a38e3c638ef9d128b79d534a99141ba8742cf65a90ee1da8b04d3c9250c1a646c16b91aee1dcca5aad4dcc43188175058a6fae5
6
+ metadata.gz: c5e7b8d6acbc9d5e06747174ec0d86924b23794eb73ed01d1f7630f85e0cc6137b78c961df67ffd78ee5580f0d5cf5df0c9181d4746bbfec0062ba78b3084d36
7
+ data.tar.gz: cf4bbe97531beca1e0fc00ffa66d682c91bbb0aa91219fa9582c79309b01b3cb9b1080f326d5057568bb8a0e4dfd37ddd44929090c8925863938a2c1cb944d4b
data/CHANGELOG.md CHANGED
@@ -1,11 +1,31 @@
1
- #Change Log
1
+ # Change Log
2
2
  This project adheres to [Semantic Versioning](http://semver.org/).
3
3
 
4
- This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
4
+ This CHANGELOG follows the format listed at [Our CHANGELOG Guidelines ](https://github.com/sensu-plugins/community/blob/master/HOW_WE_CHANGELOG.md).
5
+ Which is based on [Keep A Changelog](http://keepachangelog.com/)
5
6
 
6
7
 
7
8
  ## [Unreleased]
8
9
 
10
+ ## [2.0.0] - 2020-03-06
11
+ ### Breaking Changes
12
+ - Bump `sensu-plugin` dependency from `~> 1.2` to `~> 4.0` you can read the changelog entries for [4.0](https://github.com/sensu-plugins/sensu-plugin/blob/master/CHANGELOG.md#400---2018-02-17), [3.0](https://github.com/sensu-plugins/sensu-plugin/blob/master/CHANGELOG.md#300---2018-12-04), and [2.0](https://github.com/sensu-plugins/sensu-plugin/blob/master/CHANGELOG.md#v200---2017-03-29)
13
+
14
+ ### Added
15
+ - Travis build automation to generate Sensu Asset tarballs that can be used n conjunction with Sensu provided ruby runtime assets and the Bonsai Asset Index
16
+ - Require latest sensu-plugin for [Sensu Go support](https://github.com/sensu-plugins/sensu-plugin#sensu-go-enablement)
17
+ - Bonsai integration
18
+
19
+ ### Changed
20
+ - update changelog guidelines location (@majormoses)
21
+ - Updated bundler to '~> 2.1'
22
+ - Updated rubocop to '~> 0.80.1'
23
+ - Updated rake to '~> 13.0'
24
+ - Updated codeclimate-test-reporter to '~> 1.0'
25
+ - Remediated rubocop warnings
26
+ - change backends services sessions check comparison to slim instead of smax in check-haproxy.rb - fixes issue [#39](https://github.com/sensu-plugins/sensu-plugins-haproxy/issues/39) (@jindraj)
27
+ - Extended sessions warning and critical output to also show sessions limit.
28
+
9
29
  ## [1.4.0] - 2017-09-09
10
30
  ### Added
11
31
  - metrics-haproxy.rb: new flag to expose all possible metrics `--expose-all` (@bergerx)
data/README.md CHANGED
@@ -5,6 +5,10 @@
5
5
  [![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-haproxy/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-haproxy)
6
6
  [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-haproxy/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-haproxy)
7
7
  [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-haproxy.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-haproxy)
8
+ [![Sensu Bonsai Asset](https://img.shields.io/badge/Bonsai-Download%20Me-brightgreen.svg?colorB=89C967&logo=sensu)](https://bonsai.sensu.io/assets/sensu-plugins/sensu-plugins-haproxy)
9
+
10
+ ## Sensu Asset
11
+ The Sensu assets packaged from this repository are built against the Sensu Ruby runtime environment. When using these assets as part of a Sensu Go resource (check, mutator or handler), make sure you include the corresponding Sensu Ruby runtime asset in the list of assets needed by the resource. The current ruby-runtime assets can be found [here](https://bonsai.sensu.io/assets/sensu/sensu-ruby-runtime) in the [Bonsai Asset Index](bonsai.sensu.io).
8
12
 
9
13
  ## Functionality
10
14
 
data/bin/check-haproxy.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  #! /usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
2
4
  #
3
5
  # check-haproxy.rb
4
6
  #
@@ -155,21 +157,21 @@ class CheckHAProxy < Sensu::Plugin::Check::CLI
155
157
  failed_names = services.reject { |svc| service_up? svc }.map do |svc|
156
158
  "#{svc[:pxname]}/#{svc[:svname]}#{svc[:check_status].to_s.empty? ? '' : '[' + svc[:check_status] + ']'}"
157
159
  end
158
- critical_sessions = services.select { |svc| svc[:slim].to_i > 0 && (100 * svc[:scur].to_f / svc[:slim].to_f) > config[:session_crit_percent] }
159
- warning_sessions = services.select { |svc| svc[:slim].to_i > 0 && (100 * svc[:scur].to_f / svc[:slim].to_f) > config[:session_warn_percent] }
160
+ critical_sessions = services.select { |svc| svc[:slim].to_i > 0 && (100 * svc[:scur].to_f / svc[:slim].to_f) > config[:session_crit_percent] } # rubocop:disable Style/NumericPredicate
161
+ warning_sessions = services.select { |svc| svc[:slim].to_i > 0 && (100 * svc[:scur].to_f / svc[:slim].to_f) > config[:session_warn_percent] } # rubocop:disable Style/NumericPredicate
160
162
 
161
163
  critical_backends = services.select do |svc|
162
164
  config[:backend_session_crit_percent] &&
163
165
  svc[:svname] == 'BACKEND' &&
164
- svc[:smax].to_i > 0 &&
165
- (100 * svc[:scur].to_f / svc[:smax].to_f) > config[:backend_session_crit_percent]
166
+ svc[:slim].to_i > 0 && # rubocop:disable Style/NumericPredicate
167
+ (100 * svc[:scur].to_f / svc[:slim].to_f) > config[:backend_session_crit_percent]
166
168
  end
167
169
 
168
170
  warning_backends = services.select do |svc|
169
171
  config[:backend_session_warn_percent] &&
170
172
  svc[:svname] == 'BACKEND' &&
171
- svc[:smax].to_i > 0 &&
172
- (100 * svc[:scur].to_f / svc[:smax].to_f) > config[:backend_session_warn_percent]
173
+ svc[:slim].to_i > 0 && # rubocop:disable Style/NumericPredicate
174
+ (100 * svc[:scur].to_f / svc[:slim].to_f) > config[:backend_session_warn_percent]
173
175
  end
174
176
 
175
177
  status = "UP: #{percent_up}% of #{services.size} /#{config[:service]}/ services" + (failed_names.empty? ? '' : ", DOWN: #{failed_names.join(', ')}")
@@ -178,7 +180,7 @@ class CheckHAProxy < Sensu::Plugin::Check::CLI
178
180
  elsif percent_up < config[:crit_percent]
179
181
  critical status
180
182
  elsif !critical_sessions.empty? && config[:backend_session_crit_percent].nil?
181
- critical status + '; Active sessions critical: ' + critical_sessions.map { |s| "#{s[:scur]} #{s[:pxname]}.#{s[:svname]}" }.join(', ')
183
+ critical status + '; Active sessions critical: ' + critical_sessions.map { |s| "#{s[:scur]} of #{s[:slim]} #{s[:pxname]}.#{s[:svname]}" }.join(', ')
182
184
  elsif config[:backend_session_crit_percent] && !critical_backends.empty?
183
185
  critical status + '; Active backends critical: ' +
184
186
  critical_backends.map { |s| "current sessions: #{s[:scur]}, maximum sessions: #{s[:smax]} for #{s[:pxname]} backend." }.join(', ')
@@ -187,7 +189,7 @@ class CheckHAProxy < Sensu::Plugin::Check::CLI
187
189
  elsif percent_up < config[:warn_percent]
188
190
  warning status
189
191
  elsif !warning_sessions.empty? && config[:backend_session_warn_percent].nil?
190
- warning status + '; Active sessions warning: ' + warning_sessions.map { |s| "#{s[:scur]} #{s[:pxname]}.#{s[:svname]}" }.join(', ')
192
+ warning status + '; Active sessions warning: ' + warning_sessions.map { |s| "#{s[:scur]} of #{s[:slim]} #{s[:pxname]}.#{s[:svname]}" }.join(', ')
191
193
  elsif config[:backend_session_warn_percent] && !warning_backends.empty?
192
194
  critical status + '; Active backends warning: ' +
193
195
  warning_backends.map { |s| "current sessions: #{s[:scur]}, maximum sessions: #{s[:smax]} for #{s[:pxname]} backend." }.join(', ')
@@ -231,8 +233,8 @@ class CheckHAProxy < Sensu::Plugin::Check::CLI
231
233
  haproxy_stats.select do |svc|
232
234
  svc[:pxname] =~ regexp
233
235
  # #YELLOW
234
- end.reject do |svc| # rubocop: disable MultilineBlockChain
235
- %w(FRONTEND BACKEND).include?(svc[:svname])
236
+ end.reject do |svc| # rubocop: disable Style/MultilineBlockChain
237
+ %w[FRONTEND BACKEND].include?(svc[:svname])
236
238
  end
237
239
  end.select do |svc|
238
240
  config[:include_maint] || !svc[:status].start_with?('MAINT')
@@ -1,4 +1,6 @@
1
1
  #! /usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
2
4
  #
3
5
  # metrics-haproxy.rb
4
6
  #
@@ -37,96 +39,96 @@ class HAProxyMetrics < Sensu::Plugin::Metric::CLI::Graphite
37
39
  # Check http://cbonte.github.io/haproxy-dconv/1.7/management.html#9.1 for
38
40
  # haproxy stats CSV format.
39
41
 
40
- TYPE_FRONTEND = '0'.freeze
41
- TYPE_BACKEND = '1'.freeze
42
- TYPE_SERVER = '2'.freeze
43
- TYPE_LISTENER = '3'.freeze
42
+ TYPE_FRONTEND = '0'
43
+ TYPE_BACKEND = '1'
44
+ TYPE_SERVER = '2'
45
+ TYPE_LISTENER = '3'
44
46
  # All fields are listed here for ease of long term maintenance.
45
47
  # Format: field_index => %w(haproxy-name friendly-name)
46
48
  CSV_FIELDS = {
47
- 0 => %w(pxname proxy_name),
48
- 1 => %w(svname service_name),
49
- 2 => %w(qcur queued_requests_current),
50
- 3 => %w(qmax queued_requests_max),
51
- 4 => %w(scur session_current),
52
- 5 => %w(smax session_max),
53
- 6 => %w(slim session_limit),
54
- 7 => %w(stot session_total),
55
- 8 => %w(bin bytes_in),
56
- 9 => %w(bout bytes_out),
57
- 10 => %w(dreq request_denied_security),
58
- 11 => %w(dresp response_denied_security),
59
- 12 => %w(ereq request_errors),
60
- 13 => %w(econ connection_errors),
61
- 14 => %w(eresp response_errors),
62
- 15 => %w(wretr warning_retries),
63
- 16 => %w(wredis warning_redispatched),
64
- 17 => %w(status status),
65
- 18 => %w(weight weight),
66
- 19 => %w(act servers_active),
67
- 20 => %w(bck servers_backup),
68
- 21 => %w(chkfail healthcheck_failed),
69
- 22 => %w(chkdown healthcheck_transitions),
70
- 23 => %w(lastchg healthcheck_seconds_since_change),
71
- 24 => %w(downtime healthcheck_downtime),
72
- 25 => %w(qlimit server_queue_limit),
73
- 26 => %w(pid process_id),
74
- 27 => %w(iid proxy_id),
75
- 28 => %w(sid server_id),
76
- 29 => %w(throttle server_throttle_percent),
77
- 30 => %w(lbtot server_selected),
78
- 31 => %w(tracked tracked_server_id),
79
- 32 => %w(type type),
80
- 33 => %w(rate session_rate),
81
- 34 => %w(rate_lim session_rate_limit),
82
- 35 => %w(rate_max session_rate_max),
83
- 36 => %w(check_status check_status),
84
- 37 => %w(check_code check_code),
85
- 38 => %w(check_duration healthcheck_duration),
86
- 39 => %w(hrsp_1xx response_1xx),
87
- 40 => %w(hrsp_2xx response_2xx),
88
- 41 => %w(hrsp_3xx response_3xx),
89
- 42 => %w(hrsp_4xx response_4xx),
90
- 43 => %w(hrsp_5xx response_5xx),
91
- 44 => %w(hrsp_other response_other),
92
- 45 => %w(hanafail failed_healthcheck_details),
93
- 46 => %w(req_rate requests_per_second),
94
- 47 => %w(req_rate_max requests_per_second_max),
95
- 48 => %w(req_tot requests_total),
96
- 49 => %w(cli_abrt trasfer_aborts_client),
97
- 50 => %w(srv_abrt trasfer_aborts_server),
98
- 51 => %w(comp_in compressor_in),
99
- 52 => %w(comp_out compressor_out),
100
- 53 => %w(comp_byp compressor_bytes),
101
- 54 => %w(comp_rsp compressor_responses),
102
- 55 => %w(lastsess session_last_assigned_seconds),
103
- 56 => %w(last_chk healthcheck_contents),
104
- 57 => %w(last_agt agent_check_contents),
105
- 58 => %w(qtime queue_time),
106
- 59 => %w(ctime connect_time),
107
- 60 => %w(rtime response_time),
108
- 61 => %w(ttime average_time),
109
- 62 => %w(agent_status agent_status),
110
- 63 => %w(agent_code agent_code),
111
- 64 => %w(agent_duration agent_duration),
112
- 65 => %w(check_desc check_desc),
113
- 66 => %w(agent_desc agent_desc),
114
- 67 => %w(check_rise check_rise),
115
- 68 => %w(check_fall check_fall),
116
- 69 => %w(check_health check_health),
117
- 70 => %w(agent_rise agent_rise),
118
- 71 => %w(agent_fall agent_fall),
119
- 72 => %w(agent_health agent_health),
120
- 73 => %w(addr address),
121
- 74 => %w(cookie cookie),
122
- 75 => %w(mode mode),
123
- 76 => %w(algo algorithm),
124
- 77 => %w(conn_rate conn_rate),
125
- 78 => %w(conn_rate_max conn_rate_max),
126
- 79 => %w(conn_tot conn_tot),
127
- 80 => %w(intercepted requests_intercepted),
128
- 81 => %w(dcon requests_denied_connection),
129
- 82 => %w(dses requests_denied_session)
49
+ 0 => %w[pxname proxy_name],
50
+ 1 => %w[svname service_name],
51
+ 2 => %w[qcur queued_requests_current],
52
+ 3 => %w[qmax queued_requests_max],
53
+ 4 => %w[scur session_current],
54
+ 5 => %w[smax session_max],
55
+ 6 => %w[slim session_limit],
56
+ 7 => %w[stot session_total],
57
+ 8 => %w[bin bytes_in],
58
+ 9 => %w[bout bytes_out],
59
+ 10 => %w[dreq request_denied_security],
60
+ 11 => %w[dresp response_denied_security],
61
+ 12 => %w[ereq request_errors],
62
+ 13 => %w[econ connection_errors],
63
+ 14 => %w[eresp response_errors],
64
+ 15 => %w[wretr warning_retries],
65
+ 16 => %w[wredis warning_redispatched],
66
+ 17 => %w[status status],
67
+ 18 => %w[weight weight],
68
+ 19 => %w[act servers_active],
69
+ 20 => %w[bck servers_backup],
70
+ 21 => %w[chkfail healthcheck_failed],
71
+ 22 => %w[chkdown healthcheck_transitions],
72
+ 23 => %w[lastchg healthcheck_seconds_since_change],
73
+ 24 => %w[downtime healthcheck_downtime],
74
+ 25 => %w[qlimit server_queue_limit],
75
+ 26 => %w[pid process_id],
76
+ 27 => %w[iid proxy_id],
77
+ 28 => %w[sid server_id],
78
+ 29 => %w[throttle server_throttle_percent],
79
+ 30 => %w[lbtot server_selected],
80
+ 31 => %w[tracked tracked_server_id],
81
+ 32 => %w[type type],
82
+ 33 => %w[rate session_rate],
83
+ 34 => %w[rate_lim session_rate_limit],
84
+ 35 => %w[rate_max session_rate_max],
85
+ 36 => %w[check_status check_status],
86
+ 37 => %w[check_code check_code],
87
+ 38 => %w[check_duration healthcheck_duration],
88
+ 39 => %w[hrsp_1xx response_1xx],
89
+ 40 => %w[hrsp_2xx response_2xx],
90
+ 41 => %w[hrsp_3xx response_3xx],
91
+ 42 => %w[hrsp_4xx response_4xx],
92
+ 43 => %w[hrsp_5xx response_5xx],
93
+ 44 => %w[hrsp_other response_other],
94
+ 45 => %w[hanafail failed_healthcheck_details],
95
+ 46 => %w[req_rate requests_per_second],
96
+ 47 => %w[req_rate_max requests_per_second_max],
97
+ 48 => %w[req_tot requests_total],
98
+ 49 => %w[cli_abrt trasfer_aborts_client],
99
+ 50 => %w[srv_abrt trasfer_aborts_server],
100
+ 51 => %w[comp_in compressor_in],
101
+ 52 => %w[comp_out compressor_out],
102
+ 53 => %w[comp_byp compressor_bytes],
103
+ 54 => %w[comp_rsp compressor_responses],
104
+ 55 => %w[lastsess session_last_assigned_seconds],
105
+ 56 => %w[last_chk healthcheck_contents],
106
+ 57 => %w[last_agt agent_check_contents],
107
+ 58 => %w[qtime queue_time],
108
+ 59 => %w[ctime connect_time],
109
+ 60 => %w[rtime response_time],
110
+ 61 => %w[ttime average_time],
111
+ 62 => %w[agent_status agent_status],
112
+ 63 => %w[agent_code agent_code],
113
+ 64 => %w[agent_duration agent_duration],
114
+ 65 => %w[check_desc check_desc],
115
+ 66 => %w[agent_desc agent_desc],
116
+ 67 => %w[check_rise check_rise],
117
+ 68 => %w[check_fall check_fall],
118
+ 69 => %w[check_health check_health],
119
+ 70 => %w[agent_rise agent_rise],
120
+ 71 => %w[agent_fall agent_fall],
121
+ 72 => %w[agent_health agent_health],
122
+ 73 => %w[addr address],
123
+ 74 => %w[cookie cookie],
124
+ 75 => %w[mode mode],
125
+ 76 => %w[algo algorithm],
126
+ 77 => %w[conn_rate conn_rate],
127
+ 78 => %w[conn_rate_max conn_rate_max],
128
+ 79 => %w[conn_tot conn_tot],
129
+ 80 => %w[intercepted requests_intercepted],
130
+ 81 => %w[dcon requests_denied_connection],
131
+ 82 => %w[dses requests_denied_session]
130
132
  }.freeze
131
133
  NON_NUMERIC_FIELDS = [0, 1, 17, 26, 27, 28, 31, 32, 36, 37, 45, 56, 57, 62, 63, 65, 66, 73, 74, 75, 76].freeze
132
134
 
@@ -235,13 +237,14 @@ class HAProxyMetrics < Sensu::Plugin::Metric::CLI::Graphite
235
237
  end
236
238
  out = res.body
237
239
  end
238
- return out
239
- rescue
240
- return nil
240
+ return out # rubocop:disable Style/RedundantReturn
241
+ rescue # rubocop:disable Style/RescueStandardError
242
+ return nil # rubocop:disable Style/RedundantReturn
241
243
  end
242
244
 
243
245
  def render_output(type, pxname, svname, index, value)
244
246
  return if value.nil?
247
+
245
248
  field_index = config[:use_haproxy_names] ? 0 : 1
246
249
  field_name = CSV_FIELDS[index][field_index]
247
250
  if config[:use_explicit_names]
@@ -255,7 +258,7 @@ class HAProxyMetrics < Sensu::Plugin::Metric::CLI::Graphite
255
258
  output "#{config[:scheme]}.listener.#{pxname}.#{svname}.#{field_name}", value
256
259
  end
257
260
  else
258
- if type == TYPE_BACKEND # rubocop:disable IfInsideElse
261
+ if type == TYPE_BACKEND # rubocop:disable Style/IfInsideElse
259
262
  output "#{config[:scheme]}.#{pxname}.#{field_name}", value
260
263
  else
261
264
  output "#{config[:scheme]}.#{pxname}.#{svname}.#{field_name}", value
@@ -268,6 +271,7 @@ class HAProxyMetrics < Sensu::Plugin::Metric::CLI::Graphite
268
271
  1.upto(config[:retries]) do |_i|
269
272
  out = acquire_stats
270
273
  break unless out.to_s.length.zero?
274
+
271
275
  sleep(config[:retry_interval])
272
276
  end
273
277
 
@@ -283,7 +287,7 @@ class HAProxyMetrics < Sensu::Plugin::Metric::CLI::Graphite
283
287
  svname = line[1]
284
288
  type = line[32]
285
289
 
286
- if config[:backends].length > 0
290
+ if config[:backends].length > 0 # rubocop:disable Style/NumericPredicate
287
291
  next unless config[:backends].include? line[0]
288
292
  end
289
293
 
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'sensu-plugins-haproxy/version'
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SensuPluginsHAProxy
2
4
  module Version
3
- MAJOR = 1
4
- MINOR = 4
5
+ MAJOR = 2
6
+ MINOR = 0
5
7
  PATCH = 0
6
8
 
7
9
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-haproxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-09 00:00:00.000000000 Z
11
+ date: 2020-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sensu-plugin
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.2'
19
+ version: '4.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.2'
26
+ version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.7'
33
+ version: '2.1'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.7'
40
+ version: '2.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: codeclimate-test-reporter
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.4'
47
+ version: '1.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.4'
54
+ version: '1.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: github-markup
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.3'
61
+ version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.3'
68
+ version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '10.0'
89
+ version: '13.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '10.0'
96
+ version: '13.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: redcarpet
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.40.0
131
+ version: 0.80.1
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 0.40.0
138
+ version: 0.80.1
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: yard
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -186,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
186
186
  requirements:
187
187
  - - ">="
188
188
  - !ruby/object:Gem::Version
189
- version: 2.0.0
189
+ version: 2.3.0
190
190
  required_rubygems_version: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - ">="
@@ -194,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
194
  version: '0'
195
195
  requirements: []
196
196
  rubyforge_project:
197
- rubygems_version: 2.6.13
197
+ rubygems_version: 2.7.7
198
198
  signing_key:
199
199
  specification_version: 4
200
200
  summary: Sensu plugins for haproxy