sensu-plugins-etcd 0.1.0 → 1.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
2
  SHA1:
3
- metadata.gz: 414ed48ba733f6e53dac7c9ab73757a057af5697
4
- data.tar.gz: 1e29c7a7c231359a9a41f3e8e899df03f741edff
3
+ metadata.gz: 719e2f8bad357bce3388a0a8c3694bd1ba8c0ae9
4
+ data.tar.gz: 608f276a0bae2bf555e13e72ad2bdeaa754d9d09
5
5
  SHA512:
6
- metadata.gz: 8153bbe4f17f9990eec412618cdd5dedfd55af36309901a22320e0a4f44dacfbc80bee51f62a6de632c9c9e1f9279e77110866bdbcdf3f95962cdd8b34dd0ae3
7
- data.tar.gz: 7879b5f63f05f046cbb0cdf8493f93d5682ee2d677023f15d6643d5ec80364fe82945f7c909dee54c6456bd28a2f8e047b724ed78348175ba1809055017c4325
6
+ metadata.gz: 8af6cd869e12042603890f0b35c35ca024fa38d721e2327d5dbe2fa175b3a78422d280c29a9e4d52b6007239950caa0313f74bd07fd580d4869e4bced0042b13
7
+ data.tar.gz: 1dee2b818781cf20dee2684dcb410190260a97814da6e919a7ffb50222e18dbb054d4e11671227d22ebec9b8950b254fb951f4643d528fa4855d3ae0898ed650
data/CHANGELOG.md CHANGED
@@ -3,7 +3,18 @@ This project adheres to [Semantic Versioning](http://semver.org/).
3
3
 
4
4
  This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
5
5
 
6
- ## Unreleased
6
+ ## [Unreleased]
7
+
8
+ ## [1.0.0] - 2016-08-10
9
+ ### Changed
10
+ - Removed Ruby 1.9 support
11
+ - Updated sensu-plugin dependency from `= 1.2.0` to `~> 1.3`
12
+
13
+ ### Added
14
+ - Added full cluster health check option for check-etcd
15
+ - Added healthy peer count check
16
+ - Adding flanneld subnet check for etcd
17
+ - Added missing require 'json'
7
18
 
8
19
  ## [0.1.0] - 2015-08-27
9
20
  ### Added
@@ -13,15 +24,19 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
13
24
  ### Changed
14
25
  - updated sensu-plugin gem to 1.2.0
15
26
 
16
- ## 0.0.1 - 2015-04-30
17
-
18
- ### Added
19
- - initial release
20
-
21
27
  ## [0.0.2] - 2015-06-02
22
-
23
28
  ### Fixed
24
29
  - added binstubs
25
30
 
26
31
  ### Changed
27
32
  - removed cruft from /lib
33
+
34
+ ## 0.0.1 - 2015-04-30
35
+ ### Added
36
+ - initial release
37
+
38
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-etcd/compare/1.0.0...HEAD
39
+ [1.0.0]: https://github.com/sensu-plugins/sensu-plugins-etcd/compare/0.1.0...1.0.0
40
+ [0.1.0]: https://github.com/sensu-plugins/sensu-plugins-etcd/compare/0.0.3...0.1.0
41
+ [0.0.3]: https://github.com/sensu-plugins/sensu-plugins-etcd/compare/0.0.2...0.0.3
42
+ [0.0.2]: https://github.com/sensu-plugins/sensu-plugins-etcd/compare/0.0.1...0.0.2
data/README.md CHANGED
@@ -5,11 +5,13 @@
5
5
  [![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-etcd/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-etcd)
6
6
  [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-etcd/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-etcd)
7
7
  [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-etcd.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-etcd)
8
- [ ![Codeship Status for sensu-plugins/sensu-plugins-etcd](https://codeship.com/projects/55e83d10-d1e4-0132-a14d-4afb0344239b/status?branch=master)](https://codeship.com/projects/77418)
8
+
9
9
  ## Functionality
10
10
 
11
11
  ## Files
12
12
  * bin/check-etcd.rb
13
+ * bin/check-etcd-peer-count.rb
14
+ * bin/check-flannel-subnet-count.rb
13
15
  * bin/metrics-etcd.rb
14
16
 
15
17
  ## Usage
@@ -0,0 +1,106 @@
1
+ #! /usr/bin/env ruby
2
+ #
3
+ # check-etcd-peer-count
4
+ #
5
+ # DESCRIPTION:
6
+ # This plugin checks that the number of etcd members reporting is correct
7
+ #
8
+ # OUTPUT:
9
+ # plain text
10
+ #
11
+ # PLATFORMS:
12
+ # Linux
13
+ #
14
+ # DEPENDENCIES:
15
+ # gem: sensu-plugin
16
+ # gem: rest-client
17
+ #
18
+ # USAGE:
19
+ # #YELLOW
20
+ #
21
+ # NOTES:
22
+ #
23
+ # LICENSE:
24
+ # Barry Martin <nyxcharon@gmail.com>
25
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
26
+ # for details.
27
+ #
28
+
29
+ require 'sensu-plugin/check/cli'
30
+ require 'rest-client'
31
+ require 'openssl'
32
+ require 'json'
33
+
34
+ #
35
+ # Etcd Node Status
36
+ #
37
+ class EtcdNodeStatus < Sensu::Plugin::Check::CLI
38
+ option :server,
39
+ description: 'Etcd host, defaults to localhost',
40
+ short: '-h HOST',
41
+ long: '--host HOST',
42
+ default: 'localhost'
43
+
44
+ option :port,
45
+ description: 'Etcd port, defaults to 2379',
46
+ short: '-p PORT',
47
+ long: '--port PORT',
48
+ default: '2379'
49
+
50
+ option :cert,
51
+ description: 'client SSL cert',
52
+ long: '--cert CERT',
53
+ default: nil
54
+
55
+ option :key,
56
+ description: 'client SSL key',
57
+ long: '--key KEY',
58
+ default: nil
59
+
60
+ option :passphrase,
61
+ description: 'passphrase of the SSL key',
62
+ long: '--passphrase PASSPHRASE',
63
+ default: nil
64
+
65
+ option :ca,
66
+ description: 'SSL CA file',
67
+ long: '--ca CA',
68
+ default: nil
69
+
70
+ option :insecure,
71
+ description: 'change SSL verify mode to false',
72
+ long: '--insecure'
73
+
74
+ option :ssl,
75
+ description: 'use HTTPS (default false)',
76
+ long: '--ssl'
77
+
78
+ option :peercount,
79
+ description: 'Number of expected etcd peers',
80
+ short: '-c NUMBER',
81
+ long: '--count NUMBER',
82
+ required: true,
83
+ proc: proc(&:to_i)
84
+
85
+ def run
86
+ protocol = config[:ssl] ? 'https' : 'http'
87
+ r = RestClient::Resource.new("#{protocol}://#{config[:server]}:#{config[:port]}/v2/members",
88
+ timeout: 5,
89
+ ssl_client_cert: (OpenSSL::X509::Certificate.new(File.read(config[:cert])) unless config[:cert].nil?),
90
+ ssl_client_key: (OpenSSL::PKey::RSA.new(File.read(config[:key]), config[:passphrase]) unless config[:key].nil?),
91
+ ssl_ca_file: config[:ca],
92
+ verify_ssl: config[:insecure] ? 0 : 1).get
93
+ peers = JSON.parse(r.to_str)['members'].length
94
+ if r.code == 200 && peers == config[:peercount]
95
+ ok 'Etcd has correct number of peers'
96
+ else
97
+ critical "Etcd peer count incorrect, expected #{config[:peercount]} got #{peers}"
98
+ end
99
+ rescue Errno::ECONNREFUSED
100
+ critical 'Etcd is not responding'
101
+ rescue RestClient::RequestTimeout
102
+ critical 'Etcd Connection timed out'
103
+ rescue StandardError => e
104
+ unknown 'A exception occurred: ' + e.message
105
+ end
106
+ end
data/bin/check-etcd.rb CHANGED
@@ -29,6 +29,8 @@
29
29
  require 'sensu-plugin/check/cli'
30
30
  require 'rest-client'
31
31
  require 'openssl'
32
+ require 'uri'
33
+ require 'json'
32
34
 
33
35
  #
34
36
  # Etcd Node Status
@@ -74,24 +76,56 @@ class EtcdNodeStatus < Sensu::Plugin::Check::CLI
74
76
  description: 'use HTTPS (default false)',
75
77
  long: '--ssl'
76
78
 
77
- def run
78
- protocol = config[:ssl] ? 'https' : 'http'
79
+ option :allmembers,
80
+ description: 'check health of all etcd members',
81
+ long: '--all',
82
+ short: '-a',
83
+ default: false
79
84
 
80
- r = RestClient::Resource.new("#{protocol}://#{config[:server]}:#{config[:port]}/v2/stats/self",
81
- timeout: 5,
82
- ssl_client_cert: (OpenSSL::X509::Certificate.new(File.read(config[:cert])) unless config[:cert].nil?),
83
- ssl_client_key: (OpenSSL::PKey::RSA.new(File.read(config[:key]), config[:passphrase]) unless config[:key].nil?),
84
- ssl_ca_file: config[:ca],
85
- verify_ssl: config[:insecure] ? 0 : 1
86
- ).get
87
- if r.code == 200
88
- ok 'etcd is up'
85
+ def run
86
+ if config[:allmembers]
87
+ members = JSON.parse(request('/v2/members', config[:server]).to_str)['members']
88
+ bad_peers = []
89
+ members.each do |member|
90
+ client_host = URI.parse(member['clientURLs'][0]).host
91
+ begin
92
+ r = request('/health', client_host)
93
+ unless r.code == 200 && JSON.parse(r.to_str)['health'] == 'true'
94
+ bad_peers += [client_host]
95
+ end
96
+ rescue StandardError
97
+ bad_peers += [client_host]
98
+ end
99
+ end
100
+ if bad_peers.count != 0
101
+ critical "Found bad etcd peers: #{bad_peers}"
102
+ else
103
+ ok 'Etcd healthly'
104
+ end
89
105
  else
90
- critical 'Etcd is not responding'
106
+ r = request('/health', config[:server])
107
+ if r.code == 200 && JSON.parse(r.to_str)['health'] == 'true'
108
+ ok 'Etcd healthy'
109
+ else
110
+ critical 'Etcd unhealthy'
111
+ end
91
112
  end
92
- rescue Errno::ECONNREFUSED
93
- critical 'Etcd is not responding'
113
+
114
+ rescue Errno::ECONNREFUSED => e
115
+ critical 'Etcd is not responding' + e.message
94
116
  rescue RestClient::RequestTimeout
95
117
  critical 'Etcd Connection timed out'
118
+ rescue StandardError => e
119
+ unknown 'A exception occurred:' + e.message
120
+ end
121
+
122
+ def request(path, server)
123
+ protocol = config[:ssl] ? 'https' : 'http'
124
+ RestClient::Resource.new("#{protocol}://#{server}:#{config[:port]}/#{path}",
125
+ timeout: 5,
126
+ ssl_client_cert: (OpenSSL::X509::Certificate.new(File.read(config[:cert])) unless config[:cert].nil?),
127
+ ssl_client_key: (OpenSSL::PKey::RSA.new(File.read(config[:key]), config[:passphrase]) unless config[:key].nil?),
128
+ ssl_ca_file: config[:ca],
129
+ verify_ssl: config[:insecure] ? 0 : 1).get
96
130
  end
97
131
  end
@@ -0,0 +1,130 @@
1
+ #! /usr/bin/env ruby
2
+ #
3
+ # check-flannel-subnet-count
4
+ #
5
+ # DESCRIPTION:
6
+ # This plugin checks that the number of flannel subnets is within limits
7
+ #
8
+ # OUTPUT:
9
+ # plain text
10
+ #
11
+ # PLATFORMS:
12
+ # Linux
13
+ #
14
+ # DEPENDENCIES:
15
+ # gem: sensu-plugin
16
+ # gem: rest-client
17
+ #
18
+ # USAGE:
19
+ # #YELLOW
20
+ #
21
+ # NOTES:
22
+ #
23
+ # LICENSE:
24
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
25
+ # for details.
26
+ #
27
+
28
+ require 'sensu-plugin/check/cli'
29
+ require 'rest-client'
30
+ require 'openssl'
31
+ require 'uri'
32
+ require 'json'
33
+
34
+ #
35
+ # Etcd Node Status
36
+ #
37
+ class FlannelSubnetStatus < Sensu::Plugin::Check::CLI
38
+ option :server,
39
+ description: 'Etcd host, defaults to localhost',
40
+ short: '-h HOST',
41
+ long: '--host HOST',
42
+ default: 'localhost'
43
+
44
+ option :port,
45
+ description: 'Etcd port, defaults to 2379',
46
+ short: '-p PORT',
47
+ long: '--port PORT',
48
+ default: '2379'
49
+
50
+ option :cert,
51
+ description: 'client SSL cert',
52
+ long: '--cert CERT',
53
+ default: nil
54
+
55
+ option :key,
56
+ description: 'client SSL key',
57
+ long: '--key KEY',
58
+ default: nil
59
+
60
+ option :passphrase,
61
+ description: 'passphrase of the SSL key',
62
+ long: '--passphrase PASSPHRASE',
63
+ default: nil
64
+
65
+ option :ca,
66
+ description: 'SSL CA file',
67
+ long: '--ca CA',
68
+ default: nil
69
+
70
+ option :insecure,
71
+ description: 'change SSL verify mode to false',
72
+ long: '--insecure'
73
+
74
+ option :ssl,
75
+ description: 'use HTTPS (default false)',
76
+ long: '--ssl'
77
+
78
+ option :warncount,
79
+ description: 'Warn when number of subnets exceeds the max minus this threshold',
80
+ short: '-w COUNT',
81
+ long: '--warn COUNT',
82
+ default: 20,
83
+ proc: proc(&:to_i)
84
+
85
+ def run
86
+ begin # Get the network configuration
87
+ flannel_config = request('v2/keys/coreos.com/network/config', config[:server])
88
+ # The value is stored as a json string within the json, so we have to parse, pull out the string and re-parse...
89
+ num_address = JSON.parse(JSON.parse(flannel_config.to_str)['node']['value'])['Network']
90
+ subnet_len = JSON.parse(JSON.parse(flannel_config.to_str)['node']['value'])['SubnetLen']
91
+ rescue StandardError => e
92
+ critical "Could not fetch network configuration: #{e.message}"
93
+ end
94
+
95
+ begin # Calculate the number of available subnets
96
+ network_cidr = num_address[num_address.index('/') + 1..-1]
97
+ num_addresses = 2**(32 - network_cidr.to_i)
98
+ num_subnets = num_addresses / (2**(32 - subnet_len.to_i))
99
+ rescue StandardError => e
100
+ critical "Could not parse network configuration: #{e.message}"
101
+ end
102
+
103
+ begin # Calculate the actual number of subnets in use
104
+ data = JSON.parse(request('v2/keys/coreos.com/network/subnets', config[:server]))
105
+ num_address_used = data['node']['nodes'].size
106
+ rescue StandardError => e
107
+ critical "Could not fetch subnet information: #{e.message}"
108
+ end
109
+
110
+ if num_address_used >= num_subnets
111
+ critical "Number of subnets has hit max capacity. Threshold: #{num_subnets} Actual: #{num_address_used}"
112
+ elsif num_address_used >= num_subnets - config[:warncount]
113
+ warning "Subnet threshold count exceeded. Threshold: #{num_subnets - config[:warncount]} Actual: #{num_address_used}"
114
+ else
115
+ ok "Number of subnets below threshold. #{num_address_used} total subnets"
116
+ end
117
+ end
118
+
119
+ def request(path, server)
120
+ protocol = config[:ssl] ? 'https' : 'http'
121
+ RestClient::Resource.new(
122
+ "#{protocol}://#{server}:#{config[:port]}/#{path}",
123
+ timeout: 5,
124
+ ssl_client_cert: (OpenSSL::X509::Certificate.new(File.read(config[:cert])) unless config[:cert].nil?),
125
+ ssl_client_key: (OpenSSL::PKey::RSA.new(File.read(config[:key]), config[:passphrase]) unless config[:key].nil?),
126
+ ssl_ca_file: config[:ca],
127
+ verify_ssl: config[:insecure] ? 0 : 1
128
+ ).get
129
+ end
130
+ end
data/bin/metrics-etcd.rb CHANGED
@@ -59,8 +59,48 @@ class EtcdMetrics < Sensu::Plugin::Metric::CLI::Graphite
59
59
  boolean: true,
60
60
  default: false
61
61
 
62
- def run # rubocop:disable all
63
- client = Etcd.client(host: config[:etcd_host], port: config[:etcd_port])
62
+ option :cert,
63
+ description: 'client SSL cert',
64
+ long: '--cert CERT',
65
+ default: nil
66
+
67
+ option :key,
68
+ description: 'client SSL key',
69
+ long: '--key KEY',
70
+ default: nil
71
+
72
+ option :passphrase,
73
+ description: 'passphrase of the SSL key',
74
+ long: '--passphrase PASSPHRASE',
75
+ default: nil
76
+
77
+ option :ca,
78
+ description: 'SSL CA file',
79
+ long: '--ca CA',
80
+ default: nil
81
+
82
+ option :insecure,
83
+ description: 'change SSL verify mode to false',
84
+ long: '--insecure'
85
+
86
+ option :ssl,
87
+ description: 'use HTTPS (default false)',
88
+ long: '--ssl'
89
+
90
+ def run
91
+ if config[:ssl]
92
+ client = Etcd.client(
93
+ host: config[:etcd_host],
94
+ port: config[:etcd_port],
95
+ use_ssl: config[:ssl],
96
+ verify_mode: (config[:insecure] ? OpenSSL::SSL::VERIFY_NONE : OpenSSL::SSL::VERIFY_PEER),
97
+ ca_file: config[:ca],
98
+ ssl_cert: (OpenSSL::X509::Certificate.new(File.read(config[:cert])) unless config[:cert].nil?),
99
+ ssl_key: (OpenSSL::PKey::RSA.new(File.read(config[:key]), config[:passphrase]) unless config[:key].nil?)
100
+ )
101
+ else
102
+ client = Etcd.client(host: config[:etcd_host], port: config[:etcd_port])
103
+ end
64
104
  client.stats(:self).each do |k, v|
65
105
  output([config[:scheme], 'self', k].join('.'), v) if v.is_a? Integer
66
106
  end
@@ -1,7 +1,7 @@
1
1
  module SensuPluginsEtcd
2
2
  module Version
3
- MAJOR = 0
4
- MINOR = 1
3
+ MAJOR = 1
4
+ MINOR = 0
5
5
  PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
metadata CHANGED
@@ -1,36 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-etcd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDgDCCAmigAwIBAgIBATANBgkqhkiG9w0BAQUFADBDMRIwEAYDVQQDDAltYXR0
14
- am9uZXMxGDAWBgoJkiaJk/IsZAEZFgh5aWVsZGJvdDETMBEGCgmSJomT8ixkARkW
15
- A2NvbTAeFw0xNTAxMjgyMTAyNTFaFw0xNjAxMjgyMTAyNTFaMEMxEjAQBgNVBAMM
16
- CW1hdHRqb25lczEYMBYGCgmSJomT8ixkARkWCHlpZWxkYm90MRMwEQYKCZImiZPy
17
- LGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyTSzVYnO
18
- CLgyrIyT1mBQakArQyW8xhi6MlDqyzXHJGeERT790U6EgoBVeS4XoK0ptFZNR8Tf
19
- zko0w+Nv47TarSCgkPOaxY+mxWnAVR10dOmfeLr7huiMyps+YD56/EF2FqQ3jf/+
20
- qohENfKD91qy1ieEy+Fn7Pf74ltbNKUdkb9a9eFXQ0DQ4ip5vik7DzjQkUTj4lca
21
- k6ArwnmHX4YDhZoYtrQJ8jVktN0/+NtA40M5qkCYHNe5tUW25b/tKVYuioxG6b2Z
22
- oIzaZxRLxf6HVAWpCVRT/F5+/yjigkX4u++eYacfLGleXQzoK7BL65vHGMJygWEE
23
- 0TKGqFOrl/L0AQIDAQABo38wfTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
24
- HQ4EFgQUEf6a8Td7MrSZc8ImbLFZAENPbz0wIQYDVR0RBBowGIEWbWF0dGpvbmVz
25
- QHlpZWxkYm90LmNvbTAhBgNVHRIEGjAYgRZtYXR0am9uZXNAeWllbGRib3QuY29t
26
- MA0GCSqGSIb3DQEBBQUAA4IBAQBbzXAYA3BVGw8DZ0YYoY1VHPNEcH5qPIApmHO8
27
- rvSmuUT0yMEi7u00H/5uHRFf4LleGT/+sTdyXKsNPGT9kdRuQEgwi+vf7Zfvd8aX
28
- UF/+4VkEYf/8rV8Ere6u2QaWPgApdMV6JjKr1fAwCTd8AuGXNaWItiPPMseSQzLJ
29
- JKP4hVvbc1d+oS925B1lcBiqn2aYvElbyNAVmQPywNNqkWmvtlqj9ZVJfV5HQLdu
30
- 8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
31
- HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
32
- -----END CERTIFICATE-----
33
- date: 2015-08-27 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2016-08-11 00:00:00.000000000 Z
34
12
  dependencies:
35
13
  - !ruby/object:Gem::Dependency
36
14
  name: rest-client
@@ -50,16 +28,16 @@ dependencies:
50
28
  name: sensu-plugin
51
29
  requirement: !ruby/object:Gem::Requirement
52
30
  requirements:
53
- - - '='
31
+ - - "~>"
54
32
  - !ruby/object:Gem::Version
55
- version: 1.2.0
33
+ version: '1.3'
56
34
  type: :runtime
57
35
  prerelease: false
58
36
  version_requirements: !ruby/object:Gem::Requirement
59
37
  requirements:
60
- - - '='
38
+ - - "~>"
61
39
  - !ruby/object:Gem::Version
62
- version: 1.2.0
40
+ version: '1.3'
63
41
  - !ruby/object:Gem::Dependency
64
42
  name: etcd
65
43
  requirement: !ruby/object:Gem::Requirement
@@ -75,143 +53,147 @@ dependencies:
75
53
  - !ruby/object:Gem::Version
76
54
  version: 0.3.0
77
55
  - !ruby/object:Gem::Dependency
78
- name: codeclimate-test-reporter
56
+ name: bundler
79
57
  requirement: !ruby/object:Gem::Requirement
80
58
  requirements:
81
59
  - - "~>"
82
60
  - !ruby/object:Gem::Version
83
- version: '0.4'
61
+ version: '1.7'
84
62
  type: :development
85
63
  prerelease: false
86
64
  version_requirements: !ruby/object:Gem::Requirement
87
65
  requirements:
88
66
  - - "~>"
89
67
  - !ruby/object:Gem::Version
90
- version: '0.4'
68
+ version: '1.7'
91
69
  - !ruby/object:Gem::Dependency
92
- name: rubocop
70
+ name: codeclimate-test-reporter
93
71
  requirement: !ruby/object:Gem::Requirement
94
72
  requirements:
95
- - - '='
73
+ - - "~>"
96
74
  - !ruby/object:Gem::Version
97
- version: '0.30'
75
+ version: '0.4'
98
76
  type: :development
99
77
  prerelease: false
100
78
  version_requirements: !ruby/object:Gem::Requirement
101
79
  requirements:
102
- - - '='
80
+ - - "~>"
103
81
  - !ruby/object:Gem::Version
104
- version: '0.30'
82
+ version: '0.4'
105
83
  - !ruby/object:Gem::Dependency
106
- name: rspec
84
+ name: github-markup
107
85
  requirement: !ruby/object:Gem::Requirement
108
86
  requirements:
109
87
  - - "~>"
110
88
  - !ruby/object:Gem::Version
111
- version: '3.1'
89
+ version: '1.3'
112
90
  type: :development
113
91
  prerelease: false
114
92
  version_requirements: !ruby/object:Gem::Requirement
115
93
  requirements:
116
94
  - - "~>"
117
95
  - !ruby/object:Gem::Version
118
- version: '3.1'
96
+ version: '1.3'
119
97
  - !ruby/object:Gem::Dependency
120
- name: bundler
98
+ name: pry
121
99
  requirement: !ruby/object:Gem::Requirement
122
100
  requirements:
123
101
  - - "~>"
124
102
  - !ruby/object:Gem::Version
125
- version: '1.7'
103
+ version: '0.10'
126
104
  type: :development
127
105
  prerelease: false
128
106
  version_requirements: !ruby/object:Gem::Requirement
129
107
  requirements:
130
108
  - - "~>"
131
109
  - !ruby/object:Gem::Version
132
- version: '1.7'
110
+ version: '0.10'
133
111
  - !ruby/object:Gem::Dependency
134
112
  name: rake
135
113
  requirement: !ruby/object:Gem::Requirement
136
114
  requirements:
137
115
  - - "~>"
138
116
  - !ruby/object:Gem::Version
139
- version: '10.0'
117
+ version: '10.5'
140
118
  type: :development
141
119
  prerelease: false
142
120
  version_requirements: !ruby/object:Gem::Requirement
143
121
  requirements:
144
122
  - - "~>"
145
123
  - !ruby/object:Gem::Version
146
- version: '10.0'
124
+ version: '10.5'
147
125
  - !ruby/object:Gem::Dependency
148
- name: github-markup
126
+ name: redcarpet
149
127
  requirement: !ruby/object:Gem::Requirement
150
128
  requirements:
151
129
  - - "~>"
152
130
  - !ruby/object:Gem::Version
153
- version: '1.3'
131
+ version: '3.2'
154
132
  type: :development
155
133
  prerelease: false
156
134
  version_requirements: !ruby/object:Gem::Requirement
157
135
  requirements:
158
136
  - - "~>"
159
137
  - !ruby/object:Gem::Version
160
- version: '1.3'
138
+ version: '3.2'
161
139
  - !ruby/object:Gem::Dependency
162
- name: redcarpet
140
+ name: rubocop
163
141
  requirement: !ruby/object:Gem::Requirement
164
142
  requirements:
165
143
  - - "~>"
166
144
  - !ruby/object:Gem::Version
167
- version: '3.2'
145
+ version: 0.40.0
168
146
  type: :development
169
147
  prerelease: false
170
148
  version_requirements: !ruby/object:Gem::Requirement
171
149
  requirements:
172
150
  - - "~>"
173
151
  - !ruby/object:Gem::Version
174
- version: '3.2'
152
+ version: 0.40.0
175
153
  - !ruby/object:Gem::Dependency
176
- name: yard
154
+ name: rspec
177
155
  requirement: !ruby/object:Gem::Requirement
178
156
  requirements:
179
157
  - - "~>"
180
158
  - !ruby/object:Gem::Version
181
- version: '0.8'
159
+ version: '3.4'
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
163
  requirements:
186
164
  - - "~>"
187
165
  - !ruby/object:Gem::Version
188
- version: '0.8'
166
+ version: '3.4'
189
167
  - !ruby/object:Gem::Dependency
190
- name: pry
168
+ name: yard
191
169
  requirement: !ruby/object:Gem::Requirement
192
170
  requirements:
193
171
  - - "~>"
194
172
  - !ruby/object:Gem::Version
195
- version: '0.10'
173
+ version: '0.8'
196
174
  type: :development
197
175
  prerelease: false
198
176
  version_requirements: !ruby/object:Gem::Requirement
199
177
  requirements:
200
178
  - - "~>"
201
179
  - !ruby/object:Gem::Version
202
- version: '0.10'
203
- description: Sensu plugins for etcd
180
+ version: '0.8'
181
+ description: Sensu plugins for etcd health and status monitoring
204
182
  email: "<sensu-users@googlegroups.com>"
205
183
  executables:
206
- - metrics-etcd.rb
184
+ - check-etcd-peer-count.rb
207
185
  - check-etcd.rb
186
+ - check-flannel-subnet-count.rb
187
+ - metrics-etcd.rb
208
188
  extensions: []
209
189
  extra_rdoc_files: []
210
190
  files:
211
191
  - CHANGELOG.md
212
192
  - LICENSE
213
193
  - README.md
194
+ - bin/check-etcd-peer-count.rb
214
195
  - bin/check-etcd.rb
196
+ - bin/check-flannel-subnet-count.rb
215
197
  - bin/metrics-etcd.rb
216
198
  - lib/sensu-plugins-etcd.rb
217
199
  - lib/sensu-plugins-etcd/version.rb
@@ -233,7 +215,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
233
215
  requirements:
234
216
  - - ">="
235
217
  - !ruby/object:Gem::Version
236
- version: 1.9.3
218
+ version: 2.0.0
237
219
  required_rubygems_version: !ruby/object:Gem::Requirement
238
220
  requirements:
239
221
  - - ">="
@@ -241,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
241
223
  version: '0'
242
224
  requirements: []
243
225
  rubyforge_project:
244
- rubygems_version: 2.4.8
226
+ rubygems_version: 2.5.1
245
227
  signing_key:
246
228
  specification_version: 4
247
229
  summary: Sensu plugins for etcd
checksums.yaml.gz.sig DELETED
Binary file
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
Binary file