cloud-mu 2.1.0beta → 3.0.0beta

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 (291) hide show
  1. checksums.yaml +5 -5
  2. data/Berksfile +4 -5
  3. data/Berksfile.lock +179 -0
  4. data/README.md +1 -6
  5. data/ansible/roles/geerlingguy.firewall/templates/firewall.bash.j2 +0 -0
  6. data/ansible/roles/mu-installer/README.md +33 -0
  7. data/ansible/roles/mu-installer/defaults/main.yml +2 -0
  8. data/ansible/roles/mu-installer/handlers/main.yml +2 -0
  9. data/ansible/roles/mu-installer/meta/main.yml +60 -0
  10. data/ansible/roles/mu-installer/tasks/main.yml +13 -0
  11. data/ansible/roles/mu-installer/tests/inventory +2 -0
  12. data/ansible/roles/mu-installer/tests/test.yml +5 -0
  13. data/ansible/roles/mu-installer/vars/main.yml +2 -0
  14. data/bin/mu-adopt +125 -0
  15. data/bin/mu-aws-setup +4 -4
  16. data/bin/mu-azure-setup +265 -0
  17. data/bin/mu-azure-tests +43 -0
  18. data/bin/mu-cleanup +20 -8
  19. data/bin/mu-configure +224 -98
  20. data/bin/mu-deploy +8 -3
  21. data/bin/mu-gcp-setup +16 -8
  22. data/bin/mu-gen-docs +92 -8
  23. data/bin/mu-load-config.rb +52 -12
  24. data/bin/mu-momma-cat +36 -0
  25. data/bin/mu-node-manage +34 -27
  26. data/bin/mu-self-update +2 -2
  27. data/bin/mu-ssh +12 -8
  28. data/bin/mu-upload-chef-artifacts +11 -4
  29. data/bin/mu-user-manage +3 -0
  30. data/cloud-mu.gemspec +8 -11
  31. data/cookbooks/firewall/libraries/helpers_iptables.rb +2 -2
  32. data/cookbooks/firewall/metadata.json +1 -1
  33. data/cookbooks/firewall/recipes/default.rb +5 -9
  34. data/cookbooks/mu-firewall/attributes/default.rb +2 -0
  35. data/cookbooks/mu-firewall/metadata.rb +1 -1
  36. data/cookbooks/mu-glusterfs/templates/default/mu-gluster-client.erb +0 -0
  37. data/cookbooks/mu-master/Berksfile +2 -2
  38. data/cookbooks/mu-master/files/default/check_mem.pl +0 -0
  39. data/cookbooks/mu-master/files/default/cloudamatic.png +0 -0
  40. data/cookbooks/mu-master/metadata.rb +5 -4
  41. data/cookbooks/mu-master/recipes/389ds.rb +1 -1
  42. data/cookbooks/mu-master/recipes/basepackages.rb +30 -10
  43. data/cookbooks/mu-master/recipes/default.rb +59 -7
  44. data/cookbooks/mu-master/recipes/firewall-holes.rb +1 -1
  45. data/cookbooks/mu-master/recipes/init.rb +65 -47
  46. data/cookbooks/mu-master/recipes/{eks-kubectl.rb → kubectl.rb} +4 -10
  47. data/cookbooks/mu-master/recipes/sssd.rb +2 -1
  48. data/cookbooks/mu-master/recipes/update_nagios_only.rb +6 -6
  49. data/cookbooks/mu-master/templates/default/web_app.conf.erb +2 -2
  50. data/cookbooks/mu-master/templates/mods/ldap.conf.erb +4 -0
  51. data/cookbooks/mu-php54/Berksfile +1 -2
  52. data/cookbooks/mu-php54/metadata.rb +4 -5
  53. data/cookbooks/mu-php54/recipes/default.rb +1 -1
  54. data/cookbooks/mu-splunk/templates/default/splunk-init.erb +0 -0
  55. data/cookbooks/mu-tools/Berksfile +3 -2
  56. data/cookbooks/mu-tools/files/default/Mu_CA.pem +33 -0
  57. data/cookbooks/mu-tools/libraries/helper.rb +20 -8
  58. data/cookbooks/mu-tools/metadata.rb +5 -2
  59. data/cookbooks/mu-tools/recipes/apply_security.rb +2 -3
  60. data/cookbooks/mu-tools/recipes/eks.rb +1 -1
  61. data/cookbooks/mu-tools/recipes/gcloud.rb +5 -30
  62. data/cookbooks/mu-tools/recipes/nagios.rb +1 -1
  63. data/cookbooks/mu-tools/recipes/rsyslog.rb +1 -0
  64. data/cookbooks/mu-tools/recipes/selinux.rb +19 -0
  65. data/cookbooks/mu-tools/recipes/split_var_partitions.rb +0 -1
  66. data/cookbooks/mu-tools/recipes/windows-client.rb +256 -122
  67. data/cookbooks/mu-tools/resources/disk.rb +3 -1
  68. data/cookbooks/mu-tools/templates/amazon/sshd_config.erb +1 -1
  69. data/cookbooks/mu-tools/templates/default/etc_hosts.erb +1 -1
  70. data/cookbooks/mu-tools/templates/default/{kubeconfig.erb → kubeconfig-eks.erb} +0 -0
  71. data/cookbooks/mu-tools/templates/default/kubeconfig-gke.erb +27 -0
  72. data/cookbooks/mu-tools/templates/windows-10/sshd_config.erb +137 -0
  73. data/cookbooks/mu-utility/recipes/nat.rb +4 -0
  74. data/extras/alpha.png +0 -0
  75. data/extras/beta.png +0 -0
  76. data/extras/clean-stock-amis +2 -2
  77. data/extras/generate-stock-images +131 -0
  78. data/extras/git-fix-permissions-hook +0 -0
  79. data/extras/image-generators/AWS/centos6.yaml +17 -0
  80. data/extras/image-generators/{aws → AWS}/centos7-govcloud.yaml +0 -0
  81. data/extras/image-generators/{aws → AWS}/centos7.yaml +0 -0
  82. data/extras/image-generators/{aws → AWS}/rhel7.yaml +0 -0
  83. data/extras/image-generators/{aws → AWS}/win2k12.yaml +0 -0
  84. data/extras/image-generators/{aws → AWS}/win2k16.yaml +0 -0
  85. data/extras/image-generators/{aws → AWS}/windows.yaml +0 -0
  86. data/extras/image-generators/{gcp → Google}/centos6.yaml +1 -0
  87. data/extras/image-generators/Google/centos7.yaml +18 -0
  88. data/extras/python_rpm/build.sh +0 -0
  89. data/extras/release.png +0 -0
  90. data/extras/ruby_rpm/build.sh +0 -0
  91. data/extras/ruby_rpm/muby.spec +1 -1
  92. data/install/README.md +43 -5
  93. data/install/deprecated-bash-library.sh +0 -0
  94. data/install/installer +1 -1
  95. data/install/jenkinskeys.rb +0 -0
  96. data/install/mu-master.yaml +55 -0
  97. data/modules/mommacat.ru +41 -7
  98. data/modules/mu.rb +444 -149
  99. data/modules/mu/adoption.rb +500 -0
  100. data/modules/mu/cleanup.rb +235 -158
  101. data/modules/mu/cloud.rb +675 -138
  102. data/modules/mu/clouds/aws.rb +156 -24
  103. data/modules/mu/clouds/aws/alarm.rb +4 -14
  104. data/modules/mu/clouds/aws/bucket.rb +60 -18
  105. data/modules/mu/clouds/aws/cache_cluster.rb +8 -20
  106. data/modules/mu/clouds/aws/collection.rb +12 -22
  107. data/modules/mu/clouds/aws/container_cluster.rb +209 -118
  108. data/modules/mu/clouds/aws/database.rb +120 -45
  109. data/modules/mu/clouds/aws/dnszone.rb +7 -18
  110. data/modules/mu/clouds/aws/endpoint.rb +5 -15
  111. data/modules/mu/clouds/aws/firewall_rule.rb +144 -72
  112. data/modules/mu/clouds/aws/folder.rb +4 -11
  113. data/modules/mu/clouds/aws/function.rb +6 -16
  114. data/modules/mu/clouds/aws/group.rb +4 -12
  115. data/modules/mu/clouds/aws/habitat.rb +11 -13
  116. data/modules/mu/clouds/aws/loadbalancer.rb +40 -28
  117. data/modules/mu/clouds/aws/log.rb +5 -13
  118. data/modules/mu/clouds/aws/msg_queue.rb +9 -24
  119. data/modules/mu/clouds/aws/nosqldb.rb +4 -12
  120. data/modules/mu/clouds/aws/notifier.rb +6 -13
  121. data/modules/mu/clouds/aws/role.rb +69 -40
  122. data/modules/mu/clouds/aws/search_domain.rb +17 -20
  123. data/modules/mu/clouds/aws/server.rb +184 -94
  124. data/modules/mu/clouds/aws/server_pool.rb +33 -38
  125. data/modules/mu/clouds/aws/storage_pool.rb +5 -12
  126. data/modules/mu/clouds/aws/user.rb +59 -33
  127. data/modules/mu/clouds/aws/userdata/linux.erb +18 -30
  128. data/modules/mu/clouds/aws/userdata/windows.erb +9 -9
  129. data/modules/mu/clouds/aws/vpc.rb +214 -145
  130. data/modules/mu/clouds/azure.rb +978 -44
  131. data/modules/mu/clouds/azure/container_cluster.rb +413 -0
  132. data/modules/mu/clouds/azure/firewall_rule.rb +500 -0
  133. data/modules/mu/clouds/azure/habitat.rb +167 -0
  134. data/modules/mu/clouds/azure/loadbalancer.rb +205 -0
  135. data/modules/mu/clouds/azure/role.rb +211 -0
  136. data/modules/mu/clouds/azure/server.rb +810 -0
  137. data/modules/mu/clouds/azure/user.rb +257 -0
  138. data/modules/mu/clouds/azure/userdata/README.md +4 -0
  139. data/modules/mu/clouds/azure/userdata/linux.erb +137 -0
  140. data/modules/mu/clouds/azure/userdata/windows.erb +275 -0
  141. data/modules/mu/clouds/azure/vpc.rb +782 -0
  142. data/modules/mu/clouds/cloudformation.rb +12 -9
  143. data/modules/mu/clouds/cloudformation/firewall_rule.rb +5 -13
  144. data/modules/mu/clouds/cloudformation/server.rb +10 -1
  145. data/modules/mu/clouds/cloudformation/server_pool.rb +1 -0
  146. data/modules/mu/clouds/cloudformation/vpc.rb +0 -2
  147. data/modules/mu/clouds/google.rb +554 -117
  148. data/modules/mu/clouds/google/bucket.rb +173 -32
  149. data/modules/mu/clouds/google/container_cluster.rb +1112 -157
  150. data/modules/mu/clouds/google/database.rb +24 -47
  151. data/modules/mu/clouds/google/firewall_rule.rb +344 -89
  152. data/modules/mu/clouds/google/folder.rb +156 -79
  153. data/modules/mu/clouds/google/group.rb +272 -82
  154. data/modules/mu/clouds/google/habitat.rb +177 -52
  155. data/modules/mu/clouds/google/loadbalancer.rb +9 -34
  156. data/modules/mu/clouds/google/role.rb +1211 -0
  157. data/modules/mu/clouds/google/server.rb +491 -227
  158. data/modules/mu/clouds/google/server_pool.rb +233 -48
  159. data/modules/mu/clouds/google/user.rb +479 -125
  160. data/modules/mu/clouds/google/userdata/linux.erb +3 -3
  161. data/modules/mu/clouds/google/userdata/windows.erb +9 -9
  162. data/modules/mu/clouds/google/vpc.rb +381 -223
  163. data/modules/mu/config.rb +689 -214
  164. data/modules/mu/config/bucket.rb +1 -1
  165. data/modules/mu/config/cache_cluster.rb +1 -1
  166. data/modules/mu/config/cache_cluster.yml +0 -4
  167. data/modules/mu/config/container_cluster.rb +18 -9
  168. data/modules/mu/config/database.rb +6 -23
  169. data/modules/mu/config/firewall_rule.rb +9 -15
  170. data/modules/mu/config/folder.rb +22 -21
  171. data/modules/mu/config/habitat.rb +22 -21
  172. data/modules/mu/config/loadbalancer.rb +2 -2
  173. data/modules/mu/config/role.rb +9 -40
  174. data/modules/mu/config/server.rb +26 -5
  175. data/modules/mu/config/server_pool.rb +1 -1
  176. data/modules/mu/config/storage_pool.rb +2 -2
  177. data/modules/mu/config/user.rb +4 -0
  178. data/modules/mu/config/vpc.rb +350 -110
  179. data/modules/mu/defaults/{amazon_images.yaml → AWS.yaml} +37 -39
  180. data/modules/mu/defaults/Azure.yaml +17 -0
  181. data/modules/mu/defaults/Google.yaml +24 -0
  182. data/modules/mu/defaults/README.md +1 -1
  183. data/modules/mu/deploy.rb +168 -125
  184. data/modules/mu/groomer.rb +2 -1
  185. data/modules/mu/groomers/ansible.rb +104 -32
  186. data/modules/mu/groomers/chef.rb +96 -44
  187. data/modules/mu/kittens.rb +20602 -0
  188. data/modules/mu/logger.rb +38 -11
  189. data/modules/mu/master.rb +90 -8
  190. data/modules/mu/master/chef.rb +2 -3
  191. data/modules/mu/master/ldap.rb +0 -1
  192. data/modules/mu/master/ssl.rb +250 -0
  193. data/modules/mu/mommacat.rb +917 -513
  194. data/modules/scratchpad.erb +1 -1
  195. data/modules/tests/super_complex_bok.yml +0 -0
  196. data/modules/tests/super_simple_bok.yml +0 -0
  197. data/roles/mu-master.json +2 -1
  198. data/spec/azure_creds +5 -0
  199. data/spec/mu.yaml +56 -0
  200. data/spec/mu/clouds/azure_spec.rb +164 -27
  201. data/spec/spec_helper.rb +5 -0
  202. data/test/clean_up.py +0 -0
  203. data/test/exec_inspec.py +0 -0
  204. data/test/exec_mu_install.py +0 -0
  205. data/test/exec_retry.py +0 -0
  206. data/test/smoke_test.rb +0 -0
  207. metadata +90 -118
  208. data/cookbooks/mu-jenkins/Berksfile +0 -14
  209. data/cookbooks/mu-jenkins/CHANGELOG.md +0 -13
  210. data/cookbooks/mu-jenkins/LICENSE +0 -37
  211. data/cookbooks/mu-jenkins/README.md +0 -105
  212. data/cookbooks/mu-jenkins/attributes/default.rb +0 -42
  213. data/cookbooks/mu-jenkins/files/default/cleanup_deploy_config.xml +0 -73
  214. data/cookbooks/mu-jenkins/files/default/deploy_config.xml +0 -44
  215. data/cookbooks/mu-jenkins/metadata.rb +0 -21
  216. data/cookbooks/mu-jenkins/recipes/default.rb +0 -195
  217. data/cookbooks/mu-jenkins/recipes/node-ssh-config.rb +0 -54
  218. data/cookbooks/mu-jenkins/recipes/public_key.rb +0 -24
  219. data/cookbooks/mu-jenkins/templates/default/example_job.config.xml.erb +0 -24
  220. data/cookbooks/mu-jenkins/templates/default/org.jvnet.hudson.plugins.SSHBuildWrapper.xml.erb +0 -14
  221. data/cookbooks/mu-jenkins/templates/default/ssh_config.erb +0 -6
  222. data/cookbooks/nagios/Berksfile +0 -11
  223. data/cookbooks/nagios/CHANGELOG.md +0 -589
  224. data/cookbooks/nagios/CONTRIBUTING.md +0 -11
  225. data/cookbooks/nagios/LICENSE +0 -37
  226. data/cookbooks/nagios/README.md +0 -328
  227. data/cookbooks/nagios/TESTING.md +0 -2
  228. data/cookbooks/nagios/attributes/config.rb +0 -171
  229. data/cookbooks/nagios/attributes/default.rb +0 -228
  230. data/cookbooks/nagios/chefignore +0 -102
  231. data/cookbooks/nagios/definitions/command.rb +0 -33
  232. data/cookbooks/nagios/definitions/contact.rb +0 -33
  233. data/cookbooks/nagios/definitions/contactgroup.rb +0 -33
  234. data/cookbooks/nagios/definitions/host.rb +0 -33
  235. data/cookbooks/nagios/definitions/hostdependency.rb +0 -33
  236. data/cookbooks/nagios/definitions/hostescalation.rb +0 -34
  237. data/cookbooks/nagios/definitions/hostgroup.rb +0 -33
  238. data/cookbooks/nagios/definitions/nagios_conf.rb +0 -38
  239. data/cookbooks/nagios/definitions/resource.rb +0 -33
  240. data/cookbooks/nagios/definitions/service.rb +0 -33
  241. data/cookbooks/nagios/definitions/servicedependency.rb +0 -33
  242. data/cookbooks/nagios/definitions/serviceescalation.rb +0 -34
  243. data/cookbooks/nagios/definitions/servicegroup.rb +0 -33
  244. data/cookbooks/nagios/definitions/timeperiod.rb +0 -33
  245. data/cookbooks/nagios/libraries/base.rb +0 -314
  246. data/cookbooks/nagios/libraries/command.rb +0 -91
  247. data/cookbooks/nagios/libraries/contact.rb +0 -230
  248. data/cookbooks/nagios/libraries/contactgroup.rb +0 -112
  249. data/cookbooks/nagios/libraries/custom_option.rb +0 -36
  250. data/cookbooks/nagios/libraries/data_bag_helper.rb +0 -23
  251. data/cookbooks/nagios/libraries/default.rb +0 -90
  252. data/cookbooks/nagios/libraries/host.rb +0 -412
  253. data/cookbooks/nagios/libraries/hostdependency.rb +0 -181
  254. data/cookbooks/nagios/libraries/hostescalation.rb +0 -173
  255. data/cookbooks/nagios/libraries/hostgroup.rb +0 -119
  256. data/cookbooks/nagios/libraries/nagios.rb +0 -282
  257. data/cookbooks/nagios/libraries/resource.rb +0 -59
  258. data/cookbooks/nagios/libraries/service.rb +0 -455
  259. data/cookbooks/nagios/libraries/servicedependency.rb +0 -215
  260. data/cookbooks/nagios/libraries/serviceescalation.rb +0 -195
  261. data/cookbooks/nagios/libraries/servicegroup.rb +0 -144
  262. data/cookbooks/nagios/libraries/timeperiod.rb +0 -160
  263. data/cookbooks/nagios/libraries/users_helper.rb +0 -54
  264. data/cookbooks/nagios/metadata.rb +0 -25
  265. data/cookbooks/nagios/recipes/_load_databag_config.rb +0 -153
  266. data/cookbooks/nagios/recipes/_load_default_config.rb +0 -241
  267. data/cookbooks/nagios/recipes/apache.rb +0 -48
  268. data/cookbooks/nagios/recipes/default.rb +0 -204
  269. data/cookbooks/nagios/recipes/nginx.rb +0 -82
  270. data/cookbooks/nagios/recipes/pagerduty.rb +0 -143
  271. data/cookbooks/nagios/recipes/server_package.rb +0 -40
  272. data/cookbooks/nagios/recipes/server_source.rb +0 -164
  273. data/cookbooks/nagios/templates/default/apache2.conf.erb +0 -96
  274. data/cookbooks/nagios/templates/default/cgi.cfg.erb +0 -266
  275. data/cookbooks/nagios/templates/default/commands.cfg.erb +0 -13
  276. data/cookbooks/nagios/templates/default/contacts.cfg.erb +0 -37
  277. data/cookbooks/nagios/templates/default/hostgroups.cfg.erb +0 -25
  278. data/cookbooks/nagios/templates/default/hosts.cfg.erb +0 -15
  279. data/cookbooks/nagios/templates/default/htpasswd.users.erb +0 -6
  280. data/cookbooks/nagios/templates/default/nagios.cfg.erb +0 -22
  281. data/cookbooks/nagios/templates/default/nginx.conf.erb +0 -62
  282. data/cookbooks/nagios/templates/default/pagerduty.cgi.erb +0 -185
  283. data/cookbooks/nagios/templates/default/resource.cfg.erb +0 -27
  284. data/cookbooks/nagios/templates/default/servicedependencies.cfg.erb +0 -15
  285. data/cookbooks/nagios/templates/default/servicegroups.cfg.erb +0 -14
  286. data/cookbooks/nagios/templates/default/services.cfg.erb +0 -14
  287. data/cookbooks/nagios/templates/default/templates.cfg.erb +0 -31
  288. data/cookbooks/nagios/templates/default/timeperiods.cfg.erb +0 -13
  289. data/extras/image-generators/aws/centos6.yaml +0 -18
  290. data/modules/mu/defaults/google_images.yaml +0 -16
  291. data/roles/mu-master-jenkins.json +0 -24
@@ -1,228 +0,0 @@
1
- #
2
- # Author:: Seth Chisamore <schisamo@getchef.com>
3
- # Author:: Tim Smith <tsmith@chef.io>
4
- # Cookbook Name:: nagios
5
- # Attributes:: default
6
- #
7
- # Copyright 2011-2016, Chef Software, Inc.
8
- # Copyright 2013-2014, Limelight Networks, Inc
9
- #
10
- # Licensed under the Apache License, Version 2.0 (the "License");
11
- # you may not use this file except in compliance with the License.
12
- # You may obtain a copy of the License at
13
- #
14
- # http://www.apache.org/licenses/LICENSE-2.0
15
- #
16
- # Unless required by applicable law or agreed to in writing, software
17
- # distributed under the License is distributed on an "AS IS" BASIS,
18
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
- # See the License for the specific language governing permissions and
20
- # limitations under the License.
21
- #
22
-
23
- # Allow a Nagios server to monitor hosts in multiple environments.
24
- default['nagios']['multi_environment_monitoring'] = false
25
- default['nagios']['monitored_environments'] = []
26
-
27
- default['nagios']['user'] = 'nagios'
28
- default['nagios']['group'] = 'nagios'
29
-
30
- # Allow specifying which interface on clients to monitor (which IP address to monitor)
31
- default['nagios']['monitoring_interface'] = nil
32
-
33
- case node['platform_family']
34
- when 'debian'
35
- default['nagios']['plugin_dir'] = '/usr/lib/nagios/plugins'
36
- when 'rhel', 'fedora'
37
- default['nagios']['plugin_dir'] = node['kernel']['machine'] == 'i686' ? '/usr/lib/nagios/plugins' : '/usr/lib64/nagios/plugins'
38
- else
39
- default['nagios']['plugin_dir'] = '/usr/lib/nagios/plugins'
40
- end
41
-
42
- # platform specific directories
43
- case node['platform_family']
44
- when 'rhel', 'fedora'
45
- default['nagios']['home'] = '/var/spool/nagios'
46
- default['nagios']['conf_dir'] = '/etc/nagios'
47
- default['nagios']['resource_dir'] = '/etc/nagios'
48
- default['nagios']['config_dir'] = '/etc/nagios/conf.d'
49
- default['nagios']['log_dir'] = '/var/log/nagios'
50
- default['nagios']['cache_dir'] = '/var/log/nagios'
51
- default['nagios']['state_dir'] = '/var/log/nagios'
52
- default['nagios']['run_dir'] = '/var/run/nagios'
53
- default['nagios']['docroot'] = '/usr/share/nagios/html'
54
- default['nagios']['cgi-bin'] = '/usr/lib64/nagios/cgi-bin/'
55
- else
56
- default['nagios']['home'] = '/usr/lib/nagios3'
57
- default['nagios']['conf_dir'] = '/etc/nagios3'
58
- default['nagios']['resource_dir'] = '/etc/nagios3'
59
- default['nagios']['config_dir'] = '/etc/nagios3/conf.d'
60
- default['nagios']['log_dir'] = '/var/log/nagios3'
61
- default['nagios']['cache_dir'] = '/var/cache/nagios3'
62
- default['nagios']['state_dir'] = '/var/lib/nagios3'
63
- default['nagios']['run_dir'] = '/var/run/nagios3'
64
- default['nagios']['docroot'] = '/usr/share/nagios3/htdocs'
65
- default['nagios']['cgi-bin'] = '/usr/lib/cgi-bin/nagios3'
66
- end
67
-
68
- # platform specific atttributes
69
- case node['platform_family']
70
- when 'debian'
71
- default['nagios']['server']['install_method'] = 'package'
72
- default['nagios']['server']['service_name'] = 'nagios3'
73
- default['nagios']['server']['mail_command'] = '/usr/bin/mail'
74
- default['nagios']['cgi-path'] = "/cgi-bin/#{node['nagios']['server']['service_name']}"
75
- when 'rhel', 'fedora'
76
- default['nagios']['cgi-path'] = '/nagios/cgi-bin/'
77
- # install via source on RHEL releases less than 6, otherwise use packages
78
- method = node['platform_family'] == 'rhel' && node['platform_version'].to_i < 6 ? 'source' : 'package'
79
- default['nagios']['server']['install_method'] = method
80
- default['nagios']['server']['service_name'] = 'nagios'
81
- default['nagios']['server']['mail_command'] = '/bin/mail'
82
- else
83
- default['nagios']['server']['install_method'] = 'source'
84
- default['nagios']['server']['service_name'] = 'nagios'
85
- default['nagios']['server']['mail_command'] = '/bin/mail'
86
- end
87
-
88
- # webserver configuration
89
- default['nagios']['enable_ssl'] = false
90
- default['nagios']['http_port'] = node['nagios']['enable_ssl'] ? '443' : '80'
91
- default['nagios']['server_name'] = node['fqdn']
92
- default['nagios']['server']['server_alias'] = nil
93
- default['nagios']['ssl_cert_file'] = "#{node['nagios']['conf_dir']}/certificates/nagios-server.pem"
94
- default['nagios']['ssl_cert_key'] = "#{node['nagios']['conf_dir']}/certificates/nagios-server.pem"
95
- default['nagios']['ssl_req'] = '/C=US/ST=Several/L=Locality/O=Example/OU=Operations/' \
96
- "CN=#{node['nagios']['server_name']}/emailAddress=ops@#{node['nagios']['server_name']}"
97
-
98
- # nagios server name and webserver vname. this can be changed to allow for the installation of icinga
99
- default['nagios']['server']['name'] = 'nagios'
100
- case node['platform_family']
101
- when 'rhel', 'fedora'
102
- default['nagios']['server']['vname'] = 'nagios'
103
- else
104
- default['nagios']['server']['vname'] = 'nagios3'
105
- end
106
-
107
- # for server from source installation
108
- default['nagios']['server']['url'] = 'https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.4.tar.gz'
109
- default['nagios']['server']['checksum'] = 'b0055c475683ce50d77b1536ff0cec9abf89139adecf771601fa021ef9a20b70'
110
- default['nagios']['server']['src_dir'] = node['nagios']['server']['url'].split('/')[-1].chomp('.tar.gz')
111
- default['nagios']['server']['patches'] = []
112
- default['nagios']['server']['patch_url'] = nil
113
-
114
- # for server from packages installation
115
- case node['platform_family']
116
- when 'rhel', 'fedora'
117
- default['nagios']['server']['packages'] = %w(nagios nagios-plugins-nrpe)
118
- default['nagios']['server']['install_yum-epel'] = true
119
- else
120
- default['nagios']['server']['packages'] = %w(nagios3 nagios-nrpe-plugin nagios-images)
121
- end
122
-
123
- default['nagios']['check_external_commands'] = true
124
- default['nagios']['default_contact_groups'] = %w(admins)
125
- default['nagios']['default_user_name'] = nil
126
- default['nagios']['sysadmin_email'] = 'root@localhost'
127
- default['nagios']['sysadmin_sms_email'] = 'root@localhost'
128
- default['nagios']['server_auth_method'] = 'htauth'
129
- default['nagios']['server_auth_require'] = 'valid-user'
130
- default['nagios']['users_databag'] = 'users'
131
- default['nagios']['users_databag_group'] = 'sysadmin'
132
- default['nagios']['services_databag'] = 'nagios_services'
133
- default['nagios']['servicegroups_databag'] = 'nagios_servicegroups'
134
- default['nagios']['templates_databag'] = 'nagios_templates'
135
- default['nagios']['hosttemplates_databag'] = 'nagios_hosttemplates'
136
- default['nagios']['eventhandlers_databag'] = 'nagios_eventhandlers'
137
- default['nagios']['unmanagedhosts_databag'] = 'nagios_unmanagedhosts'
138
- default['nagios']['serviceescalations_databag'] = 'nagios_serviceescalations'
139
- default['nagios']['hostgroups_databag'] = 'nagios_hostgroups'
140
- default['nagios']['hostescalations_databag'] = 'nagios_hostescalations'
141
- default['nagios']['contacts_databag'] = 'nagios_contacts'
142
- default['nagios']['contactgroups_databag'] = 'nagios_contactgroups'
143
- default['nagios']['servicedependencies_databag'] = 'nagios_servicedependencies'
144
- default['nagios']['timeperiods_databag'] = 'nagios_timeperiods'
145
- default['nagios']['host_name_attribute'] = 'hostname'
146
- default['nagios']['regexp_matching'] = 0
147
- default['nagios']['large_installation_tweaks'] = 0
148
- default['nagios']['host_template'] = 'server'
149
-
150
- # for cas authentication
151
- default['nagios']['cas_login_url'] = 'https://example.com/cas/login'
152
- default['nagios']['cas_validate_url'] = 'https://example.com/cas/serviceValidate'
153
- default['nagios']['cas_validate_server'] = 'off'
154
- default['nagios']['cas_root_proxy_url'] = nil
155
-
156
- # for apache ldap authentication
157
- default['nagios']['ldap_bind_dn'] = nil
158
- default['nagios']['ldap_bind_password'] = nil
159
- default['nagios']['ldap_url'] = nil
160
- default['nagios']['ldap_authoritative'] = nil
161
- default['nagios']['ldap_group_attribute'] = nil
162
- default['nagios']['ldap_group_attribute_is_dn'] = nil
163
- default['nagios']['ldap_verify_cert'] = nil
164
- default['nagios']['ldap_trusted_mode'] = nil
165
- default['nagios']['ldap_trusted_global_cert'] = nil
166
-
167
- default['nagios']['templates'] = Mash.new
168
-
169
- default['nagios']['default_host']['flap_detection'] = true
170
- default['nagios']['default_host']['process_perf_data'] = false
171
- default['nagios']['default_host']['check_period'] = '24x7'
172
- # Provide all interval values in seconds
173
- default['nagios']['default_host']['check_interval'] = 15
174
- default['nagios']['default_host']['retry_interval'] = 15
175
- default['nagios']['default_host']['max_check_attempts'] = 1
176
- default['nagios']['default_host']['check_command'] = 'check_host_alive'
177
- default['nagios']['default_host']['notification_interval'] = 300
178
- default['nagios']['default_host']['notification_options'] = 'd,u,r'
179
- default['nagios']['default_host']['action_url'] = nil
180
-
181
- default['nagios']['default_service']['check_interval'] = 60
182
- default['nagios']['default_service']['process_perf_data'] = false
183
- default['nagios']['default_service']['retry_interval'] = 15
184
- default['nagios']['default_service']['max_check_attempts'] = 3
185
- default['nagios']['default_service']['notification_interval'] = 1200
186
- default['nagios']['default_service']['flap_detection'] = true
187
- default['nagios']['default_service']['action_url'] = nil
188
-
189
- default['nagios']['server']['web_server'] = 'apache'
190
- default['nagios']['server']['nginx_dispatch'] = 'cgi'
191
- default['nagios']['server']['stop_apache'] = false
192
- default['nagios']['server']['normalize_hostname'] = false
193
- default['nagios']['server']['load_default_config'] = true
194
- default['nagios']['server']['load_databag_config'] = true
195
- default['nagios']['server']['use_encrypted_data_bags'] = false
196
-
197
- default['nagios']['cgi']['show_context_help'] = 1
198
- default['nagios']['cgi']['authorized_for_system_information'] = '*'
199
- default['nagios']['cgi']['authorized_for_configuration_information'] = '*'
200
- default['nagios']['cgi']['authorized_for_system_commands'] = '*'
201
- default['nagios']['cgi']['authorized_for_all_services'] = '*'
202
- default['nagios']['cgi']['authorized_for_all_hosts'] = '*'
203
- default['nagios']['cgi']['authorized_for_all_service_commands'] = '*'
204
- default['nagios']['cgi']['authorized_for_all_host_commands'] = '*'
205
- default['nagios']['cgi']['default_statusmap_layout'] = 5
206
- default['nagios']['cgi']['default_statuswrl_layout'] = 4
207
- default['nagios']['cgi']['result_limit'] = 100
208
- default['nagios']['cgi']['escape_html_tags'] = 0
209
- default['nagios']['cgi']['action_url_target'] = '_blank'
210
- default['nagios']['cgi']['notes_url_target'] = '_blank'
211
- default['nagios']['cgi']['lock_author_names'] = 1
212
-
213
- default['nagios']['pagerduty']['script_url'] = 'https://raw.github.com/PagerDuty/pagerduty-nagios-pl/master/pagerduty_nagios.pl'
214
- default['nagios']['pagerduty']['service_notification_options'] = 'w,u,c,r'
215
- default['nagios']['pagerduty']['host_notification_options'] = 'd,r'
216
-
217
- # atrributes for setting broker lines
218
- default['nagios']['brokers'] = {}
219
-
220
- # attribute defining tag used to exclude hosts
221
- default['nagios']['exclude_tag_host'] = ''
222
-
223
- # Set the prefork module for Apache as PHP is not thread-safe
224
- default['apache']['mpm'] = 'prefork'
225
-
226
- # attribute to add commands to source build
227
- default['nagios']['source']['add_build_commands'] = ['make install-exfoliation']
228
- default['nagios']['allowed_ips'] = []
@@ -1,102 +0,0 @@
1
- # Put files/directories that should be ignored in this file when uploading
2
- # to a chef-server or supermarket.
3
- # Lines that start with '# ' are comments.
4
-
5
- # OS generated files #
6
- ######################
7
- .DS_Store
8
- Icon?
9
- nohup.out
10
- ehthumbs.db
11
- Thumbs.db
12
-
13
- # SASS #
14
- ########
15
- .sass-cache
16
-
17
- # EDITORS #
18
- ###########
19
- \#*
20
- .#*
21
- *~
22
- *.sw[a-z]
23
- *.bak
24
- REVISION
25
- TAGS*
26
- tmtags
27
- *_flymake.*
28
- *_flymake
29
- *.tmproj
30
- .project
31
- .settings
32
- mkmf.log
33
-
34
- ## COMPILED ##
35
- ##############
36
- a.out
37
- *.o
38
- *.pyc
39
- *.so
40
- *.com
41
- *.class
42
- *.dll
43
- *.exe
44
- */rdoc/
45
-
46
- # Testing #
47
- ###########
48
- .watchr
49
- .rspec
50
- spec/*
51
- spec/fixtures/*
52
- test/*
53
- features/*
54
- examples/*
55
- Guardfile
56
- Procfile
57
- .kitchen*
58
- .rubocop.yml
59
- spec/*
60
- Rakefile
61
- .travis.yml
62
- .foodcritic
63
- .codeclimate.yml
64
-
65
- # SCM #
66
- #######
67
- .git
68
- */.git
69
- .gitignore
70
- .gitmodules
71
- .gitconfig
72
- .gitattributes
73
- .svn
74
- */.bzr/*
75
- */.hg/*
76
- */.svn/*
77
-
78
- # Berkshelf #
79
- #############
80
- Berksfile
81
- Berksfile.lock
82
- cookbooks/*
83
- tmp
84
-
85
- # Cookbooks #
86
- #############
87
- CONTRIBUTING*
88
- CHANGELOG*
89
- TESTING*
90
- MAINTAINERS.toml
91
-
92
- # Strainer #
93
- ############
94
- Colanderfile
95
- Strainerfile
96
- .colander
97
- .strainer
98
-
99
- # Vagrant #
100
- ###########
101
- .vagrant
102
- Vagrantfile
@@ -1,33 +0,0 @@
1
- #
2
- # Author:: Sander Botman <sbotman@schubergphilis.com>
3
- # Cookbook Name : nagios
4
- # Definition : command
5
- #
6
- # Copyright 2015, Sander Botman
7
- #
8
- # Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- # See the License for the specific language governing permissions and
18
- # limitations under the License.
19
- #
20
-
21
- define :nagios_command do
22
- params[:action] ||= :create
23
- params[:options] ||= {}
24
-
25
- if nagios_action_create?(params[:action])
26
- o = Nagios::Command.create(params[:name])
27
- o.import(params[:options])
28
- end
29
-
30
- if nagios_action_delete?(params[:action])
31
- Nagios.instance.delete('command', params[:name])
32
- end
33
- end
@@ -1,33 +0,0 @@
1
- #
2
- # Author:: Sander Botman <sbotman@schubergphilis.com>
3
- # Cookbook Name : nagios
4
- # Definition : contact
5
- #
6
- # Copyright 2015, Sander Botman
7
- #
8
- # Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- # See the License for the specific language governing permissions and
18
- # limitations under the License.
19
- #
20
-
21
- define :nagios_contact do
22
- params[:action] ||= :create
23
- params[:options] ||= {}
24
-
25
- if nagios_action_create?(params[:action])
26
- o = Nagios::Contact.create(params[:name])
27
- o.import(params[:options])
28
- end
29
-
30
- if nagios_action_delete?(params[:action])
31
- Nagios.instance.delete('contact', params[:name])
32
- end
33
- end
@@ -1,33 +0,0 @@
1
- #
2
- # Author:: Sander Botman <sbotman@schubergphilis.com>
3
- # Cookbook Name : nagios
4
- # Definition : contactgroup
5
- #
6
- # Copyright 2015, Sander Botman
7
- #
8
- # Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- # See the License for the specific language governing permissions and
18
- # limitations under the License.
19
- #
20
-
21
- define :nagios_contactgroup do
22
- params[:action] ||= :create
23
- params[:options] ||= {}
24
-
25
- if nagios_action_create?(params[:action])
26
- o = Nagios::Contactgroup.create(params[:name])
27
- o.import(params[:options])
28
- end
29
-
30
- if nagios_action_delete?(params[:action])
31
- Nagios.instance.delete('contactgroup', params[:name])
32
- end
33
- end
@@ -1,33 +0,0 @@
1
- #
2
- # Author:: Sander Botman <sbotman@schubergphilis.com>
3
- # Cookbook Name : nagios
4
- # Definition : host
5
- #
6
- # Copyright 2015, Sander Botman
7
- #
8
- # Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- # See the License for the specific language governing permissions and
18
- # limitations under the License.
19
- #
20
-
21
- define :nagios_host do
22
- params[:action] ||= :create
23
- params[:options] ||= {}
24
-
25
- if nagios_action_create?(params[:action])
26
- o = Nagios::Host.create(params[:name])
27
- o.import(params[:options])
28
- end
29
-
30
- if nagios_action_delete?(params[:action])
31
- Nagios.instance.delete('host', params[:name])
32
- end
33
- end