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 +5 -5
- data/CHANGELOG.md +22 -2
- data/README.md +4 -0
- data/bin/check-haproxy.rb +12 -10
- data/bin/metrics-haproxy.rb +96 -92
- data/lib/sensu-plugins-haproxy.rb +2 -0
- data/lib/sensu-plugins-haproxy/version.rb +4 -2
- metadata +16 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9b527e228bdb745ed2ae1c2396fdce208a2f870b7707c3574563d6661f128d7b
|
4
|
+
data.tar.gz: ba8f34a10a4da1b2d30a3d3bbbf71e9c414729ec6960371265a763c0958792bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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 [
|
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
|
[](https://codeclimate.com/github/sensu-plugins/sensu-plugins-haproxy)
|
6
6
|
[](https://codeclimate.com/github/sensu-plugins/sensu-plugins-haproxy)
|
7
7
|
[](https://gemnasium.com/sensu-plugins/sensu-plugins-haproxy)
|
8
|
+
[](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[:
|
165
|
-
(100 * svc[:scur].to_f / svc[:
|
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[:
|
172
|
-
(100 * svc[:scur].to_f / svc[:
|
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
|
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')
|
data/bin/metrics-haproxy.rb
CHANGED
@@ -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'
|
41
|
-
TYPE_BACKEND = '1'
|
42
|
-
TYPE_SERVER = '2'
|
43
|
-
TYPE_LISTENER = '3'
|
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
|
48
|
-
1 => %w
|
49
|
-
2 => %w
|
50
|
-
3 => %w
|
51
|
-
4 => %w
|
52
|
-
5 => %w
|
53
|
-
6 => %w
|
54
|
-
7 => %w
|
55
|
-
8 => %w
|
56
|
-
9 => %w
|
57
|
-
10 => %w
|
58
|
-
11 => %w
|
59
|
-
12 => %w
|
60
|
-
13 => %w
|
61
|
-
14 => %w
|
62
|
-
15 => %w
|
63
|
-
16 => %w
|
64
|
-
17 => %w
|
65
|
-
18 => %w
|
66
|
-
19 => %w
|
67
|
-
20 => %w
|
68
|
-
21 => %w
|
69
|
-
22 => %w
|
70
|
-
23 => %w
|
71
|
-
24 => %w
|
72
|
-
25 => %w
|
73
|
-
26 => %w
|
74
|
-
27 => %w
|
75
|
-
28 => %w
|
76
|
-
29 => %w
|
77
|
-
30 => %w
|
78
|
-
31 => %w
|
79
|
-
32 => %w
|
80
|
-
33 => %w
|
81
|
-
34 => %w
|
82
|
-
35 => %w
|
83
|
-
36 => %w
|
84
|
-
37 => %w
|
85
|
-
38 => %w
|
86
|
-
39 => %w
|
87
|
-
40 => %w
|
88
|
-
41 => %w
|
89
|
-
42 => %w
|
90
|
-
43 => %w
|
91
|
-
44 => %w
|
92
|
-
45 => %w
|
93
|
-
46 => %w
|
94
|
-
47 => %w
|
95
|
-
48 => %w
|
96
|
-
49 => %w
|
97
|
-
50 => %w
|
98
|
-
51 => %w
|
99
|
-
52 => %w
|
100
|
-
53 => %w
|
101
|
-
54 => %w
|
102
|
-
55 => %w
|
103
|
-
56 => %w
|
104
|
-
57 => %w
|
105
|
-
58 => %w
|
106
|
-
59 => %w
|
107
|
-
60 => %w
|
108
|
-
61 => %w
|
109
|
-
62 => %w
|
110
|
-
63 => %w
|
111
|
-
64 => %w
|
112
|
-
65 => %w
|
113
|
-
66 => %w
|
114
|
-
67 => %w
|
115
|
-
68 => %w
|
116
|
-
69 => %w
|
117
|
-
70 => %w
|
118
|
-
71 => %w
|
119
|
-
72 => %w
|
120
|
-
73 => %w
|
121
|
-
74 => %w
|
122
|
-
75 => %w
|
123
|
-
76 => %w
|
124
|
-
77 => %w
|
125
|
-
78 => %w
|
126
|
-
79 => %w
|
127
|
-
80 => %w
|
128
|
-
81 => %w
|
129
|
-
82 => %w
|
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
|
|
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:
|
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:
|
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: '
|
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: '
|
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
|
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
|
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
|
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
|
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: '
|
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: '
|
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: '
|
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: '
|
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.
|
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.
|
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.
|
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.
|
197
|
+
rubygems_version: 2.7.7
|
198
198
|
signing_key:
|
199
199
|
specification_version: 4
|
200
200
|
summary: Sensu plugins for haproxy
|