sensu-plugins-chef 5.0.0 → 7.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4f7f1ddb957442aee64422476bccfbd54312b355f247eb89946c340ace896f07
4
- data.tar.gz: d6c522a674b02d6bb117174b44a93669f75f2c64ea45ef296184788dc4450e31
3
+ metadata.gz: eaf913bf617acfe2da6b0180c22ba5b977e24cfba3c7b368d7b018e42a9759fb
4
+ data.tar.gz: 7c0aa85eb8b57054be5a06efd03757fbf2838e4ba4a2ef419f88371b60be7114
5
5
  SHA512:
6
- metadata.gz: d25745ac900bf24d9379ecf786d3df57921855a87c6e267f86438b3841eef13e5b82ba32a811755a77c0a1681418d569ff4401dcf22fdc35cb0bb0fce3a13fb7
7
- data.tar.gz: 08c356690899cf835f17bb534ed7423ed66d996e98210ff966ec7d64926c13931aa94235e091bfa9c5bb19b7ffaa7febbde48f012294b4c7aac2318320be2f57
6
+ metadata.gz: d7a6598bab36877ba4e1716c6aaa3f3e8d08b332e4b88ce5105c11655bb8351764af2fd637fac0a23ca771521beaa21cdd13c0e3718a9d6dd22219d5797e76c1
7
+ data.tar.gz: a0a174cefb6fabf7be2c8d947341ba106886cb2b039f61a789a1e4c974279c748bf8d91c8f416f71e6cd7ff1f313d60b27235a35f35332218520ecddd53b756e
data/CHANGELOG.md CHANGED
@@ -5,6 +5,36 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [7.1.1] - 2021-05-18
9
+ ### Fixed
10
+ - Fixed frozen string literal directive setting in executable binaries
11
+
12
+ ## [7.1.0] - 2021-05-05
13
+
14
+ ### Changed
15
+ - Update development dependancy for github-markdown
16
+ - Update development dependancy for rake
17
+ - Update development dependancy for bundler
18
+ - Update development dependancy for rubocop
19
+ - Update Readme with additional documentation
20
+
21
+ ### Fixed
22
+ - Fixed errors in bonsai asset defitions
23
+
24
+ ## [7.0.0] - 2019-4-19
25
+ ### Breaking Changes
26
+ - Bump `sensu-plugin` dependency from `~> 3.0` 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)
27
+
28
+ ### Added
29
+ - 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
30
+ - Require latest sensu-plugin for [Sensu Go support](https://github.com/sensu-plugins/sensu-plugin#sensu-go-enablement)
31
+
32
+ ## [6.0.0] - 2018-12-15
33
+
34
+ ## [5.0.1] - 2018-03-28
35
+ ### Security
36
+ - updated yard dependency to `~> 0.9.11` per: https://nvd.nist.gov/vuln/detail/CVE-2017-17042 (@majormoses)
37
+
8
38
  ## [5.0.0] - 2018-01-31
9
39
  ### Security
10
40
  - updated `rubocop` dependency to `~> 0.51.0` per: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8418. (@geewiz)
@@ -100,7 +130,12 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
100
130
  ### Added
101
131
  - initial release
102
132
 
103
- [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-chef/compare/5.0.0...HEAD
133
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-chef/compare/7.1.1...HEAD
134
+ [7.1.1]: https://github.com/sensu-plugins/sensu-plugins-chef/compare/7.1.0...7.1.1
135
+ [7.1.0]: https://github.com/sensu-plugins/sensu-plugins-chef/compare/7.0.0...7.1.0
136
+ [7.0.0]: https://github.com/sensu-plugins/sensu-plugins-chef/compare/6.0.0...7.0.0
137
+ [6.0.0]: https://github.com/sensu-plugins/sensu-plugins-chef/compare/5.0.1...6.0.1
138
+ [5.0.1]: https://github.com/sensu-plugins/sensu-plugins-chef/compare/5.0.0...5.0.1
104
139
  [5.0.0]: https://github.com/sensu-plugins/sensu-plugins-chef/compare/4.0.0...5.0.0
105
140
  [4.0.0]: https://github.com/sensu-plugins/sensu-plugins-chef/compare/3.0.2...4.0.0
106
141
  [3.0.2]: https://github.com/sensu-plugins/sensu-plugins-chef/compare/3.0.2...3.0.1
data/README.md CHANGED
@@ -1,23 +1,147 @@
1
- ## Sensu-Plugins-chef
2
-
1
+ [![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-chef)
3
2
  [![Build Status](https://travis-ci.org/sensu-plugins/sensu-plugins-chef.svg?branch=master)](https://travis-ci.org/sensu-plugins/sensu-plugins-chef)
4
3
  [![Gem Version](https://badge.fury.io/rb/sensu-plugins-chef.svg)](http://badge.fury.io/rb/sensu-plugins-chef)
5
4
  [![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-chef/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-chef)
6
5
  [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-chef/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-chef)
7
- [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-chef.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-chef)
8
6
 
9
- ## Functionality
7
+ ## Sensu Plugins Chef Plugin
10
8
 
11
- ## Files
12
- * bin/check-chef-nodes.rb
9
+ - [Overview](#overview)
10
+ - [Files](#files)
11
+ - [Usage examples](#usage-examples)
12
+ - [Configuration](#configuration)
13
+ - [Sensu Go](#sensu-go)
14
+ - [Asset registration](#asset-registration)
15
+ - [Asset definition](#asset-definition)
16
+ - [Check definition](#check-definition)
17
+ - [Sensu Core](#sensu-core)
18
+ - [Check definition](#check-definition)
19
+ - [Installation from source](#installation-from-source)
20
+ - [Additional notes](#additional-notes)
21
+ - [Contributing](#contributing)
22
+
23
+ ### Overview
24
+
25
+ This plugin provides native instrumentation for monitoring Chef, including service health checks (via chef-server-ctl) and chef node status, and a Sensu handler for removing stale Sensu clients.
26
+
27
+ ### Files
13
28
  * bin/check-chef-node.rb
29
+ * bin/check-chef-nodes.rb
14
30
  * bin/check-chef-server.rb
15
31
  * bin/handler-chef-node.rb
32
+
33
+ **check-chef-node**
34
+ Checks if a node exists.
35
+
36
+ **check-chef-nodes**
37
+ Reports nodes from your cluster that were last seen before the specified number of seconds.
38
+
39
+ **check-chef-server**
40
+ Uses Chef Server's `chef-server-ctl` to check whether any component of the Chef Server is not running. You must run this plugin with elevated privileges (sudo) or it will fail with unknown state.
41
+
42
+ **handler-chef-node**
43
+ Removes a Sensu client if its Chef node data no longer exists.
44
+
45
+ ## Usage examples
46
+
47
+ ### Help
48
+
49
+ **check-chef-node.rb**
50
+ ```
51
+ Usage: check-chef-node.rb (options)
52
+ -U, --url CHEF-SERVER-URL URL of Chef server
53
+ -C, --client CLIENT-NAME Client name
54
+ -i, --ignore-ssl Ignore SSL certificate verification
55
+ -K, --keys CLIENT-KEY Client's key
56
+ -n, --node-name NODE-NAME Check if this node name exists
57
+ ```
58
+
59
+ **handler-chef-node.rb**
60
+ ```
61
+ Usage: handler-chef-node.rb (options)
62
+ --map-go-event-into-ruby Enable Sensu Go to Sensu Ruby event mapping. Alternatively set envvar SENSU_MAP_GO_EVENT_INTO_RUBY=1.
63
+
64
+ ```
65
+
66
+ ## Configuration
67
+ ### Sensu Go
68
+ #### Asset registration
69
+
70
+ Assets are the best way to make use of this plugin. If you're not using an asset, please consider doing so! If you're using sensuctl 5.13 or later, you can use the following command to add the asset:
71
+
72
+ `sensuctl asset add sensu-plugins/sensu-plugins-chef`
73
+
74
+ If you're using an earlier version of sensuctl, you can download the asset definition from [this project's Bonsai asset index page](https://bonsai.sensu.io/assets/sensu-plugins/sensu-plugins-chef).
75
+
76
+ #### Asset definition
77
+
78
+ ```yaml
79
+ ---
80
+ type: Asset
81
+ api_version: core/v2
82
+ metadata:
83
+ name: sensu-plugins-chef
84
+ spec:
85
+ url: https://assets.bonsai.sensu.io/94e44dc0b89b7cd8318c38db5f64f788642140d8/sensu-plugins-chef_7.0.0_centos_linux_amd64.tar.gz
86
+ sha512: f468ea0060ab890004a3f5bd09deff5bdd98db9e7a4c9ffc0ad1c8809b0e5a8198737f23ec850e9f5181fd590aafa5b895dd948b264244770c77b5f03fa523ef
87
+ ```
88
+
89
+ #### Check definition
90
+
91
+ ```yaml
92
+ ---
93
+ type: CheckConfig
94
+ spec:
95
+ command: "check-chef-nodes.rb"
96
+ handlers: []
97
+ high_flap_threshold: 0
98
+ interval: 10
99
+ low_flap_threshold: 0
100
+ publish: true
101
+ runtime_assets:
102
+ - sensu-plugins/sensu-plugins-chef
103
+ - sensu/sensu-ruby-runtime
104
+ subscriptions:
105
+ - linux
106
+ ```
107
+
108
+ ### Sensu Core
109
+
110
+ #### Check definition
111
+ ```json
112
+ {
113
+ "checks": {
114
+ "check-chef-nodes": {
115
+ "command": "check-chef-nodes.rb",
116
+ "subscribers": ["linux"],
117
+ "interval": 10,
118
+ "refresh": 10,
119
+ "handlers": ["influxdb"]
120
+ }
121
+ }
122
+ }
123
+ ```
124
+
125
+ ## Installation from source
126
+
127
+ ### Sensu Go
128
+
129
+ See the instructions above for [asset registration](#asset-registration).
130
+
131
+ ### Sensu Core
132
+
133
+ Install and setup plugins on [Sensu Core](https://docs.sensu.io/sensu-core/latest/installation/installing-plugins/).
134
+
135
+ ## Additional notes
136
+
137
+ ### Sensu Go Ruby Runtime Assets
138
+
139
+ 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 to include the corresponding [Sensu Ruby Runtime Asset](https://bonsai.sensu.io/assets/sensu/sensu-ruby-runtime) in the list of assets needed by the resource.
16
140
 
17
- ## Usage
141
+ ### Use this plugin with Sensu Go
18
142
 
19
- ## Installation
143
+ To use `handler-chef-node.rb` with Sensu Go, you will need to use the event mapping command line option. See `handler-chef-node.rb --help` for details. Read the [sensu-plugin README](https://github.com/sensu-plugins/sensu-plugin#sensu-go-enablement) for more information about the event mapping functionality.
20
144
 
21
- [Installation and Setup](http://sensu-plugins.io/docs/installation_instructions.html)
145
+ ## Contributing
22
146
 
23
- ## Notes
147
+ See [CONTRIBUTING.md](https://github.com/sensu-plugins/sensu-plugins-chef/blob/master/CONTRIBUTING.md) for information about contributing to this plugin.
@@ -1,5 +1,6 @@
1
1
  #! /usr/bin/env ruby
2
- #
2
+ # frozen_string_literal: false
3
+
3
4
  # check-chef-node
4
5
  #
5
6
  # DESCRIPTION:
@@ -1,5 +1,6 @@
1
1
  #! /usr/bin/env ruby
2
- #
2
+ # frozen_string_literal: false
3
+
3
4
  # check-chef-nodes
4
5
  #
5
6
  # DESCRIPTION:
@@ -1,5 +1,6 @@
1
1
  #! /usr/bin/env ruby
2
- #
2
+ # frozen_string_literal: false
3
+
3
4
  # check-chef-server
4
5
  #
5
6
  # DESCRIPTION:
@@ -48,7 +49,7 @@ class CheckChefServer < Sensu::Plugin::Check::CLI
48
49
  failed_processes << proc.match('^(fail|down|warning):\s+([a-z-]+)')[2]
49
50
  end
50
51
  end
51
- if failed_processes.count > 0
52
+ if failed_processes.count.positive?
52
53
  critical("chef-server service(s): #{failed_processes.join(', ')} #{failed_processes.count == 1 ? 'is' : 'are'} failed, down, or in warning state")
53
54
  else
54
55
  ok
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: false
3
+
2
4
  #
3
5
  # This handler removes a Sensu client if its Chef node data
4
6
  # no longer exists.
@@ -66,17 +68,17 @@ class ChefNode < Sensu::Handler
66
68
  r.node.find(@event['client']['name']) ? true : false
67
69
  end
68
70
  # FIXME: Why is this necessary? Ridley works fine outside of Sensu
69
- rescue Celluloid::Error
71
+ rescue Celluloid::Error => e
70
72
  Celluloid.boot
71
73
  retried += 1
72
74
  if retried < 2
73
75
  retry
74
76
  else
75
- puts "CHEF-NODE: Ridley is broken: #{error.inspect}"
77
+ puts "CHEF-NODE: Ridley is broken: #{e.inspect}"
76
78
  true
77
79
  end
78
- rescue StandardError => error
79
- puts "CHEF-NODE: Unexpected error: #{error.inspect}"
80
+ rescue StandardError => e
81
+ puts "CHEF-NODE: Unexpected error: #{e.inspect}"
80
82
  true
81
83
  end
82
84
  end
@@ -84,14 +86,14 @@ class ChefNode < Sensu::Handler
84
86
  def delete_sensu_client!
85
87
  api_request(:DELETE, '/clients/' + @event['client']['name'])
86
88
  puts "CHEF-NODE: Successfully deleted Sensu client #{@event['client']['name']}"
87
- rescue StandardError => error
88
- puts "CHEF-NODE: Unexpected error: #{error.inspect}"
89
+ rescue StandardError => e
90
+ puts "CHEF-NODE: Unexpected error: #{e.inspect}"
89
91
  end
90
92
 
91
93
  def filter; end
92
94
 
93
95
  def handle
94
- unless chef_node_exists? # rubocop:disable GuardClause
96
+ unless chef_node_exists? # rubocop:disable Style/GuardClause
95
97
  delete_sensu_client!
96
98
  end
97
99
  end
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'sensu-plugins-chef/version'
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SensuPluginsChef
2
4
  module Version
3
- MAJOR = 5
4
- MINOR = 0
5
- PATCH = 0
5
+ MAJOR = 7
6
+ MINOR = 1
7
+ PATCH = 1
6
8
 
7
9
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
10
  end
metadata CHANGED
@@ -1,77 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-chef
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 7.1.1
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: 2018-01-31 00:00:00.000000000 Z
11
+ date: 2021-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: chef
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '='
18
- - !ruby/object:Gem::Version
19
- version: 12.12.15
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '='
25
- - !ruby/object:Gem::Version
26
- version: 12.12.15
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: hashie
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - "<"
32
- - !ruby/object:Gem::Version
33
- version: 4.0.0
34
17
  - - ">="
35
18
  - !ruby/object:Gem::Version
36
19
  version: 2.0.2
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 4.0.0
37
23
  type: :runtime
38
24
  prerelease: false
39
25
  version_requirements: !ruby/object:Gem::Requirement
40
26
  requirements:
41
- - - "<"
42
- - !ruby/object:Gem::Version
43
- version: 4.0.0
44
27
  - - ">="
45
28
  - !ruby/object:Gem::Version
46
29
  version: 2.0.2
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 4.0.0
47
33
  - !ruby/object:Gem::Dependency
48
34
  name: ridley
49
35
  requirement: !ruby/object:Gem::Requirement
50
36
  requirements:
51
37
  - - '='
52
38
  - !ruby/object:Gem::Version
53
- version: 5.1.0
39
+ version: 5.1.1
54
40
  type: :runtime
55
41
  prerelease: false
56
42
  version_requirements: !ruby/object:Gem::Requirement
57
43
  requirements:
58
44
  - - '='
59
45
  - !ruby/object:Gem::Version
60
- version: 5.1.0
46
+ version: 5.1.1
61
47
  - !ruby/object:Gem::Dependency
62
48
  name: sensu-plugin
63
49
  requirement: !ruby/object:Gem::Requirement
64
50
  requirements:
65
51
  - - "~>"
66
52
  - !ruby/object:Gem::Version
67
- version: '1.2'
53
+ version: '4.0'
68
54
  type: :runtime
69
55
  prerelease: false
70
56
  version_requirements: !ruby/object:Gem::Requirement
71
57
  requirements:
72
58
  - - "~>"
73
59
  - !ruby/object:Gem::Version
74
- version: '1.2'
60
+ version: '4.0'
75
61
  - !ruby/object:Gem::Dependency
76
62
  name: varia_model
77
63
  requirement: !ruby/object:Gem::Requirement
@@ -92,42 +78,42 @@ dependencies:
92
78
  requirements:
93
79
  - - "~>"
94
80
  - !ruby/object:Gem::Version
95
- version: '1.12'
81
+ version: '2.1'
96
82
  type: :development
97
83
  prerelease: false
98
84
  version_requirements: !ruby/object:Gem::Requirement
99
85
  requirements:
100
86
  - - "~>"
101
87
  - !ruby/object:Gem::Version
102
- version: '1.12'
88
+ version: '2.1'
103
89
  - !ruby/object:Gem::Dependency
104
90
  name: codeclimate-test-reporter
105
91
  requirement: !ruby/object:Gem::Requirement
106
92
  requirements:
107
93
  - - "~>"
108
94
  - !ruby/object:Gem::Version
109
- version: '0.4'
95
+ version: '1.0'
110
96
  type: :development
111
97
  prerelease: false
112
98
  version_requirements: !ruby/object:Gem::Requirement
113
99
  requirements:
114
100
  - - "~>"
115
101
  - !ruby/object:Gem::Version
116
- version: '0.4'
102
+ version: '1.0'
117
103
  - !ruby/object:Gem::Dependency
118
104
  name: github-markup
119
105
  requirement: !ruby/object:Gem::Requirement
120
106
  requirements:
121
107
  - - "~>"
122
108
  - !ruby/object:Gem::Version
123
- version: '1.3'
109
+ version: '4.0'
124
110
  type: :development
125
111
  prerelease: false
126
112
  version_requirements: !ruby/object:Gem::Requirement
127
113
  requirements:
128
114
  - - "~>"
129
115
  - !ruby/object:Gem::Version
130
- version: '1.3'
116
+ version: '4.0'
131
117
  - !ruby/object:Gem::Dependency
132
118
  name: pry
133
119
  requirement: !ruby/object:Gem::Requirement
@@ -148,14 +134,14 @@ dependencies:
148
134
  requirements:
149
135
  - - "~>"
150
136
  - !ruby/object:Gem::Version
151
- version: '10.5'
137
+ version: '13.0'
152
138
  type: :development
153
139
  prerelease: false
154
140
  version_requirements: !ruby/object:Gem::Requirement
155
141
  requirements:
156
142
  - - "~>"
157
143
  - !ruby/object:Gem::Version
158
- version: '10.5'
144
+ version: '13.0'
159
145
  - !ruby/object:Gem::Dependency
160
146
  name: redcarpet
161
147
  requirement: !ruby/object:Gem::Requirement
@@ -190,28 +176,28 @@ dependencies:
190
176
  requirements:
191
177
  - - "~>"
192
178
  - !ruby/object:Gem::Version
193
- version: 0.51.0
179
+ version: 0.81.0
194
180
  type: :development
195
181
  prerelease: false
196
182
  version_requirements: !ruby/object:Gem::Requirement
197
183
  requirements:
198
184
  - - "~>"
199
185
  - !ruby/object:Gem::Version
200
- version: 0.51.0
186
+ version: 0.81.0
201
187
  - !ruby/object:Gem::Dependency
202
188
  name: yard
203
189
  requirement: !ruby/object:Gem::Requirement
204
190
  requirements:
205
191
  - - "~>"
206
192
  - !ruby/object:Gem::Version
207
- version: '0.8'
193
+ version: 0.9.11
208
194
  type: :development
209
195
  prerelease: false
210
196
  version_requirements: !ruby/object:Gem::Requirement
211
197
  requirements:
212
198
  - - "~>"
213
199
  - !ruby/object:Gem::Version
214
- version: '0.8'
200
+ version: 0.9.11
215
201
  description: |-
216
202
  This plugin provides native Chef instrumentation
217
203
  for monitoring, including: report stale nodes,
@@ -221,8 +207,8 @@ email: "<sensu-users@googlegroups.com>"
221
207
  executables:
222
208
  - check-chef-node.rb
223
209
  - check-chef-nodes.rb
224
- - check-chef-server.rb
225
210
  - handler-chef-node.rb
211
+ - check-chef-server.rb
226
212
  extensions: []
227
213
  extra_rdoc_files: []
228
214
  files:
@@ -253,15 +239,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
253
239
  requirements:
254
240
  - - ">="
255
241
  - !ruby/object:Gem::Version
256
- version: 2.1.0
242
+ version: 2.3.0
257
243
  required_rubygems_version: !ruby/object:Gem::Requirement
258
244
  requirements:
259
245
  - - ">="
260
246
  - !ruby/object:Gem::Version
261
247
  version: '0'
262
248
  requirements: []
263
- rubyforge_project:
264
- rubygems_version: 2.7.4
249
+ rubygems_version: 3.0.8
265
250
  signing_key:
266
251
  specification_version: 4
267
252
  summary: Sensu plugins for chef