poise-monit 1.1.0 → 1.2.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +51 -0
- data/chef/templates/monit_check.conf.erb +13 -0
- data/chef/templates/monit_service.conf.erb +1 -1
- data/lib/poise_monit/resources.rb +1 -0
- data/lib/poise_monit/resources/monit_check.rb +158 -0
- data/lib/poise_monit/version.rb +1 -1
- data/test/spec/resources/monit_check_spec.rb +189 -0
- metadata +7 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f47b9d1c32a3af42021e1a8b7cdb98c39e00f4e8
|
|
4
|
+
data.tar.gz: 9ff65baa3d1da13f8987c783877aba69ac8cdcd6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d7e83a4af5eedb1c12a6fb3fcd95abda4513dc74fa1210736a17afed1131433a42afa7c50888d31406d0f60c1d1d84c9aa68fb4f16a98c44360e828ab992230a
|
|
7
|
+
data.tar.gz: 425505c36a7d6e2931db851fb6c7d11c638c397cc3d5e920f13e6d0cc12b0cc771ceb3e8d43f78cb5af60369b906d1e688e0c1f58f514beacffec86dd159ca52
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
|
@@ -146,6 +146,40 @@ end
|
|
|
146
146
|
|
|
147
147
|
One of `source` or `content` is required.
|
|
148
148
|
|
|
149
|
+
### `monit_check`
|
|
150
|
+
|
|
151
|
+
The `monit_check` resource writes out a Monit configuration file for a service
|
|
152
|
+
check. It is a subclass of `monit_config` and so inherits its actions and
|
|
153
|
+
properties. It defaults to being a process check.
|
|
154
|
+
|
|
155
|
+
```ruby
|
|
156
|
+
monit_check 'httpd' do
|
|
157
|
+
check 'if failed port 80 protocol http request "/_status" then restart'
|
|
158
|
+
extra [
|
|
159
|
+
'every 5 cycles',
|
|
160
|
+
'group www',
|
|
161
|
+
]
|
|
162
|
+
end
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
#### Actions
|
|
166
|
+
|
|
167
|
+
* `:create` – Create and manage the configuration file. *(default)*
|
|
168
|
+
* `:delete` – Delete the configuration file.
|
|
169
|
+
|
|
170
|
+
#### Properties
|
|
171
|
+
|
|
172
|
+
* `check_type` – Type of check. *(default: process)*
|
|
173
|
+
* `with` – WITH-ish string for this check. This is the part that goes after the
|
|
174
|
+
check name. Set to false to disable. *(default: PIDFILE /var/run/check_name.pid)*
|
|
175
|
+
* `start_program` – Command to use to start the service for process checks. Set
|
|
176
|
+
to false disable. *(default: automatic)*
|
|
177
|
+
* `stop_program` – Command to use to stop the service for process checks. Set
|
|
178
|
+
to false disable. *(default: automatic)*
|
|
179
|
+
* `check` – Service health check or checks. `'IF '` will be prepended if not
|
|
180
|
+
given.
|
|
181
|
+
* `extra` – Line or lines to be added to the service definition as is.
|
|
182
|
+
|
|
149
183
|
## Monit Providers
|
|
150
184
|
|
|
151
185
|
### `binaries`
|
|
@@ -223,6 +257,23 @@ end
|
|
|
223
257
|
|
|
224
258
|
To set the `monit` provider as the global default, use [`poise-sevice-monit`](https://github.com/poise/poise-service-monit).
|
|
225
259
|
|
|
260
|
+
## Upgrading From `monit`
|
|
261
|
+
|
|
262
|
+
Upgrading from the older [`monit` cookbook](https://github.com/poise/poise-monit-compat)
|
|
263
|
+
is relatively straightforward. The `node['monit']` attributes can either be
|
|
264
|
+
converted to `node['poise-monit']['recipe']` if you want to use the default
|
|
265
|
+
recipe, or you can invoke the `monit` resource in your own recipe code if needed.
|
|
266
|
+
|
|
267
|
+
When switching cookbooks in-place on a server, make sure you check for any
|
|
268
|
+
`conf.d/` config files created by the old cookbook. Notably `conf.d/compat.conf`
|
|
269
|
+
may interfere with the configuration generation. You can remove it:
|
|
270
|
+
|
|
271
|
+
```ruby
|
|
272
|
+
monit_config 'compat' do
|
|
273
|
+
action :delete
|
|
274
|
+
end
|
|
275
|
+
```
|
|
276
|
+
|
|
226
277
|
## Sponsors
|
|
227
278
|
|
|
228
279
|
Development sponsored by [Bloomberg](http://www.bloomberg.com/company/technology/).
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
CHECK <%= @new_resource.check_type.to_s.upcase %> <%= @new_resource.check_name %><% if @new_resource.with %> <%= @new_resource.with %><% end %>
|
|
2
|
+
<%- if @new_resource.start_program -%>
|
|
3
|
+
start program = "<%= @new_resource.start_program %>"
|
|
4
|
+
<%- end -%>
|
|
5
|
+
<%- if @new_resource.stop_program -%>
|
|
6
|
+
stop program = "<%= @new_resource.stop_program %>"
|
|
7
|
+
<%- end -%>
|
|
8
|
+
<%- Array(@new_resource.check).each do |check_line| -%>
|
|
9
|
+
<%= check_line !~ /^if/i ? 'IF ' : '' %><%= check_line.strip %>
|
|
10
|
+
<%- end -%>
|
|
11
|
+
<%- Array(@new_resource.extra).each do |extra_line| -%>
|
|
12
|
+
<%= extra_line.strip %>
|
|
13
|
+
<%- end -%>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
check process <%= @service_resource.service_name %>
|
|
1
|
+
check process <%= @service_resource.service_name %> pidfile <%= @pid_file %>
|
|
2
2
|
start program = "<%= @script_path %> start"
|
|
3
3
|
stop program = "<%= @script_path %> stop"
|
|
4
4
|
<%- Array(@options['checks']).each do |line| -%>
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright 2016, Noah Kantrowitz
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
#
|
|
16
|
+
|
|
17
|
+
require 'poise_languages/utils'
|
|
18
|
+
require 'poise_monit/resources/monit_config'
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
module PoiseMonit
|
|
22
|
+
module Resources
|
|
23
|
+
# (see MonitCheck::Resource)
|
|
24
|
+
# @since 1.2.0
|
|
25
|
+
module MonitCheck
|
|
26
|
+
# A `monit_check` resource to write out a Monit configuration file with a
|
|
27
|
+
# service check.
|
|
28
|
+
#
|
|
29
|
+
# @provides monit_check
|
|
30
|
+
# @action create
|
|
31
|
+
# @action delete
|
|
32
|
+
# @example
|
|
33
|
+
# monit_check 'httpd' do
|
|
34
|
+
# check 'if failed port 80 protocol http request "/_status" then restart'
|
|
35
|
+
# end
|
|
36
|
+
class Resource < MonitConfig::Resource
|
|
37
|
+
provides(:monit_check)
|
|
38
|
+
|
|
39
|
+
attribute('', template: true, default_source: 'monit_check.conf.erb')
|
|
40
|
+
# @!attribute check_type
|
|
41
|
+
# Type of check. Not making this an explicit array to allow for new
|
|
42
|
+
# check types in Monit without a cookbook release.
|
|
43
|
+
# @return [String]
|
|
44
|
+
attribute(:check_type, kind_of: String, default: 'process')
|
|
45
|
+
# @!attribute with
|
|
46
|
+
# WITH-ish string for this check. This is the part that goes after the
|
|
47
|
+
# check name. Set to false to disable. Defaults to an automatic PID
|
|
48
|
+
# file for process checks and disabled for others.
|
|
49
|
+
# @return [String, nil, false]
|
|
50
|
+
# @example Process check
|
|
51
|
+
# monit_check 'httpd' do
|
|
52
|
+
# with 'PIDFILE /var/run/apache2.pid'
|
|
53
|
+
# end
|
|
54
|
+
# @example File check
|
|
55
|
+
# monit_check 'httpd_log' do
|
|
56
|
+
# check_type 'file'
|
|
57
|
+
# with 'PATH /var/log/apache2/error.log'
|
|
58
|
+
# end
|
|
59
|
+
attribute(:with, kind_of: [String, NilClass, FalseClass], default: lazy { default_with })
|
|
60
|
+
# @!attribute start_program
|
|
61
|
+
# Command to use to start the service for process checks. Set to false
|
|
62
|
+
# to disable. Defaults to an auto-detect using `systemctl`, `service`
|
|
63
|
+
# or `/etc/init.d/$name`.
|
|
64
|
+
# @return [String, nil, false]
|
|
65
|
+
attribute(:start_program, kind_of: [String, NilClass, FalseClass], default: lazy { default_start_program })
|
|
66
|
+
# @!attribute stop_program
|
|
67
|
+
# Command to use to stop the service for process checks. Set to false
|
|
68
|
+
# to disable. Defaults to an auto-detect using `systemctl`, `service`
|
|
69
|
+
# or `/etc/init.d/$name`.
|
|
70
|
+
# @return [String, nil, false]
|
|
71
|
+
attribute(:stop_program, kind_of: [String, NilClass, FalseClass], default: lazy { default_stop_program })
|
|
72
|
+
# @!attribute check
|
|
73
|
+
# Service health check or checks. `'IF '` will be prepended if not
|
|
74
|
+
# given.
|
|
75
|
+
# @return [String, Array<String>]
|
|
76
|
+
attribute(:check, kind_of: [String, Array], default: [])
|
|
77
|
+
# @!attribute extra
|
|
78
|
+
# Line or lines to be added to the service definition as is.
|
|
79
|
+
# @return [String, Array<String>]
|
|
80
|
+
attribute(:extra, kind_of: [String, Array], default: [])
|
|
81
|
+
|
|
82
|
+
# An alias for #check_name to make things more semantically meaningful.
|
|
83
|
+
alias_method :check_name, :config_name
|
|
84
|
+
|
|
85
|
+
# An alias for #if_ to allow writing things like look more like Monit
|
|
86
|
+
# configuration files. This can't be `if` because that's a keyword.
|
|
87
|
+
#
|
|
88
|
+
# @example
|
|
89
|
+
# monit_check 'httpd' do
|
|
90
|
+
# if_ 'failed port 80 protocol http request "/_status" then restart'
|
|
91
|
+
# end
|
|
92
|
+
alias_method :if_, :check
|
|
93
|
+
|
|
94
|
+
private
|
|
95
|
+
|
|
96
|
+
# Default WITH-ish value.
|
|
97
|
+
#
|
|
98
|
+
# @return [String]
|
|
99
|
+
def default_with
|
|
100
|
+
_if_process("PIDFILE /var/run/#{check_name}.pid")
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# Default start program value.
|
|
104
|
+
#
|
|
105
|
+
# @return [String]
|
|
106
|
+
def default_start_program
|
|
107
|
+
_init_command('start')
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Default stop program value.
|
|
111
|
+
#
|
|
112
|
+
# @return [String]
|
|
113
|
+
def default_stop_program
|
|
114
|
+
_init_command('stop')
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Helper for default values that only apply to process checks.
|
|
118
|
+
#
|
|
119
|
+
# @param value [Object] Value to return for process checks.
|
|
120
|
+
# @return [Object, nil]
|
|
121
|
+
def _if_process(value)
|
|
122
|
+
if check_type.to_s.downcase == 'process'
|
|
123
|
+
value
|
|
124
|
+
else
|
|
125
|
+
nil
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# Find the right command to control the init system. This checks
|
|
130
|
+
# systemctl, service, and then gives up and uses /etc/init.d.
|
|
131
|
+
#
|
|
132
|
+
# @param action [String] Init action to run.
|
|
133
|
+
# @return [String, nil]
|
|
134
|
+
def _init_command(action)
|
|
135
|
+
cmd = if systemctl = PoiseLanguages::Utils.which('systemctl')
|
|
136
|
+
"#{systemctl} #{action} #{check_name}"
|
|
137
|
+
elsif service = PoiseLanguages::Utils.which('service')
|
|
138
|
+
"#{service} #{check_name} #{action}"
|
|
139
|
+
else
|
|
140
|
+
# ¯\_(ツ)_/¯
|
|
141
|
+
"/etc/init.d/#{check_name} #{action}"
|
|
142
|
+
end
|
|
143
|
+
_if_process(cmd)
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# The provider for `monit_check`.
|
|
148
|
+
#
|
|
149
|
+
# @see Resource
|
|
150
|
+
# @provides monit_check
|
|
151
|
+
class Provider < MonitConfig::Provider
|
|
152
|
+
provides(:monit_check)
|
|
153
|
+
|
|
154
|
+
# This space left intentionally blank. All behaviors are in the base.
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
end
|
data/lib/poise_monit/version.rb
CHANGED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright 2015-2016, Noah Kantrowitz
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
#
|
|
16
|
+
|
|
17
|
+
require 'spec_helper'
|
|
18
|
+
|
|
19
|
+
describe PoiseMonit::Resources::MonitCheck do
|
|
20
|
+
step_into(:monit_check)
|
|
21
|
+
let(:systemctl) { nil }
|
|
22
|
+
let(:service) { nil }
|
|
23
|
+
before do
|
|
24
|
+
allow(PoiseLanguages::Utils).to receive(:which).with('systemctl').and_return(systemctl)
|
|
25
|
+
allow(PoiseLanguages::Utils).to receive(:which).with('service').and_return(service)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
context 'action :create' do
|
|
29
|
+
recipe do
|
|
30
|
+
monit 'monit'
|
|
31
|
+
monit_check 'httpd'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it { is_expected.to render_file('/etc/monit/conf.d/httpd.conf').with_content(<<-EOH) }
|
|
35
|
+
CHECK PROCESS httpd PIDFILE /var/run/httpd.pid
|
|
36
|
+
start program = "/etc/init.d/httpd start"
|
|
37
|
+
stop program = "/etc/init.d/httpd stop"
|
|
38
|
+
EOH
|
|
39
|
+
|
|
40
|
+
context 'with systemd' do
|
|
41
|
+
let(:systemctl) { '/sbin/systemctl' }
|
|
42
|
+
|
|
43
|
+
it { is_expected.to render_file('/etc/monit/conf.d/httpd.conf').with_content(<<-EOH) }
|
|
44
|
+
CHECK PROCESS httpd PIDFILE /var/run/httpd.pid
|
|
45
|
+
start program = "/sbin/systemctl start httpd"
|
|
46
|
+
stop program = "/sbin/systemctl stop httpd"
|
|
47
|
+
EOH
|
|
48
|
+
end # /context with systemd
|
|
49
|
+
|
|
50
|
+
context 'with service' do
|
|
51
|
+
let(:service) { '/sbin/service' }
|
|
52
|
+
|
|
53
|
+
it { is_expected.to render_file('/etc/monit/conf.d/httpd.conf').with_content(<<-EOH) }
|
|
54
|
+
CHECK PROCESS httpd PIDFILE /var/run/httpd.pid
|
|
55
|
+
start program = "/sbin/service httpd start"
|
|
56
|
+
stop program = "/sbin/service httpd stop"
|
|
57
|
+
EOH
|
|
58
|
+
end # /context with service
|
|
59
|
+
|
|
60
|
+
context 'with check string' do
|
|
61
|
+
recipe do
|
|
62
|
+
monit 'monit'
|
|
63
|
+
monit_check 'httpd' do
|
|
64
|
+
check 'if failed port 80 protocol http request "/_status" then restart'
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
it { is_expected.to render_file('/etc/monit/conf.d/httpd.conf').with_content(<<-EOH) }
|
|
69
|
+
CHECK PROCESS httpd PIDFILE /var/run/httpd.pid
|
|
70
|
+
start program = "/etc/init.d/httpd start"
|
|
71
|
+
stop program = "/etc/init.d/httpd stop"
|
|
72
|
+
if failed port 80 protocol http request "/_status" then restart
|
|
73
|
+
EOH
|
|
74
|
+
end # /context with check string
|
|
75
|
+
|
|
76
|
+
context 'with check array' do
|
|
77
|
+
recipe do
|
|
78
|
+
monit 'monit'
|
|
79
|
+
monit_check 'httpd' do
|
|
80
|
+
check [
|
|
81
|
+
'if failed port 80 protocol http request "/_status" then restart',
|
|
82
|
+
'if failed port 443 protocol https and certificate valid > 30 days then alert',
|
|
83
|
+
]
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
it { is_expected.to render_file('/etc/monit/conf.d/httpd.conf').with_content(<<-EOH) }
|
|
88
|
+
CHECK PROCESS httpd PIDFILE /var/run/httpd.pid
|
|
89
|
+
start program = "/etc/init.d/httpd start"
|
|
90
|
+
stop program = "/etc/init.d/httpd stop"
|
|
91
|
+
if failed port 80 protocol http request "/_status" then restart
|
|
92
|
+
if failed port 443 protocol https and certificate valid > 30 days then alert
|
|
93
|
+
EOH
|
|
94
|
+
end # /context with check array
|
|
95
|
+
|
|
96
|
+
context 'with if_ string' do
|
|
97
|
+
recipe do
|
|
98
|
+
monit 'monit'
|
|
99
|
+
monit_check 'httpd' do
|
|
100
|
+
if_ 'failed port 80 protocol http request "/_status" then restart'
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
it { is_expected.to render_file('/etc/monit/conf.d/httpd.conf').with_content(<<-EOH) }
|
|
105
|
+
CHECK PROCESS httpd PIDFILE /var/run/httpd.pid
|
|
106
|
+
start program = "/etc/init.d/httpd start"
|
|
107
|
+
stop program = "/etc/init.d/httpd stop"
|
|
108
|
+
IF failed port 80 protocol http request "/_status" then restart
|
|
109
|
+
EOH
|
|
110
|
+
end # /context with if_ string
|
|
111
|
+
|
|
112
|
+
context 'with extra string' do
|
|
113
|
+
recipe do
|
|
114
|
+
monit 'monit'
|
|
115
|
+
monit_check 'httpd' do
|
|
116
|
+
extra 'MODE ACTIVE'
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
it { is_expected.to render_file('/etc/monit/conf.d/httpd.conf').with_content(<<-EOH) }
|
|
121
|
+
CHECK PROCESS httpd PIDFILE /var/run/httpd.pid
|
|
122
|
+
start program = "/etc/init.d/httpd start"
|
|
123
|
+
stop program = "/etc/init.d/httpd stop"
|
|
124
|
+
MODE ACTIVE
|
|
125
|
+
EOH
|
|
126
|
+
end # /context with extra string
|
|
127
|
+
|
|
128
|
+
context 'with extra array' do
|
|
129
|
+
recipe do
|
|
130
|
+
monit 'monit'
|
|
131
|
+
monit_check 'httpd' do
|
|
132
|
+
extra [
|
|
133
|
+
'MODE ACTIVE',
|
|
134
|
+
'GROUP www',
|
|
135
|
+
]
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
it { is_expected.to render_file('/etc/monit/conf.d/httpd.conf').with_content(<<-EOH) }
|
|
140
|
+
CHECK PROCESS httpd PIDFILE /var/run/httpd.pid
|
|
141
|
+
start program = "/etc/init.d/httpd start"
|
|
142
|
+
stop program = "/etc/init.d/httpd stop"
|
|
143
|
+
MODE ACTIVE
|
|
144
|
+
GROUP www
|
|
145
|
+
EOH
|
|
146
|
+
end # /context with extra array
|
|
147
|
+
|
|
148
|
+
context 'with start_program' do
|
|
149
|
+
recipe do
|
|
150
|
+
monit 'monit'
|
|
151
|
+
monit_check 'httpd' do
|
|
152
|
+
start_program 'apachectl start'
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
it { is_expected.to render_file('/etc/monit/conf.d/httpd.conf').with_content(<<-EOH) }
|
|
157
|
+
CHECK PROCESS httpd PIDFILE /var/run/httpd.pid
|
|
158
|
+
start program = "apachectl start"
|
|
159
|
+
stop program = "/etc/init.d/httpd stop"
|
|
160
|
+
EOH
|
|
161
|
+
end # /context with start_program
|
|
162
|
+
|
|
163
|
+
context 'with stop_program' do
|
|
164
|
+
recipe do
|
|
165
|
+
monit 'monit'
|
|
166
|
+
monit_check 'httpd' do
|
|
167
|
+
stop_program 'apachectl stop'
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
it { is_expected.to render_file('/etc/monit/conf.d/httpd.conf').with_content(<<-EOH) }
|
|
172
|
+
CHECK PROCESS httpd PIDFILE /var/run/httpd.pid
|
|
173
|
+
start program = "/etc/init.d/httpd start"
|
|
174
|
+
stop program = "apachectl stop"
|
|
175
|
+
EOH
|
|
176
|
+
end # /context with stop_program
|
|
177
|
+
end # /context action :create
|
|
178
|
+
|
|
179
|
+
context 'action :delete' do
|
|
180
|
+
recipe do
|
|
181
|
+
monit 'monit'
|
|
182
|
+
monit_check 'httpd' do
|
|
183
|
+
action :delete
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
it { is_expected.to delete_file('/etc/monit/conf.d/httpd.conf') }
|
|
188
|
+
end # /context action :delete
|
|
189
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: poise-monit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Noah Kantrowitz
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-02-
|
|
11
|
+
date: 2016-02-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: halite
|
|
@@ -114,6 +114,7 @@ files:
|
|
|
114
114
|
- chef/attributes/default.rb
|
|
115
115
|
- chef/recipes/default.rb
|
|
116
116
|
- chef/templates/monit.conf.erb
|
|
117
|
+
- chef/templates/monit_check.conf.erb
|
|
117
118
|
- chef/templates/monit_service.conf.erb
|
|
118
119
|
- lib/poise_monit.rb
|
|
119
120
|
- lib/poise_monit/cheftie.rb
|
|
@@ -125,6 +126,7 @@ files:
|
|
|
125
126
|
- lib/poise_monit/monit_providers/system.rb
|
|
126
127
|
- lib/poise_monit/resources.rb
|
|
127
128
|
- lib/poise_monit/resources/monit.rb
|
|
129
|
+
- lib/poise_monit/resources/monit_check.rb
|
|
128
130
|
- lib/poise_monit/resources/monit_config.rb
|
|
129
131
|
- lib/poise_monit/resources/monit_service.rb
|
|
130
132
|
- lib/poise_monit/resources/monit_test.rb
|
|
@@ -151,6 +153,7 @@ files:
|
|
|
151
153
|
- test/spec/monit_providers/dummy_spec.rb
|
|
152
154
|
- test/spec/monit_providers/system_spec.rb
|
|
153
155
|
- test/spec/recipe_spec.rb
|
|
156
|
+
- test/spec/resources/monit_check_spec.rb
|
|
154
157
|
- test/spec/resources/monit_config_spec.rb
|
|
155
158
|
- test/spec/resources/monit_service_spec.rb
|
|
156
159
|
- test/spec/resources/monit_spec.rb
|
|
@@ -176,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
176
179
|
version: '0'
|
|
177
180
|
requirements: []
|
|
178
181
|
rubyforge_project:
|
|
179
|
-
rubygems_version: 2.
|
|
182
|
+
rubygems_version: 2.5.2
|
|
180
183
|
signing_key:
|
|
181
184
|
specification_version: 4
|
|
182
185
|
summary: A Chef cookbook for managing the Monit process manager.
|
|
@@ -200,6 +203,7 @@ test_files:
|
|
|
200
203
|
- test/spec/monit_providers/dummy_spec.rb
|
|
201
204
|
- test/spec/monit_providers/system_spec.rb
|
|
202
205
|
- test/spec/recipe_spec.rb
|
|
206
|
+
- test/spec/resources/monit_check_spec.rb
|
|
203
207
|
- test/spec/resources/monit_config_spec.rb
|
|
204
208
|
- test/spec/resources/monit_service_spec.rb
|
|
205
209
|
- test/spec/resources/monit_spec.rb
|