sensu-plugins-kubernetes 3.2.0 → 5.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +51 -1
- data/README.md +0 -2
- data/bin/check-kube-apiserver-available.rb +2 -1
- data/bin/check-kube-nodes-ready.rb +3 -1
- data/bin/check-kube-pods-pending.rb +6 -2
- data/bin/check-kube-pods-restarting.rb +6 -2
- data/bin/check-kube-pods-running.rb +21 -2
- data/bin/check-kube-pods-runtime.rb +5 -2
- data/bin/check-kube-service-available.rb +12 -4
- data/bin/handler-kube-pod.rb +2 -1
- data/bin/metrics-pods.rb +3 -1
- data/lib/sensu-plugins-kubernetes.rb +2 -0
- data/lib/sensu-plugins-kubernetes/cli.rb +2 -0
- data/lib/sensu-plugins-kubernetes/client.rb +8 -6
- data/lib/sensu-plugins-kubernetes/exclude.rb +2 -0
- data/lib/sensu-plugins-kubernetes/version.rb +5 -3
- metadata +38 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ec224bb9e429a462fadd908578c55846658939f4bb1a9f1242bfd9888c9ac8bb
|
4
|
+
data.tar.gz: b9e935efef733a10b86dc3c108201913273878a56a62014ab46c5278ad8fdf09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c97955e67b253246492a0ec9bcfe5967bc133f6275a9f767f4145e2aad1c03028d832d54b4435a4826ec0b1e83eafa34bac20af7ae2123934fa62a92424ee73
|
7
|
+
data.tar.gz: f98ebec62666e15aa792be905b8fdf5c0e6fbd7c57d84852b7c322b2363e68519325736233e88c4916c6d2ac179d44eb3435b0adba4e5c6e5111bc4ef808655e
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,50 @@ This CHANGELOG follows the format listed [here ](https://github.com/sensu-plugin
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [5.0.2] - 2020-09-15
|
9
|
+
### Fixed
|
10
|
+
- Fixed frozen_string_literal setting in executables
|
11
|
+
|
12
|
+
## [5.0.1] - 2020-04-27
|
13
|
+
### Changed
|
14
|
+
- Fixed travis build
|
15
|
+
|
16
|
+
## [5.0.0] - 2020-04-27
|
17
|
+
### Breaking Changes
|
18
|
+
- Bump `sensu-plugin` dependency from `~> 2.7` to `~> 4.0`
|
19
|
+
- Bump `activesupport` dependancy to '< 7.0.0'
|
20
|
+
- Bump `kubeclient` dependency to '>= 2.3', '< 5.0'
|
21
|
+
|
22
|
+
### Added
|
23
|
+
- Bonsai asset support
|
24
|
+
|
25
|
+
### Changed
|
26
|
+
- Updated rubocop dependency to '~> 0.81.0'
|
27
|
+
- Remediated rubocop issues
|
28
|
+
- Updated rake dependency to '~> 13.0'
|
29
|
+
- Removed codeclimate-test-reporter
|
30
|
+
|
31
|
+
## [4.0.1] - 2020-03-18
|
32
|
+
### Fixed
|
33
|
+
– `check-kube-pods-running.rb`: when POD's status.phase == Pending use the creation time rather than the start time to determine the pod timestamp as it will be nil and cause a downstream type error (@ttarczynski)
|
34
|
+
|
35
|
+
## [4.0.0] - 2018-12-15
|
36
|
+
### Security
|
37
|
+
- updated rubocop dependency to `~> 0.51.0` per: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8418. (@majormoses)
|
38
|
+
- updated yard dependency to `~> 0.9.11` per: https://nvd.nist.gov/vuln/detail/CVE-2017-17042 (@majormoses)
|
39
|
+
|
40
|
+
### Breaking Changes
|
41
|
+
- drop suppport for ruby versions `< 2.3` as they are EOL (@majormoses)
|
42
|
+
- bumped dependency of sensu-plugin to 2.x you can read about it [here](https://github.com/sensu-plugins/sensu-plugin/blob/master/CHANGELOG.md#v145---2017-03-07) (@majormoses)
|
43
|
+
|
44
|
+
### Changed
|
45
|
+
- appeased the cops (@majormoses)
|
46
|
+
|
47
|
+
## [3.3.0] - 2018-11-26
|
48
|
+
### Changed
|
49
|
+
- `check-kube-pods-running.rb`: Skip a POD which is in the not ready state for shorter time than the specified time. Otherwise, the check alerts if we get lots of new PODs which are spawned every second and get up or get terminated longer than a minute. (@sys-ops)
|
50
|
+
|
51
|
+
## [3.2.0] - 2018-11-21
|
8
52
|
### Changed
|
9
53
|
- `check-kube-service-available.rb`: Skip a service if its selector is empty. Otherwise all PODs in the cluster are listed with client.get_pods() call (including those that we do not want to monitor) (@sys-ops)
|
10
54
|
|
@@ -79,7 +123,13 @@ pending pods, the restart count portion has been split into it's own check, `che
|
|
79
123
|
### Added
|
80
124
|
- initial release
|
81
125
|
|
82
|
-
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/
|
126
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/5.0.2...HEAD
|
127
|
+
[5.0.2]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/5.0.1...5.0.2
|
128
|
+
[5.0.1]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/5.0.0...5.0.1
|
129
|
+
[5.0.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/4.0.1...5.0.0
|
130
|
+
[4.0.1]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/4.0.0...4.0.1
|
131
|
+
[4.0.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/3.3.0...4.0.0
|
132
|
+
[3.3.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/3.2.0...3.3.0
|
83
133
|
[3.2.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/3.1.1...3.2.0
|
84
134
|
[3.1.1]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/3.1.0...3.1.1
|
85
135
|
[3.1.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/3.0.1...3.1.0
|
data/README.md
CHANGED
@@ -2,8 +2,6 @@
|
|
2
2
|
|
3
3
|
[![Build Status](https://travis-ci.org/sensu-plugins/sensu-plugins-kubernetes.svg?branch=master)](https://travis-ci.org/sensu-plugins/sensu-plugins-kubernetes)
|
4
4
|
[![Gem Version](https://badge.fury.io/rb/sensu-plugins-kubernetes.svg)](http://badge.fury.io/rb/sensu-plugins-kubernetes)
|
5
|
-
[![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-kubernetes/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-kubernetes)
|
6
|
-
[![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-kubernetes/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-kubernetes)
|
7
5
|
[![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-kubernetes.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-kubernetes)
|
8
6
|
|
9
7
|
## Functionality
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
3
4
|
# check-kube-nodes-ready.rb
|
4
5
|
#
|
5
6
|
# DESCRIPTION:
|
@@ -64,6 +65,7 @@ class AllNodesAreReady < Sensu::Plugins::Kubernetes::CLI
|
|
64
65
|
warning "#{node.name} does not have a status"
|
65
66
|
elsif item.status != 'True'
|
66
67
|
next if should_exclude_node(node.metadata.name)
|
68
|
+
|
67
69
|
failed_nodes << node.metadata.name unless node.spec.unschedulable
|
68
70
|
end
|
69
71
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
3
4
|
# check-kube-pods-pending
|
4
5
|
#
|
5
6
|
# DESCRIPTION:
|
@@ -121,6 +122,7 @@ class AllPodsAreReady < Sensu::Plugins::Kubernetes::CLI
|
|
121
122
|
next unless pods_list.include?(pod.metadata.name) || pods_list.include?('all')
|
122
123
|
# Check for pending state
|
123
124
|
next unless pod.status.phase == 'Pending'
|
125
|
+
|
124
126
|
pod_stamp = Time.parse(pod.metadata.creationTimestamp)
|
125
127
|
puts pod.metadata.name
|
126
128
|
if (Time.now.utc - pod_stamp.utc).to_i > config[:pending_timeout]
|
@@ -137,13 +139,15 @@ class AllPodsAreReady < Sensu::Plugins::Kubernetes::CLI
|
|
137
139
|
end
|
138
140
|
|
139
141
|
def parse_list(list)
|
140
|
-
return list.split(',') if list
|
142
|
+
return list.split(',') if list&.include?(',')
|
141
143
|
return [list] if list
|
144
|
+
|
142
145
|
['']
|
143
146
|
end
|
144
147
|
|
145
148
|
def should_exclude_namespace(namespace)
|
146
149
|
return !config[:include_namespace].include?(namespace) unless config[:include_namespace].empty?
|
150
|
+
|
147
151
|
config[:exclude_namespace].include?(namespace)
|
148
152
|
end
|
149
153
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
3
4
|
# check-kube-pods-restarting
|
4
5
|
#
|
5
6
|
# DESCRIPTION:
|
@@ -120,6 +121,7 @@ class PodsRestarting < Sensu::Plugins::Kubernetes::CLI
|
|
120
121
|
next unless pods_list.include?(pod.metadata.name) || pods_list.include?('all')
|
121
122
|
# Check restarts
|
122
123
|
next if pod.status.containerStatuses.nil?
|
124
|
+
|
123
125
|
pod.status.containerStatuses.each do |container|
|
124
126
|
if container.restartCount.to_i > config[:restart_count]
|
125
127
|
restarted_pods << "#{pod.metadata.namespace}.#{container.name}"
|
@@ -137,13 +139,15 @@ class PodsRestarting < Sensu::Plugins::Kubernetes::CLI
|
|
137
139
|
end
|
138
140
|
|
139
141
|
def parse_list(list)
|
140
|
-
return list.split(',') if list
|
142
|
+
return list.split(',') if list&.include?(',')
|
141
143
|
return [list] if list
|
144
|
+
|
142
145
|
['']
|
143
146
|
end
|
144
147
|
|
145
148
|
def should_exclude_namespace(namespace)
|
146
149
|
return !config[:include_namespace].include?(namespace) unless config[:include_namespace].empty?
|
150
|
+
|
147
151
|
config[:exclude_namespace].include?(namespace)
|
148
152
|
end
|
149
153
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
3
4
|
# check-kube-pods-running
|
4
5
|
#
|
5
6
|
# DESCRIPTION:
|
@@ -34,6 +35,7 @@
|
|
34
35
|
# Exclude wins when a node is in both include and exclude lists
|
35
36
|
# --include-nodes Include the specified nodes (comma separated list), an
|
36
37
|
# empty list includes all nodes
|
38
|
+
# --time TIME Threshold for pods to be in the non ready state
|
37
39
|
# -f, --filter FILTER Selector filter for pods to be checked
|
38
40
|
# -p, --pods PODS List of pods to check
|
39
41
|
# NOTES:
|
@@ -59,6 +61,12 @@ class AllPodsAreRunning < Sensu::Plugins::Kubernetes::CLI
|
|
59
61
|
long: '--pods',
|
60
62
|
default: 'all'
|
61
63
|
|
64
|
+
option :not_ready_time,
|
65
|
+
description: 'Threshold for pods to be in the non ready state',
|
66
|
+
long: '--time TIME',
|
67
|
+
proc: proc(&:to_i),
|
68
|
+
default: 0
|
69
|
+
|
62
70
|
option :pod_filter,
|
63
71
|
description: 'Selector filter for pods to be checked',
|
64
72
|
short: '-f FILTER',
|
@@ -110,6 +118,15 @@ class AllPodsAreRunning < Sensu::Plugins::Kubernetes::CLI
|
|
110
118
|
next if should_exclude_node(pod.spec.nodeName)
|
111
119
|
next unless pods_list.include?(pod.metadata.name) || pods_list.include?('all')
|
112
120
|
next unless pod.status.phase != 'Succeeded' && !pod.status.conditions.nil?
|
121
|
+
|
122
|
+
pod_stamp = if pod.status.phase == 'Pending'
|
123
|
+
Time.parse(pod.metadata.creationTimestamp)
|
124
|
+
else
|
125
|
+
Time.parse(pod.status.startTime)
|
126
|
+
end
|
127
|
+
runtime = (Time.now.utc - pod_stamp.utc).to_i
|
128
|
+
next if runtime < config[:not_ready_time]
|
129
|
+
|
113
130
|
failed_pods << pod.metadata.name unless ready? pod
|
114
131
|
end
|
115
132
|
|
@@ -123,13 +140,15 @@ class AllPodsAreRunning < Sensu::Plugins::Kubernetes::CLI
|
|
123
140
|
end
|
124
141
|
|
125
142
|
def parse_list(list)
|
126
|
-
return list.split(',') if list
|
143
|
+
return list.split(',') if list&.include?(',')
|
127
144
|
return [list] if list
|
145
|
+
|
128
146
|
['']
|
129
147
|
end
|
130
148
|
|
131
149
|
def should_exclude_namespace(namespace)
|
132
150
|
return !config[:include_namespace].include?(namespace) unless config[:include_namespace].empty?
|
151
|
+
|
133
152
|
config[:exclude_namespace].include?(namespace)
|
134
153
|
end
|
135
154
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
3
4
|
# check-kube-pods-runtime
|
4
5
|
#
|
5
6
|
# DESCRIPTION:
|
@@ -85,6 +86,7 @@ class PodRuntime < Sensu::Plugins::Kubernetes::CLI
|
|
85
86
|
next unless pods_list.include?(pod.metadata.name) || pods_list.include?('all')
|
86
87
|
# Check for Running state
|
87
88
|
next unless pod.status.phase == 'Running'
|
89
|
+
|
88
90
|
pod_stamp = Time.parse(pod.status.startTime)
|
89
91
|
runtime = (Time.now.utc - pod_stamp.utc).to_i
|
90
92
|
|
@@ -109,8 +111,9 @@ class PodRuntime < Sensu::Plugins::Kubernetes::CLI
|
|
109
111
|
end
|
110
112
|
|
111
113
|
def parse_list(list)
|
112
|
-
return list.split(',') if list
|
114
|
+
return list.split(',') if list&.include?(',')
|
113
115
|
return [list] if list
|
116
|
+
|
114
117
|
['']
|
115
118
|
end
|
116
119
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
3
4
|
# check-kube-pods-service-available
|
4
5
|
#
|
5
6
|
# DESCRIPTION:
|
@@ -60,8 +61,10 @@ class AllServicesUp < Sensu::Plugins::Kubernetes::CLI
|
|
60
61
|
services = parse_list(config[:service_list])
|
61
62
|
failed_services = []
|
62
63
|
s = client.get_services
|
63
|
-
|
64
|
+
# TODO: come back and clean me up
|
65
|
+
s.each do |a| # rubocop:disable Metrics/BlockLength
|
64
66
|
next unless services.include?(a.metadata.name)
|
67
|
+
|
65
68
|
# Build the selector key so we can fetch the corresponding pod
|
66
69
|
selector_key = []
|
67
70
|
services.delete(a.metadata.name)
|
@@ -69,20 +72,23 @@ class AllServicesUp < Sensu::Plugins::Kubernetes::CLI
|
|
69
72
|
selector_key << "#{k}=#{v}"
|
70
73
|
end
|
71
74
|
next if selector_key.empty?
|
75
|
+
|
72
76
|
# Get the pod
|
73
77
|
pod = nil
|
74
78
|
begin
|
75
79
|
pod = client.get_pods(label_selector: selector_key.join(',').to_s)
|
76
|
-
rescue
|
80
|
+
rescue StandardError
|
77
81
|
failed_services << a.metadata.name.to_s
|
78
82
|
end
|
79
83
|
# Make sure our pod is running
|
80
84
|
next if pod.nil?
|
85
|
+
|
81
86
|
pod_available = false
|
82
87
|
pod.each do |p|
|
83
88
|
case p.status.phase
|
84
89
|
when 'Pending'
|
85
90
|
next if p.status.startTime.nil?
|
91
|
+
|
86
92
|
if (Time.now - Time.parse(p.status.startTime)).to_i < config[:pendingTime]
|
87
93
|
pod_available = true
|
88
94
|
break
|
@@ -90,6 +96,7 @@ class AllServicesUp < Sensu::Plugins::Kubernetes::CLI
|
|
90
96
|
when 'Running'
|
91
97
|
p.status.conditions.each do |c|
|
92
98
|
next unless c.type == 'Ready'
|
99
|
+
|
93
100
|
if c.status == 'True'
|
94
101
|
pod_available = true
|
95
102
|
break
|
@@ -115,8 +122,9 @@ class AllServicesUp < Sensu::Plugins::Kubernetes::CLI
|
|
115
122
|
end
|
116
123
|
|
117
124
|
def parse_list(list)
|
118
|
-
return list.split(',') if list
|
125
|
+
return list.split(',') if list&.include?(',')
|
119
126
|
return [list] if list
|
127
|
+
|
120
128
|
['']
|
121
129
|
end
|
122
130
|
end
|
data/bin/handler-kube-pod.rb
CHANGED
data/bin/metrics-pods.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
3
4
|
# pod-metrics
|
4
5
|
#
|
5
6
|
# DESCRIPTION:
|
@@ -49,6 +50,7 @@ class PodsMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
49
50
|
critical 'API error: ' << e.message
|
50
51
|
end
|
51
52
|
next if pod.nil?
|
53
|
+
|
52
54
|
pod.each do
|
53
55
|
count[s.metadata.name] += 1
|
54
56
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'kubeclient'
|
2
4
|
require 'uri'
|
3
5
|
|
@@ -10,11 +12,11 @@ module Sensu
|
|
10
12
|
# The location of the service account provided CA.
|
11
13
|
# (if the cluster is configured to provide it)
|
12
14
|
INCLUSTER_CA_FILE =
|
13
|
-
'/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
|
15
|
+
'/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
|
14
16
|
|
15
17
|
# The location of the service account provided authentication token.
|
16
18
|
INCLUSTER_TOKEN_FILE =
|
17
|
-
'/var/run/secrets/kubernetes.io/serviceaccount/token'
|
19
|
+
'/var/run/secrets/kubernetes.io/serviceaccount/token'
|
18
20
|
|
19
21
|
# Creates a new Kubeclient::Client instance using the given SSL
|
20
22
|
# and authentication options (if any)
|
@@ -57,7 +59,7 @@ module Sensu
|
|
57
59
|
|
58
60
|
ssl_options = config.context.ssl_options
|
59
61
|
auth_options = config.context.auth_options
|
60
|
-
rescue => e
|
62
|
+
rescue StandardError => e
|
61
63
|
raise e, "Unable to read kubeconfig: #{e}", e.backtrace
|
62
64
|
end
|
63
65
|
else
|
@@ -75,14 +77,14 @@ module Sensu
|
|
75
77
|
}
|
76
78
|
end
|
77
79
|
|
78
|
-
if [
|
80
|
+
if %i[client_cert_file client_key_file].count { |k| options[k] } == 1
|
79
81
|
raise ArgumentError, 'SSL requires both client cert and client key'
|
80
82
|
end
|
81
83
|
|
82
84
|
if options[:client_cert_file]
|
83
85
|
begin
|
84
86
|
ssl_options[:client_cert] = OpenSSL::X509::Certificate.new(File.read(options[:client_cert_file]))
|
85
|
-
rescue => e
|
87
|
+
rescue StandardError => e
|
86
88
|
raise e, "Unable to read client certificate: #{e}", e.backtrace
|
87
89
|
end
|
88
90
|
end
|
@@ -90,7 +92,7 @@ module Sensu
|
|
90
92
|
if options[:client_key_file]
|
91
93
|
begin
|
92
94
|
ssl_options[:client_key] = OpenSSL::PKey::RSA.new(File.read(options[:client_key_file]))
|
93
|
-
rescue => e
|
95
|
+
rescue StandardError => e
|
94
96
|
raise e, "Unable to read client key: #{e}", e.backtrace
|
95
97
|
end
|
96
98
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-kubernetes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.2
|
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-09-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sensu-plugin
|
@@ -16,84 +16,76 @@ 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
|
-
name:
|
28
|
+
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 7.0.0
|
34
34
|
type: :runtime
|
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:
|
40
|
+
version: 7.0.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: kubeclient
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.3'
|
45
48
|
- - "<"
|
46
49
|
- !ruby/object:Gem::Version
|
47
|
-
version: 5.0
|
50
|
+
version: '5.0'
|
48
51
|
type: :runtime
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '2.3'
|
52
58
|
- - "<"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: 5.0
|
60
|
+
version: '5.0'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: bundler
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
65
|
- - "~>"
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version: '1
|
67
|
+
version: '2.1'
|
62
68
|
type: :development
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
72
|
- - "~>"
|
67
73
|
- !ruby/object:Gem::Version
|
68
|
-
version: '1
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: codeclimate-test-reporter
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0.4'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0.4'
|
74
|
+
version: '2.1'
|
83
75
|
- !ruby/object:Gem::Dependency
|
84
76
|
name: github-markup
|
85
77
|
requirement: !ruby/object:Gem::Requirement
|
86
78
|
requirements:
|
87
79
|
- - "~>"
|
88
80
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
81
|
+
version: '3.0'
|
90
82
|
type: :development
|
91
83
|
prerelease: false
|
92
84
|
version_requirements: !ruby/object:Gem::Requirement
|
93
85
|
requirements:
|
94
86
|
- - "~>"
|
95
87
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
88
|
+
version: '3.0'
|
97
89
|
- !ruby/object:Gem::Dependency
|
98
90
|
name: pry
|
99
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +106,14 @@ dependencies:
|
|
114
106
|
requirements:
|
115
107
|
- - "~>"
|
116
108
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
109
|
+
version: '13.0'
|
118
110
|
type: :development
|
119
111
|
prerelease: false
|
120
112
|
version_requirements: !ruby/object:Gem::Requirement
|
121
113
|
requirements:
|
122
114
|
- - "~>"
|
123
115
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
116
|
+
version: '13.0'
|
125
117
|
- !ruby/object:Gem::Dependency
|
126
118
|
name: redcarpet
|
127
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,33 +129,33 @@ dependencies:
|
|
137
129
|
- !ruby/object:Gem::Version
|
138
130
|
version: '3.2'
|
139
131
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
132
|
+
name: rspec
|
141
133
|
requirement: !ruby/object:Gem::Requirement
|
142
134
|
requirements:
|
143
135
|
- - "~>"
|
144
136
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
137
|
+
version: '3.4'
|
146
138
|
type: :development
|
147
139
|
prerelease: false
|
148
140
|
version_requirements: !ruby/object:Gem::Requirement
|
149
141
|
requirements:
|
150
142
|
- - "~>"
|
151
143
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
144
|
+
version: '3.4'
|
153
145
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
146
|
+
name: rubocop
|
155
147
|
requirement: !ruby/object:Gem::Requirement
|
156
148
|
requirements:
|
157
149
|
- - "~>"
|
158
150
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
151
|
+
version: 0.81.0
|
160
152
|
type: :development
|
161
153
|
prerelease: false
|
162
154
|
version_requirements: !ruby/object:Gem::Requirement
|
163
155
|
requirements:
|
164
156
|
- - "~>"
|
165
157
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
158
|
+
version: 0.81.0
|
167
159
|
- !ruby/object:Gem::Dependency
|
168
160
|
name: yard
|
169
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -181,15 +173,15 @@ dependencies:
|
|
181
173
|
description: Provides monitoring for Kubernetes via Sensu
|
182
174
|
email: "<sensu-users@googlegroups.com>"
|
183
175
|
executables:
|
184
|
-
- check-kube-service-available.rb
|
185
|
-
- check-kube-pods-running.rb
|
186
|
-
- handler-kube-pod.rb
|
187
|
-
- check-kube-pods-runtime.rb
|
188
|
-
- metrics-pods.rb
|
189
|
-
- check-kube-pods-pending.rb
|
190
176
|
- check-kube-nodes-ready.rb
|
177
|
+
- check-kube-pods-pending.rb
|
191
178
|
- check-kube-pods-restarting.rb
|
179
|
+
- check-kube-pods-running.rb
|
180
|
+
- handler-kube-pod.rb
|
192
181
|
- check-kube-apiserver-available.rb
|
182
|
+
- metrics-pods.rb
|
183
|
+
- check-kube-service-available.rb
|
184
|
+
- check-kube-pods-runtime.rb
|
193
185
|
extensions: []
|
194
186
|
extra_rdoc_files: []
|
195
187
|
files:
|
@@ -228,15 +220,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
228
220
|
requirements:
|
229
221
|
- - ">="
|
230
222
|
- !ruby/object:Gem::Version
|
231
|
-
version: 2.
|
223
|
+
version: 2.3.0
|
232
224
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
233
225
|
requirements:
|
234
226
|
- - ">="
|
235
227
|
- !ruby/object:Gem::Version
|
236
228
|
version: '0'
|
237
229
|
requirements: []
|
238
|
-
|
239
|
-
rubygems_version: 2.7.8
|
230
|
+
rubygems_version: 3.0.8
|
240
231
|
signing_key:
|
241
232
|
specification_version: 4
|
242
233
|
summary: Sensu plugins for kubernetes
|