sensu-plugins-kubernetes 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -1
- data/README.md +6 -0
- data/bin/check-kube-pods-pending.rb +15 -1
- data/bin/check-kube-pods-restarting.rb +15 -1
- data/bin/check-kube-pods-running.rb +15 -1
- data/lib/sensu-plugins-kubernetes/version.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6e9801561b6f7f63ceea10650267e2b4659c431
|
4
|
+
data.tar.gz: 97e11b5bf9920db1c6f190b778f0f58cbaf05711
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9353e3c892afcb2d17c4dfbb0c718ecb5f819577e3aed14a07e0c7dfdece9b014671a065beb791277a4ba556d150913020b93078c96404f90a503ab9c3edf2a
|
7
|
+
data.tar.gz: bbf266b3c306f50b971f388d9f28f8e7fd48575082fdcdff1272973d33af899936f98f9bbde9cd78ef344f5102f091b0ffb1214ff1914fe854bb232dadb2bb63
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,13 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [2.0.0] - 2017-08-28
|
9
|
+
### Added
|
10
|
+
- Add option to explicitly include specific namespaces (@simulalex)
|
11
|
+
|
12
|
+
### Breaking Change
|
13
|
+
- Drops support for Ruby-2.0, now requires Ruby >= 2.1.0 (@simulalex)
|
14
|
+
|
8
15
|
## [1.1.0] - 2017-08-11
|
9
16
|
### Added
|
10
17
|
- Ruby 2.4.1 testing (@thomasriley)
|
@@ -54,7 +61,8 @@ pending pods, the restart count portion has been split into it's own check, `che
|
|
54
61
|
### Added
|
55
62
|
- initial release
|
56
63
|
|
57
|
-
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/
|
64
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/2.0.0...HEAD
|
65
|
+
[2.0.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/1.1.0...2.0.0
|
58
66
|
[1.1.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/1.0.0...1.1.0
|
59
67
|
[1.0.0]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/0.1.2...1.0.0
|
60
68
|
[0.1.2]: https://github.com/sensu-plugins/sensu-plugins-kubernetes/compare/0.1.1...0.1.2
|
data/README.md
CHANGED
@@ -68,6 +68,8 @@ Usage: check-kube-pods-pending.rb (options)
|
|
68
68
|
-v, --api-version VERSION API version
|
69
69
|
-n NAMESPACES, Exclude the specified list of namespaces
|
70
70
|
--exclude-namespace
|
71
|
+
-i NAMESPACES, Include the specified list of namespaces, an
|
72
|
+
--include-namespace empty list includes all namespaces
|
71
73
|
-t, --timeout TIMEOUT Threshold for pods to be in the pending state
|
72
74
|
-f, --filter FILTER Selector filter for pods to be checked
|
73
75
|
-p, --pods PODS List of pods to check
|
@@ -128,6 +130,8 @@ Usage: ./check-kube-pods-running.rb (options)
|
|
128
130
|
-v, --api-version VERSION API version
|
129
131
|
-n NAMESPACES, Exclude the specified list of namespaces
|
130
132
|
--exclude-namespace
|
133
|
+
-i NAMESPACES, Include the specified list of namespaces, an
|
134
|
+
--include-namespace empty list includes all namespaces
|
131
135
|
-f, --filter FILTER Selector filter for pods to be checked
|
132
136
|
-p, --pods PODS List of pods to check
|
133
137
|
--kube-config KUBECONFIG Path to a kube config file
|
@@ -149,6 +153,8 @@ Usage: ./check-kube-pods-restarting.rb (options)
|
|
149
153
|
-v, --api-version VERSION API version
|
150
154
|
-n NAMESPACES, Exclude the specified list of namespaces
|
151
155
|
--exclude-namespace
|
156
|
+
-i NAMESPACES, Include the specified list of namespaces, an
|
157
|
+
--include-namespace empty list includes all namespaces
|
152
158
|
-f, --filter FILTER Selector filter for pods to be checked
|
153
159
|
-p, --pods PODS List of pods to check
|
154
160
|
-r, --restart COUNT Threshold for number of restarts allowed
|
@@ -28,6 +28,8 @@
|
|
28
28
|
# --token-file TOKEN-FILE File containing bearer token for authorization
|
29
29
|
# -n NAMESPACES, Exclude the specified list of namespaces
|
30
30
|
# --exclude-namespace
|
31
|
+
# -i NAMESPACES, Include the specified list of namespaces, an
|
32
|
+
# --include-namespace empty list includes all namespaces
|
31
33
|
# -t, --timeout TIMEOUT Threshold for pods to be in the pending state
|
32
34
|
# -f, --filter FILTER Selector filter for pods to be checked
|
33
35
|
# -p, --pods PODS Optional list of pods to check.
|
@@ -73,6 +75,13 @@ class AllPodsAreReady < Sensu::Plugins::Kubernetes::CLI
|
|
73
75
|
proc: proc { |a| a.split(',') },
|
74
76
|
default: ''
|
75
77
|
|
78
|
+
option :include_namespace,
|
79
|
+
description: 'Include the specified list of namespaces',
|
80
|
+
short: '-i NAMESPACES',
|
81
|
+
long: '--include-namespace',
|
82
|
+
proc: proc { |a| a.split(',') },
|
83
|
+
default: ''
|
84
|
+
|
76
85
|
def run
|
77
86
|
pods_list = []
|
78
87
|
failed_pods = []
|
@@ -89,7 +98,7 @@ class AllPodsAreReady < Sensu::Plugins::Kubernetes::CLI
|
|
89
98
|
end
|
90
99
|
pods.each do |pod|
|
91
100
|
next if pod.nil?
|
92
|
-
next if
|
101
|
+
next if should_exclude_namespace(pod.metadata.namespace)
|
93
102
|
next unless pods_list.include?(pod.metadata.name) || pods_list.include?('all')
|
94
103
|
# Check for pending state
|
95
104
|
next unless pod.status.phase == 'Pending'
|
@@ -113,4 +122,9 @@ class AllPodsAreReady < Sensu::Plugins::Kubernetes::CLI
|
|
113
122
|
return [list] if list
|
114
123
|
['']
|
115
124
|
end
|
125
|
+
|
126
|
+
def should_exclude_namespace(namespace)
|
127
|
+
return !config[:include_namespace].include?(namespace) unless config[:include_namespace].empty?
|
128
|
+
config[:exclude_namespace].include?(namespace)
|
129
|
+
end
|
116
130
|
end
|
@@ -28,6 +28,8 @@
|
|
28
28
|
# -v, --api-version VERSION API version
|
29
29
|
# -n NAMESPACES, Exclude the specified list of namespaces
|
30
30
|
# --exclude-namespace
|
31
|
+
# -i NAMESPACES, Include the specified list of namespaces, an
|
32
|
+
# --include-namespace empty list includes all namespaces
|
31
33
|
# -f, --filter FILTER Selector filter for pods to be checked
|
32
34
|
# -p, --pods PODS List of pods to check
|
33
35
|
# -r, --restart COUNT Threshold for number of restarts allowed
|
@@ -72,6 +74,13 @@ class PodsRestarting < Sensu::Plugins::Kubernetes::CLI
|
|
72
74
|
proc: proc { |a| a.split(',') },
|
73
75
|
default: ''
|
74
76
|
|
77
|
+
option :include_namespace,
|
78
|
+
description: 'Include the specified list of namespaces',
|
79
|
+
short: '-i NAMESPACES',
|
80
|
+
long: '--include-namespace',
|
81
|
+
proc: proc { |a| a.split(',') },
|
82
|
+
default: ''
|
83
|
+
|
75
84
|
def run
|
76
85
|
pods_list = []
|
77
86
|
restarted_pods = []
|
@@ -88,7 +97,7 @@ class PodsRestarting < Sensu::Plugins::Kubernetes::CLI
|
|
88
97
|
end
|
89
98
|
pods.each do |pod|
|
90
99
|
next if pod.nil?
|
91
|
-
next if
|
100
|
+
next if should_exclude_namespace(pod.metadata.namespace)
|
92
101
|
next unless pods_list.include?(pod.metadata.name) || pods_list.include?('all')
|
93
102
|
# Check restarts
|
94
103
|
next if pod.status.containerStatuses.nil?
|
@@ -113,4 +122,9 @@ class PodsRestarting < Sensu::Plugins::Kubernetes::CLI
|
|
113
122
|
return [list] if list
|
114
123
|
['']
|
115
124
|
end
|
125
|
+
|
126
|
+
def should_exclude_namespace(namespace)
|
127
|
+
return !config[:include_namespace].include?(namespace) unless config[:include_namespace].empty?
|
128
|
+
config[:exclude_namespace].include?(namespace)
|
129
|
+
end
|
116
130
|
end
|
@@ -28,6 +28,8 @@
|
|
28
28
|
# -v, --api-version VERSION API version
|
29
29
|
# -n NAMESPACES, Exclude the specified list of namespaces
|
30
30
|
# --exclude-namespace
|
31
|
+
# -i NAMESPACES, Include the specified list of namespaces, an
|
32
|
+
# --include-namespace empty list includes all namespaces
|
31
33
|
# -f, --filter FILTER Selector filter for pods to be checked
|
32
34
|
# -p, --pods PODS List of pods to check
|
33
35
|
# NOTES:
|
@@ -63,6 +65,13 @@ class AllPodsAreRunning < Sensu::Plugins::Kubernetes::CLI
|
|
63
65
|
proc: proc { |a| a.split(',') },
|
64
66
|
default: ''
|
65
67
|
|
68
|
+
option :include_namespace,
|
69
|
+
description: 'Include the specified list of namespaces',
|
70
|
+
short: '-i NAMESPACES',
|
71
|
+
long: '--include-namespace',
|
72
|
+
proc: proc { |a| a.split(',') },
|
73
|
+
default: ''
|
74
|
+
|
66
75
|
def run
|
67
76
|
pods_list = []
|
68
77
|
failed_pods = []
|
@@ -79,7 +88,7 @@ class AllPodsAreRunning < Sensu::Plugins::Kubernetes::CLI
|
|
79
88
|
end
|
80
89
|
pods.each do |pod|
|
81
90
|
next if pod.nil?
|
82
|
-
next if
|
91
|
+
next if should_exclude_namespace(pod.metadata.namespace)
|
83
92
|
next unless pods_list.include?(pod.metadata.name) || pods_list.include?('all')
|
84
93
|
next unless pod.status.phase != 'Succeeded' && !pod.status.conditions.nil?
|
85
94
|
if pod.status.conditions[1].status == 'False' # This is the Ready state
|
@@ -101,4 +110,9 @@ class AllPodsAreRunning < Sensu::Plugins::Kubernetes::CLI
|
|
101
110
|
return [list] if list
|
102
111
|
['']
|
103
112
|
end
|
113
|
+
|
114
|
+
def should_exclude_namespace(namespace)
|
115
|
+
return !config[:include_namespace].include?(namespace) unless config[:include_namespace].empty?
|
116
|
+
config[:exclude_namespace].include?(namespace)
|
117
|
+
end
|
104
118
|
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: 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-08-
|
11
|
+
date: 2017-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sensu-plugin
|
@@ -227,7 +227,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
227
227
|
requirements:
|
228
228
|
- - ">="
|
229
229
|
- !ruby/object:Gem::Version
|
230
|
-
version: 2.
|
230
|
+
version: 2.1.0
|
231
231
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
232
232
|
requirements:
|
233
233
|
- - ">="
|