cloud-mu 3.6.10 → 3.6.11

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.
Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/Berksfile +2 -3
  3. data/Berksfile.lock +11 -14
  4. data/bin/mu-aws-setup +16 -4
  5. data/bin/mu-configure +2 -1
  6. data/cloud-mu.gemspec +2 -2
  7. data/cookbooks/mu-firewall/Berksfile +1 -1
  8. data/cookbooks/mu-firewall/attributes/default.rb +2 -2
  9. data/cookbooks/mu-firewall/metadata.rb +3 -3
  10. data/cookbooks/mu-firewall/recipes/default.rb +11 -2
  11. data/cookbooks/mu-master/Berksfile +1 -1
  12. data/cookbooks/mu-master/attributes/default.rb +14 -1
  13. data/cookbooks/mu-master/files/default/389ds-perl/ASDialogs.pm +173 -0
  14. data/cookbooks/mu-master/files/default/389ds-perl/AdminMigration.pm +569 -0
  15. data/cookbooks/mu-master/files/default/389ds-perl/AdminServer.pm +952 -0
  16. data/cookbooks/mu-master/files/default/389ds-perl/AdminUtil.pm +983 -0
  17. data/cookbooks/mu-master/files/default/389ds-perl/ConfigDSDialogs.pm +449 -0
  18. data/cookbooks/mu-master/files/default/389ds-perl/DSCreate.pm +1551 -0
  19. data/cookbooks/mu-master/files/default/389ds-perl/DSDialogs.pm +233 -0
  20. data/cookbooks/mu-master/files/default/389ds-perl/DSMigration.pm +1175 -0
  21. data/cookbooks/mu-master/files/default/389ds-perl/DSUpdate.pm +534 -0
  22. data/cookbooks/mu-master/files/default/389ds-perl/DSUpdateDialogs.pm +152 -0
  23. data/cookbooks/mu-master/files/default/389ds-perl/DSUtil.pm +1710 -0
  24. data/cookbooks/mu-master/files/default/389ds-perl/Dialog.pm +249 -0
  25. data/cookbooks/mu-master/files/default/389ds-perl/DialogManager.pm +212 -0
  26. data/cookbooks/mu-master/files/default/389ds-perl/FileConn.pm +461 -0
  27. data/cookbooks/mu-master/files/default/389ds-perl/Inf.pm +268 -0
  28. data/cookbooks/mu-master/files/default/389ds-perl/Migration.pm +327 -0
  29. data/cookbooks/mu-master/files/default/389ds-perl/RegDSDialogs.pm +94 -0
  30. data/cookbooks/mu-master/files/default/389ds-perl/Resource.pm +137 -0
  31. data/cookbooks/mu-master/files/default/389ds-perl/Setup.pm +240 -0
  32. data/cookbooks/mu-master/files/default/389ds-perl/SetupDialogs.pm +243 -0
  33. data/cookbooks/mu-master/files/default/389ds-perl/SetupLog.pm +82 -0
  34. data/cookbooks/mu-master/files/default/setCertName.ldif +4 -0
  35. data/cookbooks/mu-master/libraries/mu.rb +2 -2
  36. data/cookbooks/mu-master/metadata.rb +1 -1
  37. data/cookbooks/mu-master/recipes/389ds.rb +71 -32
  38. data/cookbooks/mu-master/recipes/basepackages.rb +5 -0
  39. data/cookbooks/mu-master/recipes/default.rb +16 -5
  40. data/cookbooks/mu-master/recipes/init.rb +36 -3
  41. data/cookbooks/mu-master/recipes/ssl-certs.rb +6 -0
  42. data/cookbooks/mu-master/recipes/sssd.rb +85 -62
  43. data/cookbooks/mu-master/recipes/update_nagios_only.rb +7 -1
  44. data/cookbooks/mu-master/templates/default/389-directory-setup.inf.erb +11 -26
  45. data/cookbooks/mu-master/templates/default/sssd.conf.erb +18 -8
  46. data/cookbooks/mu-tools/files/default/Mu_CA.pem +33 -0
  47. data/cookbooks/mu-tools/metadata.rb +0 -1
  48. data/cookbooks/mu-tools/recipes/set_local_fw.rb +7 -1
  49. data/cookbooks/mu-tools/templates/amazon/sshd_config.erb +5 -1
  50. data/cookbooks/nagios/CHANGELOG.md +679 -0
  51. data/cookbooks/nagios/LICENSE +201 -0
  52. data/cookbooks/nagios/README.md +340 -0
  53. data/cookbooks/nagios/attributes/config.rb +163 -0
  54. data/cookbooks/nagios/attributes/default.rb +204 -0
  55. data/cookbooks/nagios/libraries/base.rb +311 -0
  56. data/cookbooks/nagios/libraries/command.rb +68 -0
  57. data/cookbooks/nagios/libraries/contact.rb +229 -0
  58. data/cookbooks/nagios/libraries/contactgroup.rb +111 -0
  59. data/cookbooks/{firewall/recipes/disable_firewall.rb → nagios/libraries/custom_option.rb} +20 -7
  60. data/cookbooks/nagios/libraries/data_bag_helper.rb +23 -0
  61. data/cookbooks/nagios/libraries/default.rb +90 -0
  62. data/cookbooks/nagios/libraries/helpers.rb +229 -0
  63. data/cookbooks/nagios/libraries/host.rb +410 -0
  64. data/cookbooks/nagios/libraries/hostdependency.rb +178 -0
  65. data/cookbooks/nagios/libraries/hostescalation.rb +170 -0
  66. data/cookbooks/nagios/libraries/hostgroup.rb +117 -0
  67. data/cookbooks/nagios/libraries/nagios.rb +277 -0
  68. data/cookbooks/nagios/libraries/resource.rb +59 -0
  69. data/cookbooks/nagios/libraries/service.rb +449 -0
  70. data/cookbooks/nagios/libraries/servicedependency.rb +213 -0
  71. data/cookbooks/nagios/libraries/serviceescalation.rb +193 -0
  72. data/cookbooks/nagios/libraries/servicegroup.rb +142 -0
  73. data/cookbooks/nagios/libraries/timeperiod.rb +159 -0
  74. data/cookbooks/nagios/libraries/users_helper.rb +54 -0
  75. data/cookbooks/nagios/metadata.json +44 -0
  76. data/cookbooks/nagios/metadata.rb +22 -0
  77. data/cookbooks/nagios/recipes/_load_databag_config.rb +153 -0
  78. data/cookbooks/nagios/recipes/_load_default_config.rb +241 -0
  79. data/cookbooks/nagios/recipes/apache.rb +114 -0
  80. data/cookbooks/nagios/recipes/default.rb +41 -0
  81. data/cookbooks/nagios/recipes/nginx.rb +114 -0
  82. data/cookbooks/nagios/recipes/pagerduty.rb +95 -0
  83. data/cookbooks/nagios/recipes/server.rb +182 -0
  84. data/cookbooks/nagios/recipes/server_package.rb +85 -0
  85. data/cookbooks/nagios/recipes/server_source.rb +137 -0
  86. data/cookbooks/nagios/resources/command.rb +34 -0
  87. data/cookbooks/nagios/resources/conf.rb +52 -0
  88. data/cookbooks/nagios/resources/contact.rb +34 -0
  89. data/cookbooks/nagios/resources/contactgroup.rb +35 -0
  90. data/cookbooks/nagios/resources/host.rb +35 -0
  91. data/cookbooks/nagios/resources/hostdependency.rb +35 -0
  92. data/cookbooks/nagios/resources/hostescalation.rb +36 -0
  93. data/cookbooks/nagios/resources/hostgroup.rb +35 -0
  94. data/cookbooks/nagios/resources/resource.rb +34 -0
  95. data/cookbooks/nagios/resources/service.rb +35 -0
  96. data/cookbooks/nagios/resources/servicedependency.rb +35 -0
  97. data/cookbooks/nagios/resources/serviceescalation.rb +35 -0
  98. data/cookbooks/nagios/resources/servicegroup.rb +35 -0
  99. data/cookbooks/nagios/resources/timeperiod.rb +35 -0
  100. data/cookbooks/nagios/templates/apache2.conf.erb +102 -0
  101. data/cookbooks/nagios/templates/cgi.cfg.erb +266 -0
  102. data/cookbooks/nagios/templates/commands.cfg.erb +13 -0
  103. data/cookbooks/nagios/templates/contacts.cfg.erb +37 -0
  104. data/cookbooks/nagios/templates/hostgroups.cfg.erb +25 -0
  105. data/cookbooks/nagios/templates/hosts.cfg.erb +15 -0
  106. data/cookbooks/nagios/templates/htpasswd.users.erb +6 -0
  107. data/cookbooks/nagios/templates/nagios.cfg.erb +22 -0
  108. data/cookbooks/nagios/templates/nginx.conf.erb +80 -0
  109. data/cookbooks/nagios/templates/pagerduty.cgi.erb +185 -0
  110. data/cookbooks/nagios/templates/resource.cfg.erb +27 -0
  111. data/cookbooks/nagios/templates/servicedependencies.cfg.erb +15 -0
  112. data/cookbooks/nagios/templates/servicegroups.cfg.erb +14 -0
  113. data/cookbooks/nagios/templates/services.cfg.erb +14 -0
  114. data/cookbooks/nagios/templates/spawn-fcgi.erb +10 -0
  115. data/cookbooks/nagios/templates/templates.cfg.erb +31 -0
  116. data/cookbooks/nagios/templates/timeperiods.cfg.erb +13 -0
  117. data/extras/platform_berksfile_base +3 -3
  118. data/extras/python_rpm/build.sh +4 -4
  119. data/extras/python_rpm/muthon.spec +2 -4
  120. data/extras/vault_tools/export_vaults.sh +11 -1
  121. data/install/installer +1 -1
  122. data/modules/mu/kittens.rb +27523 -0
  123. data/modules/mu/master/ldap.rb +48 -31
  124. data/modules/mu/master.rb +69 -0
  125. data/modules/mu/mu.yaml.rb +351 -0
  126. data/modules/mu/providers/aws/firewall_rule.rb +3 -1
  127. data/modules/mu/providers/aws.rb +11 -5
  128. data/modules/mu.rb +5 -4
  129. metadata +99 -48
  130. data/cookbooks/firewall/CHANGELOG.md +0 -488
  131. data/cookbooks/firewall/LICENSE +0 -202
  132. data/cookbooks/firewall/README.md +0 -366
  133. data/cookbooks/firewall/TODO.md +0 -6
  134. data/cookbooks/firewall/attributes/default.rb +0 -5
  135. data/cookbooks/firewall/attributes/firewalld.rb +0 -8
  136. data/cookbooks/firewall/attributes/iptables.rb +0 -17
  137. data/cookbooks/firewall/attributes/ufw.rb +0 -12
  138. data/cookbooks/firewall/attributes/windows.rb +0 -8
  139. data/cookbooks/firewall/libraries/helpers.rb +0 -105
  140. data/cookbooks/firewall/libraries/helpers_firewalld.rb +0 -116
  141. data/cookbooks/firewall/libraries/helpers_firewalld_dbus.rb +0 -72
  142. data/cookbooks/firewall/libraries/helpers_iptables.rb +0 -112
  143. data/cookbooks/firewall/libraries/helpers_nftables.rb +0 -170
  144. data/cookbooks/firewall/libraries/helpers_ufw.rb +0 -142
  145. data/cookbooks/firewall/libraries/helpers_windows.rb +0 -129
  146. data/cookbooks/firewall/libraries/provider_firewall_firewalld.rb +0 -179
  147. data/cookbooks/firewall/libraries/provider_firewall_iptables.rb +0 -171
  148. data/cookbooks/firewall/libraries/provider_firewall_iptables_ubuntu.rb +0 -200
  149. data/cookbooks/firewall/libraries/provider_firewall_iptables_ubuntu1404.rb +0 -200
  150. data/cookbooks/firewall/libraries/provider_firewall_rule.rb +0 -34
  151. data/cookbooks/firewall/libraries/provider_firewall_ufw.rb +0 -138
  152. data/cookbooks/firewall/libraries/provider_firewall_windows.rb +0 -126
  153. data/cookbooks/firewall/libraries/resource_firewall.rb +0 -26
  154. data/cookbooks/firewall/libraries/resource_firewall_rule.rb +0 -52
  155. data/cookbooks/firewall/metadata.json +0 -40
  156. data/cookbooks/firewall/metadata.rb +0 -15
  157. data/cookbooks/firewall/recipes/default.rb +0 -76
  158. data/cookbooks/firewall/recipes/firewalld.rb +0 -87
  159. data/cookbooks/firewall/resources/firewalld.rb +0 -28
  160. data/cookbooks/firewall/resources/firewalld_config.rb +0 -39
  161. data/cookbooks/firewall/resources/firewalld_helpers.rb +0 -106
  162. data/cookbooks/firewall/resources/firewalld_icmptype.rb +0 -88
  163. data/cookbooks/firewall/resources/firewalld_ipset.rb +0 -104
  164. data/cookbooks/firewall/resources/firewalld_policy.rb +0 -115
  165. data/cookbooks/firewall/resources/firewalld_service.rb +0 -98
  166. data/cookbooks/firewall/resources/firewalld_zone.rb +0 -118
  167. data/cookbooks/firewall/resources/nftables.rb +0 -71
  168. data/cookbooks/firewall/resources/nftables_rule.rb +0 -113
  169. data/cookbooks/firewall/templates/default/ufw/default.erb +0 -13
  170. /data/cookbooks/{firewall → nagios}/chefignore +0 -0
  171. /data/cookbooks/{firewall → nagios}/renovate.json +0 -0
@@ -1,8 +1,9 @@
1
1
  #
2
- # Cookbook:: firewall
3
- # Recipe:: disable_firewall
2
+ # Author:: Sander Botman <sbotman@schubergphilis.com>
3
+ # Cookbook:: nagios
4
+ # Library:: custom_option
4
5
  #
5
- # Copyright:: 2011-2019, Chef Software, Inc.
6
+ # Copyright:: 2015, Sander Botman
6
7
  #
7
8
  # Licensed under the Apache License, Version 2.0 (the "License");
8
9
  # you may not use this file except in compliance with the License.
@@ -15,9 +16,21 @@
15
16
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
17
  # See the License for the specific language governing permissions and
17
18
  # limitations under the License.
18
- #
19
19
 
20
- # Disable platform default firewall
21
- firewall 'default' do
22
- action :disable
20
+ class Nagios
21
+ #
22
+ # This class holds all methods with regard to custom_options
23
+ #
24
+ class CustomOption
25
+ attr_reader :value
26
+
27
+ def initialize(option, value)
28
+ @option = option
29
+ @value = value
30
+ end
31
+
32
+ def to_s
33
+ @option
34
+ end
35
+ end
23
36
  end
@@ -0,0 +1,23 @@
1
+ require 'chef/search/query'
2
+
3
+ # simplified access to databags in the nagios cookbook
4
+ class NagiosDataBags
5
+ attr_accessor :bag_list
6
+
7
+ def initialize(bag_list = Chef::DataBag.list)
8
+ @bag_list = bag_list
9
+ end
10
+
11
+ # Returns an array of data bag items or an empty array
12
+ # Avoids unecessary calls to search by checking against
13
+ # the list of known data bags.
14
+ def get(bag_name)
15
+ results = []
16
+ if @bag_list.include?(bag_name)
17
+ Chef::Search::Query.new.search(bag_name.to_s, '*:*') { |rows| results << rows }
18
+ else
19
+ Chef::Log.info "The #{bag_name} data bag does not exist."
20
+ end
21
+ results
22
+ end
23
+ end
@@ -0,0 +1,90 @@
1
+ #
2
+ # Author:: Joshua Sierles <joshua@37signals.com>
3
+ # Author:: Tim Smith <tsmith@chef.io>
4
+ # Cookbook:: nagios
5
+ # Library:: default
6
+ #
7
+ # Copyright:: 2009, 37signals
8
+ #
9
+ # Licensed under the Apache License, Version 2.0 (the "License");
10
+ # you may not use this file except in compliance with the License.
11
+ # You may obtain a copy of the License at
12
+ #
13
+ # http://www.apache.org/licenses/LICENSE-2.0
14
+ #
15
+ # Unless required by applicable law or agreed to in writing, software
16
+ # distributed under the License is distributed on an "AS IS" BASIS,
17
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ # See the License for the specific language governing permissions and
19
+ # limitations under the License.
20
+ #
21
+ def nagios_boolean(true_or_false)
22
+ true_or_false ? '1' : '0'
23
+ end
24
+
25
+ def nagios_interval(seconds)
26
+ if seconds.to_i == 0
27
+ raise ArgumentError, 'Specified nagios interval of 0 seconds is not allowed'
28
+ end
29
+ interval = seconds
30
+ if node['nagios']['conf']['interval_length'].to_i != 1
31
+ interval = seconds.to_f / node['nagios']['conf']['interval_length']
32
+ end
33
+ interval
34
+ end
35
+
36
+ def nagios_array(exp)
37
+ return [] if exp.nil?
38
+ case exp
39
+ when String
40
+ [exp]
41
+ else
42
+ exp
43
+ end
44
+ end
45
+
46
+ def nagios_action_delete?(action)
47
+ if action.is_a?(Symbol)
48
+ return true if action == :delete || action == :remove
49
+ elsif action.is_a?(Array)
50
+ return true if action.include?(:delete) || action.include?(:remove)
51
+ else
52
+ false
53
+ end
54
+ end
55
+
56
+ def nagios_action_create?(action)
57
+ if action.is_a?(Symbol)
58
+ return true if action == :create || action == :add
59
+ elsif action.is_a?(Array)
60
+ return true if action.include?(:create) || action.include?(:add)
61
+ else
62
+ false
63
+ end
64
+ end
65
+
66
+ def nagios_attr(name)
67
+ node['nagios'][name]
68
+ end
69
+
70
+ # decide whether to use internal or external IP addresses for this node
71
+ # if the nagios server is not in the cloud, always use public IP addresses for cloud nodes.
72
+ # if the nagios server is in the cloud, use private IP addresses for any
73
+ # cloud servers in the same cloud, public IPs for servers in other clouds
74
+ # (where other is defined by node['cloud']['provider'])
75
+ # if the cloud IP is nil then use the standard IP address attribute. This is a work around
76
+ # for OHAI incorrectly identifying systems on Cisco hardware as being in Rackspace
77
+ def ip_to_monitor(monitored_host, server_host = node)
78
+ # if interface to monitor is specified implicitly use that
79
+ if node['nagios']['monitoring_interface'] && node['network']["ipaddress_#{node['nagios']['monitoring_interface']}"]
80
+ node['network']["ipaddress_#{node['nagios']['monitoring_interface']}"]
81
+ # if server is not in the cloud and the monitored host is
82
+ elsif server_host['cloud'].nil? && monitored_host['cloud']
83
+ monitored_host['cloud']['public_ipv4'].include?('.') ? monitored_host['cloud']['public_ipv4'] : monitored_host['ipaddress']
84
+ # if server host is in the cloud and the monitored node is as well, but they are not on the same provider
85
+ elsif server_host['cloud'] && monitored_host['cloud'] && monitored_host['cloud']['provider'] != server_host['cloud']['provider']
86
+ monitored_host['cloud']['public_ipv4'].include?('.') ? monitored_host['cloud']['public_ipv4'] : monitored_host['ipaddress']
87
+ else
88
+ monitored_host['ipaddress']
89
+ end
90
+ end
@@ -0,0 +1,229 @@
1
+ module NagiosCookbook
2
+ module Helpers
3
+ def nagios_vname
4
+ if !node['nagios']['server'].nil? && node['nagios']['server']['install_method'] == 'source'
5
+ 'nagios'
6
+ elsif platform_family?('rhel')
7
+ 'nagios'
8
+ elsif platform?('debian')
9
+ 'nagios4'
10
+ elsif platform?('ubuntu')
11
+ 'nagios4'
12
+ end
13
+ end
14
+
15
+ def nagios_packages
16
+ if platform_family?('rhel')
17
+ %w(nagios nagios-plugins-nrpe)
18
+ elsif platform?('debian')
19
+ %w(nagios4 nagios-nrpe-plugin nagios-images)
20
+ elsif platform?('ubuntu')
21
+ %w(nagios4 nagios-nrpe-plugin nagios-images)
22
+ end
23
+ end
24
+
25
+ def nagios_php_gd_package
26
+ if platform_family?('rhel')
27
+ 'php-gd'
28
+ elsif platform?('debian')
29
+ case node['platform_version'].to_i
30
+ when 11
31
+ 'php7.4-gd'
32
+ else
33
+ 'php8.2-gd'
34
+ end
35
+ elsif platform?('ubuntu')
36
+ case node['platform_version'].to_f
37
+ when 20.04
38
+ 'php7.4-gd'
39
+ when 22.04
40
+ 'php8.1-gd'
41
+ else
42
+ 'php8.3-gd'
43
+ end
44
+ end
45
+ end
46
+
47
+ def nagios_server_dependencies
48
+ if platform_family?('rhel')
49
+ %w(openssl-devel gd-devel tar unzip)
50
+ else
51
+ %w(libssl-dev libgdchart-gd2-xpm-dev bsd-mailx tar unzip)
52
+ end
53
+ end
54
+
55
+ def nagios_nginx_dispatch_packages
56
+ if platform_family?('rhel')
57
+ %w(spawn-fcgi fcgiwrap)
58
+ else
59
+ %w(fcgiwrap)
60
+ end
61
+ end
62
+
63
+ def nagios_nginx_dispatch_services
64
+ if platform_family?('rhel')
65
+ %w(spawn-fcgi)
66
+ else
67
+ %w(fcgiwrap)
68
+ end
69
+ end
70
+
71
+ def nagios_nginx_user
72
+ if platform_family?('rhel')
73
+ 'nginx'
74
+ else
75
+ 'www-data'
76
+ end
77
+ end
78
+
79
+ def nagios_nginx_group
80
+ if platform_family?('rhel')
81
+ 'nginx'
82
+ else
83
+ 'www-data'
84
+ end
85
+ end
86
+
87
+ def nagios_home
88
+ if platform_family?('rhel')
89
+ '/var/spool/nagios'
90
+ else
91
+ "/usr/lib/#{nagios_vname}"
92
+ end
93
+ end
94
+
95
+ def nagios_plugin_dir
96
+ case node['platform_family']
97
+ when 'debian'
98
+ '/usr/lib/nagios/plugins'
99
+ when 'rhel'
100
+ node['kernel']['machine'] == 'i686' ? '/usr/lib/nagios/plugins' : '/usr/lib64/nagios/plugins'
101
+ else
102
+ '/usr/lib/nagios/plugins'
103
+ end
104
+ end
105
+
106
+ def nagios_conf_dir
107
+ "/etc/#{nagios_vname}"
108
+ end
109
+
110
+ def nagios_config_dir
111
+ "#{nagios_conf_dir}/conf.d"
112
+ end
113
+
114
+ def nagios_distro_config_dir
115
+ if platform_family?('rhel')
116
+ "#{nagios_conf_dir}/objects"
117
+ else
118
+ "#{nagios_conf_dir}/dist"
119
+ end
120
+ end
121
+
122
+ def nagios_log_dir
123
+ "/var/log/#{nagios_vname}"
124
+ end
125
+
126
+ def nagios_cache_dir
127
+ if platform_family?('rhel')
128
+ '/var/log/nagios'
129
+ else
130
+ "/var/cache/#{nagios_vname}"
131
+ end
132
+ end
133
+
134
+ def nagios_state_dir
135
+ if platform_family?('rhel')
136
+ '/var/log/nagios'
137
+ else
138
+ "/var/lib/#{nagios_vname}"
139
+ end
140
+ end
141
+
142
+ def nagios_run_dir
143
+ if platform_family?('rhel')
144
+ if platform?('centos') && node['platform_version'].to_i < 7
145
+ '/var/run'
146
+ else
147
+ '/var/run/nagios'
148
+ end
149
+ else
150
+ "/var/run/#{nagios_vname}"
151
+ end
152
+ end
153
+
154
+ def nagios_docroot
155
+ if platform_family?('rhel')
156
+ '/usr/share/nagios/html'
157
+ else
158
+ "/usr/share/#{nagios_vname}/htdocs"
159
+ end
160
+ end
161
+
162
+ def nagios_cgi_bin
163
+ if platform_family?('rhel')
164
+ '/usr/lib64/nagios/cgi-bin/'
165
+ else
166
+ "/usr/lib/cgi-bin/#{nagios_vname}"
167
+ end
168
+ end
169
+
170
+ def nagios_service_name
171
+ nagios_vname
172
+ end
173
+
174
+ def nagios_mail_command
175
+ if platform_family?('rhel')
176
+ '/bin/mail'
177
+ else
178
+ '/usr/bin/mail'
179
+ end
180
+ end
181
+
182
+ def nagios_cgi_path
183
+ if platform_family?('rhel')
184
+ '/nagios/cgi-bin/'
185
+ else
186
+ "/cgi-bin/#{nagios_service_name}"
187
+ end
188
+ end
189
+
190
+ def nagios_check_result_path
191
+ if platform?('centos') && node['platform_version'].to_i >= 7
192
+ "#{nagios_home}/checkresults"
193
+ else
194
+ "#{nagios_state_dir}/spool/checkresults"
195
+ end
196
+ end
197
+
198
+ def nagios_conf_p1_file
199
+ case node['platform_family']
200
+ when 'debian'
201
+ "#{nagios_home}/p1.pl"
202
+ when 'rhel'
203
+ '/usr/sbin/p1.pl'
204
+ else
205
+ "#{nagios_home}/p1.pl"
206
+ end
207
+ end
208
+
209
+ def nagios_install_method
210
+ if platform_family?('rhel', 'debian')
211
+ 'package'
212
+ else
213
+ 'source'
214
+ end
215
+ end
216
+
217
+ def nagios_pagerduty_packages
218
+ case node['platform_family']
219
+ when 'rhel'
220
+ %w(perl-CGI perl-JSON perl-libwww-perl perl-Sys-Syslog)
221
+ when 'debian'
222
+ %w(libcgi-pm-perl libjson-perl libwww-perl)
223
+ end
224
+ end
225
+ end
226
+ end
227
+ Chef::DSL::Recipe.include ::NagiosCookbook::Helpers
228
+ Chef::Resource.include ::NagiosCookbook::Helpers
229
+ Chef::Node.include ::NagiosCookbook::Helpers