cloud-mu 1.9.0.pre.beta

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 (618) hide show
  1. checksums.yaml +7 -0
  2. data/Berksfile +56 -0
  3. data/Berksfile.lock +250 -0
  4. data/Jenkinsfile +184 -0
  5. data/LICENSE.md +37 -0
  6. data/README.md +26 -0
  7. data/bin/mu-aws-setup +376 -0
  8. data/bin/mu-cleanup +68 -0
  9. data/bin/mu-configure +1133 -0
  10. data/bin/mu-deploy +166 -0
  11. data/bin/mu-firewall-allow-clients +30 -0
  12. data/bin/mu-gcp-setup +200 -0
  13. data/bin/mu-gen-docs +34 -0
  14. data/bin/mu-gen-env +42 -0
  15. data/bin/mu-load-config.rb +158 -0
  16. data/bin/mu-node-manage +683 -0
  17. data/bin/mu-self-update +228 -0
  18. data/bin/mu-ssh +23 -0
  19. data/bin/mu-tunnel-nagios +144 -0
  20. data/bin/mu-upload-chef-artifacts +757 -0
  21. data/bin/mu-user-manage +275 -0
  22. data/cookbooks/awscli/LICENSE +37 -0
  23. data/cookbooks/awscli/README.md +58 -0
  24. data/cookbooks/awscli/attributes/default.rb +1 -0
  25. data/cookbooks/awscli/libraries/instance_metadata.rb +21 -0
  26. data/cookbooks/awscli/metadata.rb +20 -0
  27. data/cookbooks/awscli/recipes/default.rb +56 -0
  28. data/cookbooks/awscli/templates/default/config.erb +18 -0
  29. data/cookbooks/mu-activedirectory/CHANGELOG.md +13 -0
  30. data/cookbooks/mu-activedirectory/LICENSE +37 -0
  31. data/cookbooks/mu-activedirectory/README.md +6 -0
  32. data/cookbooks/mu-activedirectory/attributes/default.rb +98 -0
  33. data/cookbooks/mu-activedirectory/files/default/password-auth +32 -0
  34. data/cookbooks/mu-activedirectory/files/default/sshd_pol.pp +0 -0
  35. data/cookbooks/mu-activedirectory/files/default/sshd_pol.te +32 -0
  36. data/cookbooks/mu-activedirectory/files/default/syslogd_oddjobd.pp +0 -0
  37. data/cookbooks/mu-activedirectory/files/default/syslogd_oddjobd.te +10 -0
  38. data/cookbooks/mu-activedirectory/files/default/system-auth +34 -0
  39. data/cookbooks/mu-activedirectory/files/default/winbindpol.pp +0 -0
  40. data/cookbooks/mu-activedirectory/files/default/winbindpol.te +37 -0
  41. data/cookbooks/mu-activedirectory/libraries/config.rb +106 -0
  42. data/cookbooks/mu-activedirectory/libraries/helper.rb +86 -0
  43. data/cookbooks/mu-activedirectory/metadata.rb +17 -0
  44. data/cookbooks/mu-activedirectory/providers/domain.rb +152 -0
  45. data/cookbooks/mu-activedirectory/providers/domain_controller.rb +89 -0
  46. data/cookbooks/mu-activedirectory/providers/domain_node.rb +275 -0
  47. data/cookbooks/mu-activedirectory/recipes/default.rb +8 -0
  48. data/cookbooks/mu-activedirectory/recipes/domain-controller.rb +44 -0
  49. data/cookbooks/mu-activedirectory/recipes/domain-node.rb +50 -0
  50. data/cookbooks/mu-activedirectory/recipes/domain.rb +43 -0
  51. data/cookbooks/mu-activedirectory/recipes/sssd.rb +185 -0
  52. data/cookbooks/mu-activedirectory/resources/domain.rb +25 -0
  53. data/cookbooks/mu-activedirectory/resources/domain_controller.rb +25 -0
  54. data/cookbooks/mu-activedirectory/resources/domain_node.rb +20 -0
  55. data/cookbooks/mu-activedirectory/templates/default/dhclient-eth0.conf.erb +4 -0
  56. data/cookbooks/mu-activedirectory/templates/default/interface +0 -0
  57. data/cookbooks/mu-activedirectory/templates/default/krb5.conf.erb +23 -0
  58. data/cookbooks/mu-activedirectory/templates/default/ntp.conf.erb +56 -0
  59. data/cookbooks/mu-activedirectory/templates/default/smb.conf.erb +33 -0
  60. data/cookbooks/mu-activedirectory/templates/default/sssd.conf.erb +60 -0
  61. data/cookbooks/mu-activedirectory/templates/windows/Backup.xml.erb +20 -0
  62. data/cookbooks/mu-activedirectory/templates/windows/bkupInfo.xml.erb +1 -0
  63. data/cookbooks/mu-activedirectory/templates/windows/gpreprt.xml.erb +198 -0
  64. data/cookbooks/mu-activedirectory/templates/windows/gptmpl.inf.erb +12 -0
  65. data/cookbooks/mu-activedirectory/templates/windows/manifest.xml.erb +1 -0
  66. data/cookbooks/mu-firewall/CHANGELOG.md +11 -0
  67. data/cookbooks/mu-firewall/LICENSE +37 -0
  68. data/cookbooks/mu-firewall/README.md +5 -0
  69. data/cookbooks/mu-firewall/attributes/default.rb +3 -0
  70. data/cookbooks/mu-firewall/metadata.rb +16 -0
  71. data/cookbooks/mu-firewall/recipes/default.rb +10 -0
  72. data/cookbooks/mu-glusterfs/CHANGELOG.md +13 -0
  73. data/cookbooks/mu-glusterfs/LICENSE +37 -0
  74. data/cookbooks/mu-glusterfs/README.md +5 -0
  75. data/cookbooks/mu-glusterfs/attributes/default.rb +34 -0
  76. data/cookbooks/mu-glusterfs/metadata.rb +17 -0
  77. data/cookbooks/mu-glusterfs/recipes/client.rb +62 -0
  78. data/cookbooks/mu-glusterfs/recipes/default.rb +16 -0
  79. data/cookbooks/mu-glusterfs/recipes/samba.rb +57 -0
  80. data/cookbooks/mu-glusterfs/recipes/server.rb +200 -0
  81. data/cookbooks/mu-glusterfs/templates/default/mu-gluster-client.erb +71 -0
  82. data/cookbooks/mu-glusterfs/templates/default/smb.conf.erb +14 -0
  83. data/cookbooks/mu-jenkins/CHANGELOG.md +13 -0
  84. data/cookbooks/mu-jenkins/LICENSE +37 -0
  85. data/cookbooks/mu-jenkins/README.md +105 -0
  86. data/cookbooks/mu-jenkins/attributes/default.rb +42 -0
  87. data/cookbooks/mu-jenkins/files/default/cleanup_deploy_config.xml +73 -0
  88. data/cookbooks/mu-jenkins/files/default/deploy_config.xml +44 -0
  89. data/cookbooks/mu-jenkins/metadata.rb +21 -0
  90. data/cookbooks/mu-jenkins/recipes/default.rb +195 -0
  91. data/cookbooks/mu-jenkins/recipes/node-ssh-config.rb +54 -0
  92. data/cookbooks/mu-jenkins/recipes/public_key.rb +24 -0
  93. data/cookbooks/mu-jenkins/templates/default/example_job.config.xml.erb +24 -0
  94. data/cookbooks/mu-jenkins/templates/default/org.jvnet.hudson.plugins.SSHBuildWrapper.xml.erb +14 -0
  95. data/cookbooks/mu-jenkins/templates/default/ssh_config.erb +6 -0
  96. data/cookbooks/mu-master/CHANGELOG.md +13 -0
  97. data/cookbooks/mu-master/LICENSE +37 -0
  98. data/cookbooks/mu-master/README.md +6 -0
  99. data/cookbooks/mu-master/attributes/default.rb +95 -0
  100. data/cookbooks/mu-master/files/default/0-mu-log-server.conf +19 -0
  101. data/cookbooks/mu-master/files/default/addRSA.ldif +8 -0
  102. data/cookbooks/mu-master/files/default/check_mem.pl +197 -0
  103. data/cookbooks/mu-master/files/default/cloudamatic.png +0 -0
  104. data/cookbooks/mu-master/files/default/dirsrv_admin.pp +0 -0
  105. data/cookbooks/mu-master/files/default/dirsrv_admin.te +13 -0
  106. data/cookbooks/mu-master/files/default/nagios_selinux.pp +0 -0
  107. data/cookbooks/mu-master/files/default/nagios_selinux.te +51 -0
  108. data/cookbooks/mu-master/files/default/nagios_selinux_7.pp +0 -0
  109. data/cookbooks/mu-master/files/default/nagios_selinux_7.te +17 -0
  110. data/cookbooks/mu-master/files/default/pam_sshd +18 -0
  111. data/cookbooks/mu-master/files/default/ssl_enable.ldif +18 -0
  112. data/cookbooks/mu-master/files/default/syslogd_oddjobd.pp +0 -0
  113. data/cookbooks/mu-master/files/default/syslogd_oddjobd.te +10 -0
  114. data/cookbooks/mu-master/files/default/vimrc +19 -0
  115. data/cookbooks/mu-master/libraries/mu.rb +29 -0
  116. data/cookbooks/mu-master/metadata.rb +30 -0
  117. data/cookbooks/mu-master/providers/user.rb +41 -0
  118. data/cookbooks/mu-master/recipes/389ds.rb +164 -0
  119. data/cookbooks/mu-master/recipes/basepackages.rb +58 -0
  120. data/cookbooks/mu-master/recipes/caching_nameserver.rb +37 -0
  121. data/cookbooks/mu-master/recipes/default.rb +451 -0
  122. data/cookbooks/mu-master/recipes/eks-kubectl.rb +41 -0
  123. data/cookbooks/mu-master/recipes/firewall-holes.rb +70 -0
  124. data/cookbooks/mu-master/recipes/init.rb +542 -0
  125. data/cookbooks/mu-master/recipes/ssl-certs.rb +109 -0
  126. data/cookbooks/mu-master/recipes/sssd.rb +89 -0
  127. data/cookbooks/mu-master/recipes/update_nagios_only.rb +242 -0
  128. data/cookbooks/mu-master/recipes/vault.rb +111 -0
  129. data/cookbooks/mu-master/resources/user.rb +19 -0
  130. data/cookbooks/mu-master/templates/default/389-directory-setup.inf.erb +28 -0
  131. data/cookbooks/mu-master/templates/default/chef-server.rb.erb +18 -0
  132. data/cookbooks/mu-master/templates/default/dhclient-eth0.conf.erb +9 -0
  133. data/cookbooks/mu-master/templates/default/mu-momma-cat.erb +149 -0
  134. data/cookbooks/mu-master/templates/default/mu.rc.erb +9 -0
  135. data/cookbooks/mu-master/templates/default/openssl.cnf.erb +354 -0
  136. data/cookbooks/mu-master/templates/default/sssd.conf.erb +44 -0
  137. data/cookbooks/mu-master/templates/default/web_app.conf.erb +90 -0
  138. data/cookbooks/mu-mongo/CHANGELOG.md +13 -0
  139. data/cookbooks/mu-mongo/LICENSE +37 -0
  140. data/cookbooks/mu-mongo/README.md +5 -0
  141. data/cookbooks/mu-mongo/attributes/default.rb +22 -0
  142. data/cookbooks/mu-mongo/files/default/keyfile +16 -0
  143. data/cookbooks/mu-mongo/files/default/remove_nodes.js +5 -0
  144. data/cookbooks/mu-mongo/metadata.rb +17 -0
  145. data/cookbooks/mu-mongo/recipes/default.rb +149 -0
  146. data/cookbooks/mu-mongo/recipes/yum-update-rule.rb +18 -0
  147. data/cookbooks/mu-mongo/templates/default/mongo_create_openfema_db.js.erb +2 -0
  148. data/cookbooks/mu-mongo/templates/default/mongo_init.js.erb +1 -0
  149. data/cookbooks/mu-mongo/templates/default/mongo_logrotate.erb +14 -0
  150. data/cookbooks/mu-mongo/templates/default/mongo_replset_addnodes.js.erb +6 -0
  151. data/cookbooks/mu-mongo/templates/default/replset_init.js.erb +2 -0
  152. data/cookbooks/mu-openvpn/CHANGELOG.md +13 -0
  153. data/cookbooks/mu-openvpn/LICENSE +37 -0
  154. data/cookbooks/mu-openvpn/README.md +6 -0
  155. data/cookbooks/mu-openvpn/attributes/default.rb +119 -0
  156. data/cookbooks/mu-openvpn/metadata.rb +18 -0
  157. data/cookbooks/mu-openvpn/recipes/default.rb +108 -0
  158. data/cookbooks/mu-openvpn/templates/default/users.json.erb +42 -0
  159. data/cookbooks/mu-php54/CHANGELOG.md +12 -0
  160. data/cookbooks/mu-php54/LICENSE +37 -0
  161. data/cookbooks/mu-php54/README.md +0 -0
  162. data/cookbooks/mu-php54/files/centos/php.ini +1802 -0
  163. data/cookbooks/mu-php54/files/ubuntu/php.ini +1870 -0
  164. data/cookbooks/mu-php54/metadata.rb +21 -0
  165. data/cookbooks/mu-php54/recipes/default.rb +97 -0
  166. data/cookbooks/mu-splunk/CHANGELOG.md +37 -0
  167. data/cookbooks/mu-splunk/LICENSE +37 -0
  168. data/cookbooks/mu-splunk/README.md +451 -0
  169. data/cookbooks/mu-splunk/attributes/default.rb +95 -0
  170. data/cookbooks/mu-splunk/attributes/upgrade.rb +49 -0
  171. data/cookbooks/mu-splunk/definitions/splunk_installer.rb +103 -0
  172. data/cookbooks/mu-splunk/files/default/splunk-nocheck +10 -0
  173. data/cookbooks/mu-splunk/libraries/helpers.rb +72 -0
  174. data/cookbooks/mu-splunk/libraries/splunk_app_provider.rb +156 -0
  175. data/cookbooks/mu-splunk/libraries/splunk_app_resource.rb +43 -0
  176. data/cookbooks/mu-splunk/metadata.json +30 -0
  177. data/cookbooks/mu-splunk/metadata.rb +17 -0
  178. data/cookbooks/mu-splunk/recipes/client.rb +143 -0
  179. data/cookbooks/mu-splunk/recipes/default.rb +31 -0
  180. data/cookbooks/mu-splunk/recipes/disabled.rb +41 -0
  181. data/cookbooks/mu-splunk/recipes/install_forwarder.rb +23 -0
  182. data/cookbooks/mu-splunk/recipes/install_server.rb +23 -0
  183. data/cookbooks/mu-splunk/recipes/server.rb +53 -0
  184. data/cookbooks/mu-splunk/recipes/service.rb +95 -0
  185. data/cookbooks/mu-splunk/recipes/setup_auth.rb +49 -0
  186. data/cookbooks/mu-splunk/recipes/setup_ssl.rb +63 -0
  187. data/cookbooks/mu-splunk/recipes/upgrade.rb +94 -0
  188. data/cookbooks/mu-splunk/recipes/user.rb +34 -0
  189. data/cookbooks/mu-splunk/templates/default/base_logs_unix_inputs.conf.erb +26 -0
  190. data/cookbooks/mu-splunk/templates/default/inputs.conf.erb +13 -0
  191. data/cookbooks/mu-splunk/templates/default/outputs.conf.erb +9 -0
  192. data/cookbooks/mu-splunk/templates/default/splunk-init.erb +74 -0
  193. data/cookbooks/mu-splunk/templates/default/system-web.conf.erb +7 -0
  194. data/cookbooks/mu-tools/CHANGELOG.md +12 -0
  195. data/cookbooks/mu-tools/LICENSE +37 -0
  196. data/cookbooks/mu-tools/README.md +188 -0
  197. data/cookbooks/mu-tools/attributes/default.rb +142 -0
  198. data/cookbooks/mu-tools/attributes/ebs_rolling_snapshots.rb +3 -0
  199. data/cookbooks/mu-tools/files/amazon/etc/freshclam.conf +235 -0
  200. data/cookbooks/mu-tools/files/centos/CentOS-Base.repo +52 -0
  201. data/cookbooks/mu-tools/files/centos/etc/bashrc +93 -0
  202. data/cookbooks/mu-tools/files/centos/etc/freshclam.conf +235 -0
  203. data/cookbooks/mu-tools/files/centos/etc/login.defs +72 -0
  204. data/cookbooks/mu-tools/files/centos/etc/profile +77 -0
  205. data/cookbooks/mu-tools/files/centos/etc/security/limits.conf +57 -0
  206. data/cookbooks/mu-tools/files/centos/etc/sysconfig/init +19 -0
  207. data/cookbooks/mu-tools/files/centos/etc/sysctl.conf +82 -0
  208. data/cookbooks/mu-tools/files/centos-6/README_MU +0 -0
  209. data/cookbooks/mu-tools/files/centos-6/etc/audit/stig.rules +173 -0
  210. data/cookbooks/mu-tools/files/centos-6/etc/bashrc +90 -0
  211. data/cookbooks/mu-tools/files/centos-6/etc/login.defs +70 -0
  212. data/cookbooks/mu-tools/files/centos-6/etc/pam.d/su +12 -0
  213. data/cookbooks/mu-tools/files/centos-6/etc/profile +83 -0
  214. data/cookbooks/mu-tools/files/centos-6/etc/securetty +12 -0
  215. data/cookbooks/mu-tools/files/centos-6/etc/sysconfig/init +30 -0
  216. data/cookbooks/mu-tools/files/centos-6/etc/sysctl.conf +40 -0
  217. data/cookbooks/mu-tools/files/default/Mu_CA.pem +34 -0
  218. data/cookbooks/mu-tools/files/default/PSWindowsUpdate.zip +0 -0
  219. data/cookbooks/mu-tools/files/default/ebs_snapshots.py +123 -0
  220. data/cookbooks/mu-tools/files/default/etc/BANNER +0 -0
  221. data/cookbooks/mu-tools/files/default/etc/BANNER-FEDERAL +19 -0
  222. data/cookbooks/mu-tools/files/default/gpo_no_uac.zip +0 -0
  223. data/cookbooks/mu-tools/files/default/mypol.pp +0 -0
  224. data/cookbooks/mu-tools/files/default/mypol.te +37 -0
  225. data/cookbooks/mu-tools/files/default/nrpe_c7.pp +0 -0
  226. data/cookbooks/mu-tools/files/default/nrpe_c7.te +31 -0
  227. data/cookbooks/mu-tools/files/default/nrpe_check_disk.pp +0 -0
  228. data/cookbooks/mu-tools/files/default/nrpe_check_disk.te +11 -0
  229. data/cookbooks/mu-tools/files/default/nrpe_disk.pp +0 -0
  230. data/cookbooks/mu-tools/files/default/nrpe_disk.te +10 -0
  231. data/cookbooks/mu-tools/files/default/nrpe_file.pp +0 -0
  232. data/cookbooks/mu-tools/files/default/nrpe_file.te +31 -0
  233. data/cookbooks/mu-tools/files/default/ntrights +0 -0
  234. data/cookbooks/mu-tools/files/default/serverclass.conf +18 -0
  235. data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_unix/local/app.conf +1 -0
  236. data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_unix/local/inputs.conf +13 -0
  237. data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_windows/local/app.conf +1 -0
  238. data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_windows/local/inputs.conf +8 -0
  239. data/cookbooks/mu-tools/files/default/sshd_pol.pp +0 -0
  240. data/cookbooks/mu-tools/files/default/sshd_pol.te +32 -0
  241. data/cookbooks/mu-tools/files/redhat/etc/bashrc +93 -0
  242. data/cookbooks/mu-tools/files/redhat/etc/freshclam.conf +235 -0
  243. data/cookbooks/mu-tools/files/redhat/etc/login.defs +72 -0
  244. data/cookbooks/mu-tools/files/redhat/etc/profile +77 -0
  245. data/cookbooks/mu-tools/files/redhat/etc/security/limits.conf +57 -0
  246. data/cookbooks/mu-tools/files/redhat/etc/sysconfig/init +19 -0
  247. data/cookbooks/mu-tools/files/redhat/etc/sysctl.conf +82 -0
  248. data/cookbooks/mu-tools/files/redhat-6/README_MU +0 -0
  249. data/cookbooks/mu-tools/files/redhat-6/etc/audit/stig.rules +173 -0
  250. data/cookbooks/mu-tools/files/redhat-6/etc/bashrc +90 -0
  251. data/cookbooks/mu-tools/files/redhat-6/etc/login.defs +70 -0
  252. data/cookbooks/mu-tools/files/redhat-6/etc/pam.d/su +12 -0
  253. data/cookbooks/mu-tools/files/redhat-6/etc/profile +83 -0
  254. data/cookbooks/mu-tools/files/redhat-6/etc/securetty +12 -0
  255. data/cookbooks/mu-tools/files/redhat-6/etc/sysconfig/init +30 -0
  256. data/cookbooks/mu-tools/files/redhat-6/etc/sysctl.conf +40 -0
  257. data/cookbooks/mu-tools/files/redhat-7.1/etc/freshclam.conf +235 -0
  258. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/bash.bashrc +64 -0
  259. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/common-session +30 -0
  260. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/login.defs +338 -0
  261. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/profile +30 -0
  262. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/security/limits.conf +56 -0
  263. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/sysctl.conf +60 -0
  264. data/cookbooks/mu-tools/libraries/helper.rb +292 -0
  265. data/cookbooks/mu-tools/metadata.rb +28 -0
  266. data/cookbooks/mu-tools/recipes/add_admin_ssh_keys.rb +35 -0
  267. data/cookbooks/mu-tools/recipes/apply_security.rb +440 -0
  268. data/cookbooks/mu-tools/recipes/aws_api.rb +23 -0
  269. data/cookbooks/mu-tools/recipes/base_repositories.rb +31 -0
  270. data/cookbooks/mu-tools/recipes/cisbenchmark.rb +59 -0
  271. data/cookbooks/mu-tools/recipes/clamav.rb +53 -0
  272. data/cookbooks/mu-tools/recipes/cloudinit.rb +58 -0
  273. data/cookbooks/mu-tools/recipes/configure_oracle_tools.rb +81 -0
  274. data/cookbooks/mu-tools/recipes/disable-requiretty.rb +22 -0
  275. data/cookbooks/mu-tools/recipes/ebs_rolling_snapshots.rb +75 -0
  276. data/cookbooks/mu-tools/recipes/efs.rb +70 -0
  277. data/cookbooks/mu-tools/recipes/eks.rb +160 -0
  278. data/cookbooks/mu-tools/recipes/gcloud.rb +98 -0
  279. data/cookbooks/mu-tools/recipes/google_api.rb +25 -0
  280. data/cookbooks/mu-tools/recipes/maldet.rb +67 -0
  281. data/cookbooks/mu-tools/recipes/nagios.rb +19 -0
  282. data/cookbooks/mu-tools/recipes/newclient.rb +23 -0
  283. data/cookbooks/mu-tools/recipes/nrpe.rb +115 -0
  284. data/cookbooks/mu-tools/recipes/python_pip.rb +35 -0
  285. data/cookbooks/mu-tools/recipes/retrieve_application.rb +51 -0
  286. data/cookbooks/mu-tools/recipes/rsyslog.rb +65 -0
  287. data/cookbooks/mu-tools/recipes/set_local_fw.rb +57 -0
  288. data/cookbooks/mu-tools/recipes/set_mu_hostname.rb +81 -0
  289. data/cookbooks/mu-tools/recipes/split_var_partitions.rb +86 -0
  290. data/cookbooks/mu-tools/recipes/splunk-client.rb +69 -0
  291. data/cookbooks/mu-tools/recipes/splunk-server.rb +104 -0
  292. data/cookbooks/mu-tools/recipes/store_inspec_attr.rb +8 -0
  293. data/cookbooks/mu-tools/recipes/updates.rb +96 -0
  294. data/cookbooks/mu-tools/recipes/windows-client.rb +202 -0
  295. data/cookbooks/mu-tools/resources/aws_windows.rb +33 -0
  296. data/cookbooks/mu-tools/resources/disk.rb +88 -0
  297. data/cookbooks/mu-tools/resources/mommacat_request.rb +11 -0
  298. data/cookbooks/mu-tools/resources/scheduled_tasks.rb +29 -0
  299. data/cookbooks/mu-tools/resources/sshd_service.rb +45 -0
  300. data/cookbooks/mu-tools/resources/windows_users.rb +242 -0
  301. data/cookbooks/mu-tools/templates/amazon/sshd_config.erb +168 -0
  302. data/cookbooks/mu-tools/templates/centos-6/sshd_config.erb +212 -0
  303. data/cookbooks/mu-tools/templates/centos-7/sshd_config.erb +215 -0
  304. data/cookbooks/mu-tools/templates/default/0-mu-log-client.conf.erb +13 -0
  305. data/cookbooks/mu-tools/templates/default/conf.maldet.erb +137 -0
  306. data/cookbooks/mu-tools/templates/default/etc_hosts.erb +30 -0
  307. data/cookbooks/mu-tools/templates/default/etc_pamd_password-auth.erb +14 -0
  308. data/cookbooks/mu-tools/templates/default/etc_pamd_system-auth.erb +14 -0
  309. data/cookbooks/mu-tools/templates/default/etc_sysconfig_network.erb +12 -0
  310. data/cookbooks/mu-tools/templates/default/kubeconfig.erb +29 -0
  311. data/cookbooks/mu-tools/templates/default/kubelet.service.erb +35 -0
  312. data/cookbooks/mu-tools/templates/default/maldet_scanall.sh.erb +15 -0
  313. data/cookbooks/mu-tools/templates/default/nrpe.cfg.erb +233 -0
  314. data/cookbooks/mu-tools/templates/redhat-6/sshd_config.erb +213 -0
  315. data/cookbooks/mu-tools/templates/redhat-7/sshd_config.erb +215 -0
  316. data/cookbooks/mu-tools/templates/ubuntu-12.04/sshd_config.erb +146 -0
  317. data/cookbooks/mu-tools/templates/ubuntu-14.04/sshd_config.erb +145 -0
  318. data/cookbooks/mu-tools/templates/windows/Backup.xml.erb +20 -0
  319. data/cookbooks/mu-tools/templates/windows/bkupInfo.xml.erb +1 -0
  320. data/cookbooks/mu-tools/templates/windows/gpreprt.xml.erb +214 -0
  321. data/cookbooks/mu-tools/templates/windows/gptmpl.inf.erb +12 -0
  322. data/cookbooks/mu-tools/templates/windows/manifest.xml.erb +1 -0
  323. data/cookbooks/mu-tools/templates/windows/set_ad_dns_scheduled_task.ps1.erb +6 -0
  324. data/cookbooks/mu-tools/templates/windows/sshd_config.erb +136 -0
  325. data/cookbooks/mu-utility/CHANGELOG.md +12 -0
  326. data/cookbooks/mu-utility/LICENSE +37 -0
  327. data/cookbooks/mu-utility/README.md +6 -0
  328. data/cookbooks/mu-utility/attributes/default.rb +1 -0
  329. data/cookbooks/mu-utility/libraries/matchers.rb +21 -0
  330. data/cookbooks/mu-utility/metadata.rb +16 -0
  331. data/cookbooks/mu-utility/recipes/apt.rb +23 -0
  332. data/cookbooks/mu-utility/recipes/cleanup_image_helper.rb +118 -0
  333. data/cookbooks/mu-utility/recipes/iptables.rb +26 -0
  334. data/cookbooks/mu-utility/recipes/luks.rb +18 -0
  335. data/cookbooks/mu-utility/recipes/nat.rb +104 -0
  336. data/cookbooks/mu-utility/recipes/php.rb +33 -0
  337. data/cookbooks/mu-utility/recipes/rdp_gateway.rb +83 -0
  338. data/cookbooks/mu-utility/recipes/remi.rb +44 -0
  339. data/cookbooks/mu-utility/recipes/vim.rb +26 -0
  340. data/cookbooks/mu-utility/recipes/windows_basics.rb +37 -0
  341. data/cookbooks/mu-utility/recipes/zip.rb +26 -0
  342. data/cookbooks/mu-utility/templates/default/BundleConfig.xml.erb +34 -0
  343. data/cookbooks/mu-utility/templates/default/config.xml.erb +60 -0
  344. data/cookbooks/nagios/Berksfile +8 -0
  345. data/cookbooks/nagios/CHANGELOG.md +589 -0
  346. data/cookbooks/nagios/CONTRIBUTING.md +11 -0
  347. data/cookbooks/nagios/LICENSE +37 -0
  348. data/cookbooks/nagios/README.md +328 -0
  349. data/cookbooks/nagios/TESTING.md +2 -0
  350. data/cookbooks/nagios/attributes/config.rb +171 -0
  351. data/cookbooks/nagios/attributes/default.rb +228 -0
  352. data/cookbooks/nagios/chefignore +102 -0
  353. data/cookbooks/nagios/definitions/command.rb +33 -0
  354. data/cookbooks/nagios/definitions/contact.rb +33 -0
  355. data/cookbooks/nagios/definitions/contactgroup.rb +33 -0
  356. data/cookbooks/nagios/definitions/host.rb +33 -0
  357. data/cookbooks/nagios/definitions/hostdependency.rb +33 -0
  358. data/cookbooks/nagios/definitions/hostescalation.rb +34 -0
  359. data/cookbooks/nagios/definitions/hostgroup.rb +33 -0
  360. data/cookbooks/nagios/definitions/nagios_conf.rb +38 -0
  361. data/cookbooks/nagios/definitions/resource.rb +33 -0
  362. data/cookbooks/nagios/definitions/service.rb +33 -0
  363. data/cookbooks/nagios/definitions/servicedependency.rb +33 -0
  364. data/cookbooks/nagios/definitions/serviceescalation.rb +34 -0
  365. data/cookbooks/nagios/definitions/servicegroup.rb +33 -0
  366. data/cookbooks/nagios/definitions/timeperiod.rb +33 -0
  367. data/cookbooks/nagios/libraries/base.rb +314 -0
  368. data/cookbooks/nagios/libraries/command.rb +91 -0
  369. data/cookbooks/nagios/libraries/contact.rb +230 -0
  370. data/cookbooks/nagios/libraries/contactgroup.rb +112 -0
  371. data/cookbooks/nagios/libraries/custom_option.rb +36 -0
  372. data/cookbooks/nagios/libraries/data_bag_helper.rb +23 -0
  373. data/cookbooks/nagios/libraries/default.rb +90 -0
  374. data/cookbooks/nagios/libraries/host.rb +412 -0
  375. data/cookbooks/nagios/libraries/hostdependency.rb +181 -0
  376. data/cookbooks/nagios/libraries/hostescalation.rb +173 -0
  377. data/cookbooks/nagios/libraries/hostgroup.rb +119 -0
  378. data/cookbooks/nagios/libraries/nagios.rb +282 -0
  379. data/cookbooks/nagios/libraries/resource.rb +59 -0
  380. data/cookbooks/nagios/libraries/service.rb +455 -0
  381. data/cookbooks/nagios/libraries/servicedependency.rb +215 -0
  382. data/cookbooks/nagios/libraries/serviceescalation.rb +195 -0
  383. data/cookbooks/nagios/libraries/servicegroup.rb +144 -0
  384. data/cookbooks/nagios/libraries/timeperiod.rb +160 -0
  385. data/cookbooks/nagios/libraries/users_helper.rb +54 -0
  386. data/cookbooks/nagios/metadata.rb +25 -0
  387. data/cookbooks/nagios/recipes/_load_databag_config.rb +153 -0
  388. data/cookbooks/nagios/recipes/_load_default_config.rb +241 -0
  389. data/cookbooks/nagios/recipes/apache.rb +48 -0
  390. data/cookbooks/nagios/recipes/default.rb +204 -0
  391. data/cookbooks/nagios/recipes/nginx.rb +82 -0
  392. data/cookbooks/nagios/recipes/pagerduty.rb +143 -0
  393. data/cookbooks/nagios/recipes/server_package.rb +40 -0
  394. data/cookbooks/nagios/recipes/server_source.rb +164 -0
  395. data/cookbooks/nagios/templates/default/apache2.conf.erb +96 -0
  396. data/cookbooks/nagios/templates/default/cgi.cfg.erb +266 -0
  397. data/cookbooks/nagios/templates/default/commands.cfg.erb +13 -0
  398. data/cookbooks/nagios/templates/default/contacts.cfg.erb +37 -0
  399. data/cookbooks/nagios/templates/default/hostgroups.cfg.erb +25 -0
  400. data/cookbooks/nagios/templates/default/hosts.cfg.erb +15 -0
  401. data/cookbooks/nagios/templates/default/htpasswd.users.erb +6 -0
  402. data/cookbooks/nagios/templates/default/nagios.cfg.erb +22 -0
  403. data/cookbooks/nagios/templates/default/nginx.conf.erb +62 -0
  404. data/cookbooks/nagios/templates/default/pagerduty.cgi.erb +185 -0
  405. data/cookbooks/nagios/templates/default/resource.cfg.erb +27 -0
  406. data/cookbooks/nagios/templates/default/servicedependencies.cfg.erb +15 -0
  407. data/cookbooks/nagios/templates/default/servicegroups.cfg.erb +14 -0
  408. data/cookbooks/nagios/templates/default/services.cfg.erb +14 -0
  409. data/cookbooks/nagios/templates/default/templates.cfg.erb +31 -0
  410. data/cookbooks/nagios/templates/default/timeperiods.cfg.erb +13 -0
  411. data/cookbooks/s3fs/CHANGELOG.md +13 -0
  412. data/cookbooks/s3fs/LICENSE +37 -0
  413. data/cookbooks/s3fs/README.md +6 -0
  414. data/cookbooks/s3fs/attributes/default.rb +15 -0
  415. data/cookbooks/s3fs/files/default/fuse-2.9.3.zip +0 -0
  416. data/cookbooks/s3fs/metadata.rb +16 -0
  417. data/cookbooks/s3fs/recipes/default.rb +91 -0
  418. data/data_bags/demo/app.json +7 -0
  419. data/data_bags/nagios_services/chef.json +6 -0
  420. data/data_bags/nagios_services/linux_diskspace.json +5 -0
  421. data/data_bags/nagios_services/momma_cat.json +6 -0
  422. data/data_bags/nagios_services/mu-master-memory.json +5 -0
  423. data/data_bags/nagios_services/nagios_ui.json +6 -0
  424. data/data_bags/nagios_services/node_ssh.json +6 -0
  425. data/data_bags/nagios_services/ssh.json +6 -0
  426. data/demo/lambda_test.yaml +29 -0
  427. data/environments/DEV.json +8 -0
  428. data/environments/PROD.json +8 -0
  429. data/environments/dev.json +8 -0
  430. data/environments/development.json +8 -0
  431. data/environments/prod.json +8 -0
  432. data/extras/README.md +1 -0
  433. data/extras/admin-role-binding.yaml +16 -0
  434. data/extras/admin-user.yaml +6 -0
  435. data/extras/aws-auth-cm.yaml.erb +12 -0
  436. data/extras/clean-stock-amis +48 -0
  437. data/extras/git-fix-permissions-hook +12 -0
  438. data/extras/gitlab-eks-helper.sh.erb +20 -0
  439. data/extras/image-generators/README.md +2 -0
  440. data/extras/image-generators/aws/centos6.yaml +18 -0
  441. data/extras/image-generators/aws/centos7-govcloud.yaml +24 -0
  442. data/extras/image-generators/aws/centos7.yaml +17 -0
  443. data/extras/image-generators/aws/rhel7.yaml +17 -0
  444. data/extras/image-generators/aws/win2k12.yaml +16 -0
  445. data/extras/image-generators/aws/win2k16.yaml +16 -0
  446. data/extras/image-generators/aws/windows.yaml +18 -0
  447. data/extras/image-generators/gcp/centos6.yaml +17 -0
  448. data/extras/lambda_waf_domain_blacklist.py +103 -0
  449. data/extras/platform_berksfile_base +50 -0
  450. data/extras/ruby_rpm/build.sh +17 -0
  451. data/extras/ruby_rpm/muby.spec +44 -0
  452. data/extras/vault_tools/README.md +6 -0
  453. data/extras/vault_tools/export_vaults.sh +3 -0
  454. data/extras/vault_tools/recreate_vaults.sh +5 -0
  455. data/extras/vault_tools/test_vaults.sh +5 -0
  456. data/install/README.md +8 -0
  457. data/install/cfn_create_mu_master.json +1034 -0
  458. data/install/chef-server.rb.erb +19 -0
  459. data/install/deprecated-bash-library.sh +1891 -0
  460. data/install/images/Usage.png +0 -0
  461. data/install/installer +71 -0
  462. data/install/jenkinskeys.rb +8 -0
  463. data/install/user-dot-murc.erb +14 -0
  464. data/modules/html.erb +19 -0
  465. data/modules/mommacat.ru +426 -0
  466. data/modules/mu/cleanup.rb +339 -0
  467. data/modules/mu/cloud.rb +1446 -0
  468. data/modules/mu/clouds/README.md +201 -0
  469. data/modules/mu/clouds/aws/alarm.rb +319 -0
  470. data/modules/mu/clouds/aws/cache_cluster.rb +1010 -0
  471. data/modules/mu/clouds/aws/collection.rb +373 -0
  472. data/modules/mu/clouds/aws/container_cluster.rb +667 -0
  473. data/modules/mu/clouds/aws/database.rb +1836 -0
  474. data/modules/mu/clouds/aws/dnszone.rb +911 -0
  475. data/modules/mu/clouds/aws/firewall_rule.rb +641 -0
  476. data/modules/mu/clouds/aws/folder.rb +92 -0
  477. data/modules/mu/clouds/aws/function.rb +349 -0
  478. data/modules/mu/clouds/aws/group.rb +251 -0
  479. data/modules/mu/clouds/aws/loadbalancer.rb +888 -0
  480. data/modules/mu/clouds/aws/log.rb +363 -0
  481. data/modules/mu/clouds/aws/msg_queue.rb +480 -0
  482. data/modules/mu/clouds/aws/notification.rb +139 -0
  483. data/modules/mu/clouds/aws/role.rb +656 -0
  484. data/modules/mu/clouds/aws/search_domain.rb +646 -0
  485. data/modules/mu/clouds/aws/server.rb +2294 -0
  486. data/modules/mu/clouds/aws/server_pool.rb +1388 -0
  487. data/modules/mu/clouds/aws/storage_pool.rb +495 -0
  488. data/modules/mu/clouds/aws/user.rb +382 -0
  489. data/modules/mu/clouds/aws/userdata/README.md +4 -0
  490. data/modules/mu/clouds/aws/userdata/linux.erb +179 -0
  491. data/modules/mu/clouds/aws/userdata/windows.erb +278 -0
  492. data/modules/mu/clouds/aws/vpc.rb +1943 -0
  493. data/modules/mu/clouds/aws.rb +1009 -0
  494. data/modules/mu/clouds/cloudformation/alarm.rb +146 -0
  495. data/modules/mu/clouds/cloudformation/cache_cluster.rb +167 -0
  496. data/modules/mu/clouds/cloudformation/collection.rb +117 -0
  497. data/modules/mu/clouds/cloudformation/database.rb +278 -0
  498. data/modules/mu/clouds/cloudformation/dnszone.rb +274 -0
  499. data/modules/mu/clouds/cloudformation/firewall_rule.rb +308 -0
  500. data/modules/mu/clouds/cloudformation/loadbalancer.rb +193 -0
  501. data/modules/mu/clouds/cloudformation/log.rb +170 -0
  502. data/modules/mu/clouds/cloudformation/server.rb +370 -0
  503. data/modules/mu/clouds/cloudformation/server_pool.rb +279 -0
  504. data/modules/mu/clouds/cloudformation/vpc.rb +322 -0
  505. data/modules/mu/clouds/cloudformation.rb +733 -0
  506. data/modules/mu/clouds/docker.rb +30 -0
  507. data/modules/mu/clouds/google/container_cluster.rb +290 -0
  508. data/modules/mu/clouds/google/database.rb +152 -0
  509. data/modules/mu/clouds/google/firewall_rule.rb +267 -0
  510. data/modules/mu/clouds/google/group.rb +164 -0
  511. data/modules/mu/clouds/google/loadbalancer.rb +479 -0
  512. data/modules/mu/clouds/google/server.rb +1510 -0
  513. data/modules/mu/clouds/google/server_pool.rb +274 -0
  514. data/modules/mu/clouds/google/user.rb +266 -0
  515. data/modules/mu/clouds/google/userdata/README.md +4 -0
  516. data/modules/mu/clouds/google/userdata/linux.erb +137 -0
  517. data/modules/mu/clouds/google/userdata/windows.erb +275 -0
  518. data/modules/mu/clouds/google/vpc.rb +890 -0
  519. data/modules/mu/clouds/google.rb +811 -0
  520. data/modules/mu/config/README.md +11 -0
  521. data/modules/mu/config/alarm.rb +271 -0
  522. data/modules/mu/config/cache_cluster.rb +172 -0
  523. data/modules/mu/config/collection.rb +87 -0
  524. data/modules/mu/config/container_cluster.rb +103 -0
  525. data/modules/mu/config/container_cluster.yml +36 -0
  526. data/modules/mu/config/database.rb +458 -0
  527. data/modules/mu/config/database.yml +26 -0
  528. data/modules/mu/config/dnszone.rb +327 -0
  529. data/modules/mu/config/firewall_rule.rb +118 -0
  530. data/modules/mu/config/folder.rb +70 -0
  531. data/modules/mu/config/function.rb +140 -0
  532. data/modules/mu/config/group.rb +64 -0
  533. data/modules/mu/config/loadbalancer.rb +482 -0
  534. data/modules/mu/config/log.rb +47 -0
  535. data/modules/mu/config/log.yml +6 -0
  536. data/modules/mu/config/msg_queue.rb +47 -0
  537. data/modules/mu/config/msg_queue.yml +9 -0
  538. data/modules/mu/config/notification.rb +44 -0
  539. data/modules/mu/config/project.rb +71 -0
  540. data/modules/mu/config/role.rb +102 -0
  541. data/modules/mu/config/search_domain.rb +61 -0
  542. data/modules/mu/config/search_domain.yml +25 -0
  543. data/modules/mu/config/server.rb +587 -0
  544. data/modules/mu/config/server.yml +8 -0
  545. data/modules/mu/config/server_pool.rb +216 -0
  546. data/modules/mu/config/server_pool.yml +71 -0
  547. data/modules/mu/config/storage_pool.rb +145 -0
  548. data/modules/mu/config/user.rb +78 -0
  549. data/modules/mu/config/vpc.rb +743 -0
  550. data/modules/mu/config/vpc.yml +6 -0
  551. data/modules/mu/config.rb +2000 -0
  552. data/modules/mu/defaults/README.md +2 -0
  553. data/modules/mu/defaults/amazon_images.yaml +121 -0
  554. data/modules/mu/defaults/google_images.yaml +16 -0
  555. data/modules/mu/deploy.rb +686 -0
  556. data/modules/mu/groomer.rb +123 -0
  557. data/modules/mu/groomers/README.md +58 -0
  558. data/modules/mu/groomers/chef.rb +1024 -0
  559. data/modules/mu/kittens.rb +11319 -0
  560. data/modules/mu/logger.rb +208 -0
  561. data/modules/mu/master/README.md +27 -0
  562. data/modules/mu/master/chef.rb +471 -0
  563. data/modules/mu/master/ldap.rb +1005 -0
  564. data/modules/mu/master.rb +415 -0
  565. data/modules/mu/mommacat.rb +2703 -0
  566. data/modules/mu-load-config.rb +1 -0
  567. data/modules/mu.rb +724 -0
  568. data/modules/scratchpad.erb +1 -0
  569. data/modules/tests/super_complex_bok.yml +41 -0
  570. data/modules/tests/super_simple_bok.yml +40 -0
  571. data/mu.gemspec +62 -0
  572. data/roles/demo-dbservice-configure.json +19 -0
  573. data/roles/demo-portal-configure.json +19 -0
  574. data/roles/mu-master-jenkins.json +24 -0
  575. data/roles/mu-master-nagios-only.json +13 -0
  576. data/roles/mu-master.json +12 -0
  577. data/roles/mu-node.json +19 -0
  578. data/roles/mu-splunk-server.json +13 -0
  579. data/roles/mu-splunk.json +13 -0
  580. data/test/clean_up.py +25 -0
  581. data/test/demo-test-profile/README.md +3 -0
  582. data/test/demo-test-profile/controls/flask.rb +84 -0
  583. data/test/demo-test-profile/inspec.lock +7 -0
  584. data/test/demo-test-profile/inspec.yml +11 -0
  585. data/test/etco-test-profile/README.md +3 -0
  586. data/test/etco-test-profile/controls/all-in-one.rb +182 -0
  587. data/test/etco-test-profile/inspec.lock +7 -0
  588. data/test/etco-test-profile/inspec.yml +11 -0
  589. data/test/exec_inspec.py +246 -0
  590. data/test/exec_mu_install.py +241 -0
  591. data/test/exec_retry.py +44 -0
  592. data/test/mu-master-test/README.md +3 -0
  593. data/test/mu-master-test/controls/all_in_one.rb +557 -0
  594. data/test/mu-master-test/inspec.lock +3 -0
  595. data/test/mu-master-test/inspec.yml +11 -0
  596. data/test/mu-tools-test/README.md +3 -0
  597. data/test/mu-tools-test/controls/base.rb +265 -0
  598. data/test/mu-tools-test/inspec.lock +3 -0
  599. data/test/mu-tools-test/inspec.yml +8 -0
  600. data/test/simple-server-php-test/README.md +3 -0
  601. data/test/simple-server-php-test/controls/apachephp.rb +25 -0
  602. data/test/simple-server-php-test/controls/example.rb +19 -0
  603. data/test/simple-server-php-test/inspec.lock +7 -0
  604. data/test/simple-server-php-test/inspec.yml +12 -0
  605. data/test/simple-server-rails-test/README.md +3 -0
  606. data/test/simple-server-rails-test/controls/rails.rb +188 -0
  607. data/test/simple-server-rails-test/inspec.lock +7 -0
  608. data/test/simple-server-rails-test/inspec.yml +11 -0
  609. data/test/simple-windows-test/README.md +3 -0
  610. data/test/simple-windows-test/controls/windows.rb +20 -0
  611. data/test/simple-windows-test/inspec.lock +7 -0
  612. data/test/simple-windows-test/inspec.yml +11 -0
  613. data/test/smoke_test.rb +75 -0
  614. data/test/wordpress-test/README.md +3 -0
  615. data/test/wordpress-test/controls/wordpress.rb +97 -0
  616. data/test/wordpress-test/inspec.lock +7 -0
  617. data/test/wordpress-test/inspec.yml +11 -0
  618. metadata +979 -0
@@ -0,0 +1,89 @@
1
+ #
2
+ # Cookbook Name:: mu-master
3
+ # Recipe:: sssd
4
+ #
5
+ # Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
6
+ #
7
+ # Licensed under the BSD-3 license (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License in the root of the project or at
10
+ #
11
+ # http://egt-labs.com/mu/LICENSE.html
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+
19
+ include_recipe 'mu-master::firewall-holes'
20
+ include_recipe "mu-master::389ds"
21
+
22
+ package "sssd"
23
+ package "sssd-ldap"
24
+ package "sssd-client"
25
+ package "nss-pam-ldapd" do
26
+ action :remove
27
+ end
28
+ package "pam_ldap" do
29
+ action :remove
30
+ end
31
+ package "dbus"
32
+ service "messagebus" do
33
+ action [:enable, :start]
34
+ end
35
+ package "nscd"
36
+ service "nscd" do
37
+ action [:disable, :stop]
38
+ end
39
+ package "oddjob-mkhomedir"
40
+ execute "restorecon -r /usr/sbin"
41
+ service "sshd" do
42
+ action :nothing
43
+ end
44
+
45
+ # SELinux Policy for oddjobd and its interaction with syslogd
46
+ cookbook_file "syslogd_oddjobd.pp" do
47
+ path "#{Chef::Config[:file_cache_path]}/syslogd_oddjobd.pp"
48
+ end
49
+
50
+ execute "Add oddjobd and syslogd interaction to SELinux allow list" do
51
+ command "/usr/sbin/semodule -i syslogd_oddjobd.pp"
52
+ cwd Chef::Config[:file_cache_path]
53
+ not_if "/usr/sbin/semodule -l | grep syslogd_oddjobd"
54
+ notifies :restart, "service[oddjobd]", :delayed
55
+ end
56
+
57
+ service "oddjobd" do
58
+ start_command "sh -x /etc/init.d/oddjobd start" if %w{redhat centos}.include?(node['platform']) && node['platform_version'].to_i == 6 # seems to actually work
59
+ action [:enable, :start]
60
+ end
61
+ execute "/usr/sbin/authconfig --disablenis --disablecache --disablewinbind --disablewinbindauth --enablemkhomedir --disablekrb5 --enablesssd --enablesssdauth --enablelocauthorize --disableforcelegacy --disableldap --disableldapauth --updateall" do
62
+ notifies :restart, "service[oddjobd]", :immediately
63
+ notifies :reload, "service[sshd]", :delayed
64
+ not_if "grep pam_sss.so /etc/pam.d/password-auth"
65
+ end
66
+ directory "/var/log/sssd" do
67
+ mode 0750
68
+ recursive true
69
+ end
70
+ service "sssd" do
71
+ action :nothing
72
+ notifies :restart, "service[sshd]", :immediately
73
+ end
74
+ template "/etc/sssd/sssd.conf" do
75
+ source "sssd.conf.erb"
76
+ mode 0600
77
+ owner "root"
78
+ group "root"
79
+ notifies :restart, "service[sssd]", :immediately
80
+ variables(
81
+ :base_dn => $MU_CFG['ldap']['base_dn'],
82
+ :user_ou => $MU_CFG['ldap']['user_ou'],
83
+ :dcs => $MU_CFG['ldap']['dcs']
84
+ )
85
+ end
86
+ service "sssd" do
87
+ action [:enable, :start]
88
+ notifies :restart, "service[sshd]", :immediately
89
+ end
@@ -0,0 +1,242 @@
1
+ #
2
+ # Cookbook Name:: mu-master
3
+ # Recipe:: update_nagios_only
4
+ #
5
+ # Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
6
+ #
7
+ # Licensed under the BSD-3 license (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License in the root of the project or at
10
+ #
11
+ # http://egt-labs.com/mu/LICENSE.html
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+
19
+ include_recipe "nagios::server_source"
20
+ include_recipe "nagios"
21
+ include_recipe 'mu-master::firewall-holes'
22
+
23
+ if $MU_CFG.has_key?('ldap')
24
+ include_recipe 'chef-vault'
25
+ bind_creds = chef_vault_item($MU_CFG['ldap']['bind_creds']['vault'], $MU_CFG['ldap']['bind_creds']['item'])
26
+ node.normal['nagios']['server_auth_method'] = "ldap"
27
+ node.normal['nagios']['ldap_bind_dn'] = bind_creds[$MU_CFG['ldap']['bind_creds']['username_field']]
28
+ node.normal['nagios']['ldap_bind_password'] = bind_creds[$MU_CFG['ldap']['bind_creds']['password_field']]
29
+ if $MU_CFG['ldap']['type'] == "Active Directory"
30
+ node.normal['nagios']['ldap_url'] = "ldap://#{$MU_CFG['ldap']['dcs'].first}/#{$MU_CFG['ldap']['base_dn']}?sAMAccountName?sub?(objectClass=*)"
31
+ else
32
+ node.normal['nagios']['ldap_url'] = "ldap://#{$MU_CFG['ldap']['dcs'].first}/#{$MU_CFG['ldap']['base_dn']}?uid?sub?(objectClass=*)"
33
+ node.normal['nagios']['ldap_group_attribute'] = "memberUid"
34
+ node.normal['nagios']['ldap_group_attribute_is_dn'] = "Off"
35
+ # Trying to use SSL seems to cause mod_ldap to die without logging any errors,
36
+ # currently. Probably an Apache bug? XXX
37
+ # node.normal['nagios'][:ldap_trusted_global_cert] = "CA_BASE64 #{$MU_CFG['ssl']['chain']}"
38
+ # node.normal['nagios'][:ldap_trusted_mode] = "SSL"
39
+ end
40
+ node.normal['nagios']['server_auth_require'] = "ldap-group #{$MU_CFG['ldap']['user_group_dn']}"
41
+ node.normal['nagios']['ldap_authoritative'] = "On"
42
+ node.save
43
+ end
44
+
45
+ # XXX The Nagios init script from source is buggy; config test always fails
46
+ # when invoked via "service nagios start," which is what the cookbook does.
47
+ # This at least keeps it from trashing our Chef runs.
48
+ file "/etc/sysconfig/nagios" do
49
+ content "checkconfig=\"false\"\n"
50
+ mode 0600
51
+ end
52
+ include_recipe "nagios"
53
+
54
+ # scrub our old stuff if it's around
55
+ ["nagios_fifo", "nagios_more_selinux"].each { |policy|
56
+ execute "/usr/sbin/semodule -r #{policy}" do
57
+ only_if "/usr/sbin/semodule -l | egrep '^#{policy}(\t|$)'"
58
+ end
59
+ }
60
+
61
+ nagios_policies = ["nagios_selinux"]
62
+
63
+ if platform_family?("rhel") and node['platform_version'].to_i == 7
64
+ nagios_policies << "nagios_selinux_7"
65
+ end
66
+
67
+ # Restart Nagios inelegantly, because the standard service resource doesn't
68
+ # seem to work reliably on CentOS 7 or RHEL 7. May be an issue with the nagios
69
+ # community cookbook? Maybe it doesn't do systemctl correctly?
70
+ bash "RHEL7-family Nagios restart" do
71
+ code <<-EOH
72
+ /bin/systemctl stop nagios.service
73
+ /bin/pkill -u nagios
74
+ /bin/rm -f /var/run/nagios/nagios.pid
75
+ /bin/systemctl start nagios.service
76
+ EOH
77
+ action :nothing
78
+ end
79
+
80
+ nagios_policies.each { |policy|
81
+ execute "/usr/sbin/semodule -r #{policy}" do
82
+ action :nothing
83
+ only_if "/usr/sbin/semodule -l | egrep '^#{policy}(\t|$)'"
84
+ end
85
+ cookbook_file "#{policy}.pp" do
86
+ path "#{Chef::Config[:file_cache_path]}/#{policy}.pp"
87
+ notifies :run, "execute[/usr/sbin/semodule -r #{policy}]", :immediately
88
+ end
89
+ execute "Add Nagios-related SELinux policies: #{policy}" do
90
+ command "/usr/sbin/semodule -i #{policy}.pp"
91
+ cwd Chef::Config[:file_cache_path]
92
+ not_if "/usr/sbin/semodule -l | egrep '^#{policy}(\t|$)'"
93
+ notifies :reload, "service[apache2]", :delayed
94
+ notifies :restart, "service[nrpe]", :delayed
95
+ if platform_family?("rhel") and node['platform_version'].to_i >= 7
96
+ notifies :run, "bash[RHEL7-family Nagios restart]", :delayed
97
+ else
98
+ notifies :reload, "service[nagios]", :delayed
99
+ end
100
+ end
101
+ }
102
+
103
+ # Workaround for minor Nagios (cookbook?) bug. It looks for this at the wrong
104
+ # URL at the moment, so copy it where it's actually looking.
105
+ if File.exists?("/usr/lib/cgi-bin/nagios/statusjson.cgi")
106
+ remote_file "/usr/lib/cgi-bin/statusjson.cgi" do
107
+ source "file:///usr/lib/cgi-bin/nagios/statusjson.cgi"
108
+ mode 0755
109
+ owner "root"
110
+ group "nagios"
111
+ end
112
+ end
113
+
114
+ # ... the nagios cookbook is bafflingly inconsistent
115
+ directory "/usr/lib/cgi-bin/nagios" do
116
+ mode 0755
117
+ owner "root"
118
+ group "nagios"
119
+ end
120
+ Dir.glob("/usr/lib/cgi-bin/*.cgi").each { |script|
121
+ shortname = script.gsub(/.*?\/([^\/]+)$/, '\1')
122
+ remote_file "/usr/lib/cgi-bin/nagios/#{shortname}" do
123
+ source "file:///#{script}"
124
+ mode 0755
125
+ owner "root"
126
+ group "nagios"
127
+ end
128
+ }
129
+
130
+ ["/usr/lib/nagios", "/etc/nagios", "/etc/nagios3", "/var/www/html/docs"].each { |dir|
131
+ if Dir.exist?(dir)
132
+ execute "chcon -R -h -t httpd_sys_content_t #{dir}" do
133
+ not_if "ls -aZ #{dir} | grep ':httpd_sys_content_t:'"
134
+ returns [0, 1]
135
+ notifies :reload, "service[apache2]", :delayed
136
+ end
137
+ end
138
+ }
139
+
140
+ ["/usr/lib/cgi-bin"].each { |cgidir|
141
+ if Dir.exist?(cgidir)
142
+ execute "chcon -R -h -t httpd_sys_script_exec_t #{cgidir}" do
143
+ not_if "ls -aZ #{cgidir} | grep ':httpd_sys_script_exec_t:'"
144
+ notifies :reload, "service[apache2]", :delayed
145
+ end
146
+ end
147
+ }
148
+ if File.exist?("/usr/lib64/nagios/plugins/check_nagios")
149
+ execute "chcon -R -h -t nagios_unconfined_plugin_exec_t /usr/lib64/nagios/plugins/check_nagios" do
150
+ not_if "ls -aZ /usr/lib64/nagios/plugins/check_nagios | grep ':nagios_unconfined_plugin_exec_t:'"
151
+ end
152
+ end
153
+
154
+ # execute "chgrp apache /var/log/nagios"
155
+ ["/etc/nagios/conf.d/", "/etc/nagios/*.cfg", "/var/run/nagios.pid"].each { |dir|
156
+ execute "/sbin/restorecon -R #{dir}" do
157
+ not_if "ls -aZ #{dir} | grep ':nagios_etc_t:'"
158
+ only_if { ::File.exists?(dir) }
159
+ end
160
+ }
161
+
162
+ execute "/sbin/restorecon -R /var/log/nagios"
163
+
164
+ # The Nagios cookbook currently screws up this setting, so work around it.
165
+ execute "sed -i s/^interval_length=.*/interval_length=1/ || echo 'interval_length=1' >> /etc/nagios/nagios.cfg" do
166
+ not_if "grep '^interval_length=1$' /etc/nagios/nagios.cfg"
167
+ if platform_family?("rhel") and node['platform_version'].to_i >= 7
168
+ notifies :run, "bash[RHEL7-family Nagios restart]", :delayed
169
+ else
170
+ notifies :reload, "service[nagios]", :delayed
171
+ end
172
+ end
173
+
174
+ package "nagios-plugins-nrpe"
175
+ package "nagios-plugins-disk"
176
+ include_recipe "mu-tools::nrpe"
177
+
178
+ cookbook_file "/usr/lib64/nagios/plugins/check_mem" do
179
+ source "check_mem.pl"
180
+ mode 0755
181
+ owner "root"
182
+ notifies :restart, "service[nrpe]", :delayed
183
+ end
184
+
185
+ file "/etc/sysconfig/nrpe" do
186
+ content "NRPE_SSL_OPT=\"\"\n"
187
+ end
188
+
189
+ #Sometimes doesn’t exist on the first run
190
+ directory "/opt/mu/var/nagios_user_home" do
191
+ owner "nagios"
192
+ group "nagios"
193
+ mode 0700
194
+ end
195
+
196
+ directory "/opt/mu/var/nagios_user_home/.ssh" do
197
+ owner "nagios"
198
+ group "nagios"
199
+ mode 0711
200
+ end
201
+ file "/opt/mu/var/nagios_user_home/.ssh/known_hosts" do
202
+ owner "nagios"
203
+ group "nagios"
204
+ mode 0600
205
+ end
206
+ file "/opt/mu/var/nagios_user_home/.ssh/known_hosts2" do
207
+ owner "nagios"
208
+ group "nagios"
209
+ mode 0600
210
+ end
211
+
212
+
213
+ nrpe_check "check_mem" do
214
+ command "#{node['nrpe']['plugin_dir']}/check_mem"
215
+ warning_condition '80'
216
+ critical_condition '95'
217
+ action :add
218
+ end
219
+
220
+ nagios_command 'host_notify_by_email' do
221
+ options 'command_line' => '/usr/bin/printf "%b" "$LONGDATETIME$\n\n$HOSTALIAS$ $NOTIFICATIONTYPE$ $HOSTSTATE$ ('+$MU_CFG['hostname']+')\n\n$HOSTOUTPUT$\n\nLogin: ssh://$HOSTNAME$" | ' + node['nagios']['server']['mail_command'] + ' -s "$NOTIFICATIONTYPE$ - $HOSTALIAS$ $HOSTSTATE$! ('+$MU_CFG['hostname']+')" $CONTACTEMAIL$'
222
+ end
223
+
224
+ nagios_command 'service_notify_by_email' do
225
+ options 'command_line' => '/usr/bin/printf "%b" "$LONGDATETIME$ - $SERVICEDESC$ $SERVICESTATE$ ('+$MU_CFG['hostname']+')\n\n$HOSTALIAS$ $NOTIFICATIONTYPE$\n\n$SERVICEOUTPUT$\n\nLogin: ssh://$HOSTNAME$" | ' + node['nagios']['server']['mail_command'] + ' -s "** $NOTIFICATIONTYPE$ - $HOSTALIAS$ - $SERVICEDESC$ - $SERVICESTATE$ ('+$MU_CFG['hostname']+')" $CONTACTEMAIL$'
226
+ end
227
+
228
+ nagios_command 'host_notify_by_sms_email' do
229
+ options 'command_line' => '/usr/bin/printf "%b" "$HOSTALIAS$ $NOTIFICATIONTYPE$ $HOSTSTATE$ ('+$MU_CFG['hostname']+')\n\n$HOSTOUTPUT$" | ' + node['nagios']['server']['mail_command'] + ' -s "$HOSTALIAS$ $HOSTSTATE$! ('+$MU_CFG['hostname']+')" $CONTACTPAGER$'
230
+ end
231
+
232
+ nagios_command 'service_notify_by_sms_email' do
233
+ options 'command_line' => '/usr/bin/printf "%b" "$SERVICEDESC$ $NOTIFICATIONTYPE$ $SERVICESTATE$ ('+$MU_CFG['hostname']+')\n\n$SERVICEOUTPUT$" | ' + node['nagios']['server']['mail_command'] + ' -s "$HOSTALIAS$ $SERVICEDESC$ $SERVICESTATE$! ('+$MU_CFG['hostname']+')" $CONTACTPAGER$'
234
+ end
235
+
236
+ execute "chgrp nrpe /etc/nagios/nrpe.d/*"
237
+ execute "/sbin/restorecon /etc/nagios/nrpe.cfg" do
238
+ if platform_family?("rhel") and node['platform_version'].to_i >= 7
239
+ notifies :run, "bash[RHEL7-family Nagios restart]", :delayed
240
+ end
241
+ end
242
+ include_recipe "mu-master::init" # gem permission fixes, mainly
@@ -0,0 +1,111 @@
1
+ # Cookbook Name:: mu-master
2
+ # Recipe:: vault
3
+ #
4
+ # Copyright:: Copyright (c) 2017 eGlobalTech, Inc., all rights reserved
5
+ #
6
+ # Licensed under the BSD-3 license (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License in the root of the project or at
9
+ #
10
+ # http://egt-labs.com/mu/LICENSE.html
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
18
+ # This recipe is meant to be invoked standalone, by chef-apply. It can safely
19
+ # be invoked during a regular chef-client run.
20
+ #
21
+ # When modifying this recipe, DO NOT ADD EXTERNAL DEPENDENCIES. That means no
22
+ # references to other cookbooks, no include_recipes, no cookbook_files, no
23
+ # templates.
24
+
25
+ include_recipe 'mu-master::firewall-holes'
26
+
27
+ # Mangle a bunch of values used by the Consul and Vault community cookbooks
28
+ node.normal['consul']['config']['bootstrap_expect'] = 1 # XXX we only want this on our first run, maybe figure out how to toss it later
29
+ node.normal['consul']['config']['start_join'] = ["127.0.0.1"]
30
+ node.normal['consul']['config']['ca_file'] = "#{$MU_CFG['datadir']}/ssl/Mu_CA.pem"
31
+ node.normal['consul']['config']['key_file'] = "#{$MU_CFG['datadir']}/ssl/consul.key"
32
+ node.normal['consul']['config']['cert_file'] = "#{$MU_CFG['datadir']}/ssl/consul.crt"
33
+ consul_public = $MU_CFG['public_address']
34
+ if !consul_public.match(/^\d+\.\d+\.\d+\.\d+$/)
35
+ resolver = Resolv::DNS.new
36
+ begin
37
+ consul_public = resolver.getaddress(consul_public).to_s
38
+ end
39
+ end
40
+ # strictly speaking we could split internal vs. external IPs here, but atm
41
+ # we're treating everything not local to this machine as public anyway
42
+ node.normal['consul']['config']['advertise_addr'] = consul_public
43
+ node.normal['consul']['config']['advertise_addr_wan'] = consul_public
44
+ node.normal['consul']['config']['bind_addr'] = "0.0.0.0"
45
+ node.normal['hashicorp-vault']['config']['tls_key_file'] = "#{$MU_CFG['datadir']}/ssl/vault.key"
46
+ node.normal['hashicorp-vault']['config']['tls_cert_file'] = "#{$MU_CFG['datadir']}/ssl/vault.crt"
47
+ node.normal['hashicorp-vault']['config']['address'] = '0.0.0.0:8200'
48
+ node.save
49
+
50
+ ["consul", "vault"].each { |cert|
51
+ # These community cookbooks aren't bright enough to deal with a stringent
52
+ # umask, and create these unreadable by the application if we don't do it for
53
+ # them.
54
+ directory "fix /opt/#{cert} permissions" do
55
+ path "/opt/#{cert}"
56
+ mode 0755
57
+ notifies :restart, "service[#{cert}]", :delayed
58
+ end
59
+ }
60
+
61
+ include_recipe "consul-cluster"
62
+ include_recipe "vault-cluster"
63
+
64
+ ["consul", "vault"].each { |cert|
65
+ file "fix #{cert} cert permissions" do
66
+ path "#{$MU_CFG['datadir']}/ssl/#{cert}.crt"
67
+ owner cert
68
+ notifies :restart, "service[#{cert}]", :delayed
69
+ end
70
+ file "fix #{cert} key permissions" do
71
+ path "#{$MU_CFG['datadir']}/ssl/#{cert}.key"
72
+ notifies :restart, "service[#{cert}]", :delayed
73
+ owner cert
74
+ end
75
+ }
76
+
77
+ directory "/opt/vault/#{node['hashicorp-vault']['version']}" do
78
+ mode 0755
79
+ notifies :restart, "service[vault]", :delayed
80
+ end
81
+
82
+ directory "/etc/consul/ssl" do
83
+ owner "consul"
84
+ group "consul"
85
+ mode 0755
86
+ end
87
+ directory "/etc/vault" do
88
+ owner "root"
89
+ mode 0755
90
+ end
91
+ directory "/etc/vault/ssl" do
92
+ owner "root"
93
+ mode 0755
94
+ end
95
+ directory "/etc/consul/ssl/CA" do
96
+ owner "root"
97
+ mode 0755
98
+ end
99
+ include_recipe 'chef-vault'
100
+
101
+ file "/etc/consul/ssl/CA/ca.crt" do
102
+ mode 0644
103
+ content chef_vault_item("secrets", "consul")["ca_certificate"]
104
+ end
105
+
106
+ service "consul" do
107
+ action [:enable, :start]
108
+ end
109
+ service "vault" do
110
+ action [:enable, :start]
111
+ end
@@ -0,0 +1,19 @@
1
+ #
2
+ # Cookbook Name:: mu-master
3
+ # Resource:: mu_user
4
+ #
5
+ # Copyright 2017, eGlobalTech,
6
+ #
7
+ # All rights reserved - Do Not Redistribute
8
+ #
9
+
10
+ actions :add, :remove
11
+ default_action :add
12
+
13
+ attribute :username, :kind_of => String, :name_attribute => true, :required => true
14
+ attribute :realname, :kind_of => String, :required => true
15
+ attribute :email, :kind_of => String, :required => true
16
+ attribute :password, :kind_of => String, :required => false
17
+ attribute :admin, :kind_of => [TrueClass, FalseClass], :required => false, :default => false
18
+ attribute :orgs, :kind_of => Array, :required => false
19
+ attribute :remove_orgs, :kind_of => Array, :required => false
@@ -0,0 +1,28 @@
1
+ [General]
2
+ FullMachineName= <%= @address %>
3
+ SuiteSpotUserID= nobody
4
+ SuiteSpotGroup= nobody
5
+ AdminDomain= <%= @domain %>
6
+ ServerRoot = /usr/lib64/dirsrv
7
+ StrictHostCheck = false
8
+ ConfigDirectoryAdminID= <%= @creds["cfg_directory_adm"]["user"] %>
9
+ ConfigDirectoryAdminPwd= <%= @creds["cfg_directory_adm"]["pw"] %>
10
+ ConfigDirectoryLdapURL= ldap://<%= @address %>:389/o=NetscapeRoot
11
+
12
+ [admin]
13
+ Port= 9830
14
+ ServerIpAddress= 0.0.0.0
15
+ ServerAdminID= <%= @creds["cfg_directory_adm"]["user"] %>
16
+ ServerAdminPwd= <%= @creds["cfg_directory_adm"]["pw"] %>
17
+
18
+ [slapd]
19
+ AddOrgEntries = Yes
20
+ AddSampleEntries = No
21
+ SlapdConfigForMC= Yes
22
+ UseExistingMC= No
23
+ ServerPort= 389
24
+ ServerIdentifier= <%= @hostname.gsub(/[^a-z0-9#%:@_-]/i, "_") %>
25
+ Suffix= <%= @domain_dn %>
26
+ naming_value= <%= @domain %>
27
+ RootDN= <%= @creds["root_dn_user"]["user"] %>
28
+ RootDNPwd= <%= @creds["root_dn_user"]["pw"] %>
@@ -0,0 +1,18 @@
1
+ server_name='<%= $MU_CFG['public_address'] %>'
2
+ api_fqdn server_name
3
+ nginx['server_name'] = server_name
4
+ nginx['enable_non_ssl'] = false
5
+ nginx['non_ssl_port'] = 81
6
+ nginx['ssl_port'] = 7443
7
+ nginx['ssl_ciphers'] = 'HIGH:!MEDIUM:!3DES:!LOW:!kEDH:!aNULL:!ADH:!eNULL:!EXP:!SSLv2:!SEED:!CAMELLIA:!PSK'
8
+ nginx['ssl_protocols'] = 'TLSv1.2'
9
+ bookshelf['external_url'] = 'https://'+server_name+':7443'
10
+ bookshelf['vip_port'] = 7443
11
+ <% if $MU_CFG.has_key?("ssl") %>
12
+ nginx['ssl_certificate'] = '<%= $MU_CFG["ssl"]["cert"] %>'
13
+ nginx['ssl_certificate_key'] = '<%= $MU_CFG["ssl"]["key"] %>'
14
+ <% if $MU_CFG["ssl"].has_key?("chain") %>
15
+ nginx['ssl_ca_path'] = '<%= File.dirname($MU_CFG["ssl"]["chain"]) %>'
16
+ nginx['ssl_ca_file'] = '<%= File.basename($MU_CFG["ssl"]["chain"]) %>'
17
+ <% end %>
18
+ <% end %>
@@ -0,0 +1,9 @@
1
+ interface "eth0" {
2
+ # <%= @search_domains.join(", ") %>
3
+ <% if @search_domains.size > 0 %>
4
+ supersede domain-search <%= @search_domains.map{|dom| dom = '"'+dom+'"' }.join(", ") %>;
5
+ <% end %>
6
+ <% if node['ad']['dc_ips'].size > 0 %>
7
+ prepend domain-name-servers <%= node['ad']['dc_ips'].join(", ") %>;
8
+ <% end rescue NoMethodError %>
9
+ }
@@ -0,0 +1,149 @@
1
+ #!/bin/bash
2
+ # Copyright:: Copyright (c) 2017 eGlobalTech, Inc., all rights reserved
3
+ #
4
+ # Licensed under the BSD-3 license (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License in the root of the project or at
7
+ #
8
+ # http://egt-labs.com/mu/LICENSE.html
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
+ # mu-momma-cat The listening server for Mu bootstrap requests.
17
+ #
18
+ # chkconfig: 2345 55 25
19
+ # description: The listening server for Mu bootstrap requests. Uses \
20
+ # the Ruby 'thin' webserver.
21
+ #
22
+ # processname: thin
23
+ # pidfile: /var/run/mommacat.pid
24
+
25
+ ### BEGIN INIT INFO
26
+ # Provides: mu-momma-cat
27
+ # Required-Start: $local_fs $network $syslog
28
+ # Required-Stop: $local_fs $syslog
29
+ # Default-Start: 2 3 4 5
30
+ # Default-Stop: 0 1 6
31
+ # Short-Description: The listening server for Mu bootstrap requests.
32
+ # Description: The listening server for Mu bootstrap requests.
33
+ ### END INIT INFO
34
+
35
+ # source function library
36
+ . /etc/rc.d/init.d/functions
37
+
38
+ RETVAL=0
39
+ THIN="/usr/local/ruby-current/bin/thin"
40
+ MU_RUBY="/usr/local/ruby-current/bin/bundle exec /usr/local/ruby-current/bin/ruby"
41
+ LOG_FILE="/var/log/mu-momma-cat.log"
42
+ PID_FILE="/var/run/mommacat.pid"
43
+ PORT=2260
44
+ prog="mu-momma-cat"
45
+ lockfile=/var/lock/subsys/mommacat
46
+
47
+ USER=`whoami`
48
+ if [ "$USER" != "root" ];then
49
+ echo "Momma Cat must be run with root privileges."
50
+ exit 1
51
+ fi
52
+ HOMEDIR="`eval echo ~$USER`"
53
+
54
+ MU_INSTALLDIR="<%= @installdir %>"
55
+ MU_SSL_CERT="<%= @ssl_cert %>"
56
+ MU_SSL_KEY="<%= @ssl_key %>"
57
+ if [ -z $MU_LIBDIR ];then
58
+ if [ -z $MU_INSTALLDIR ];then
59
+ echo "MU_LIBDIR and MU_INSTALLDIR are unset, I don't know where to find Mu!"
60
+ exit 1
61
+ else
62
+ MU_LIBDIR="$MU_INSTALLDIR/lib"
63
+ fi
64
+ fi
65
+
66
+ mudir="$MU_LIBDIR/modules"
67
+
68
+ runlevel=$(set -- $(runlevel); eval "echo \$$#" )
69
+
70
+ start()
71
+ {
72
+ cd $mudir || ( echo "Couldn't cd to $mudir" && exit 1 )
73
+ [ -f $mudir/mommacat.ru ] || exit 5
74
+
75
+ echo -n $"Starting $prog: "
76
+ ulimit -s unlimited
77
+ $MU_RUBY $THIN --threaded --daemonize --port $PORT --pid $PID_FILE --log $LOG_FILE --ssl --ssl-key-file $MU_SSL_KEY --ssl-cert-file $MU_SSL_CERT --ssl-disable-verify --tag "mu-momma-cat" -R mommacat.ru start && success || failure
78
+ RETVAL=$?
79
+ [ $RETVAL -eq 0 ] && touch $lockfile
80
+ echo
81
+ return $RETVAL
82
+ }
83
+
84
+ stop()
85
+ {
86
+ cd $mudir || ( echo "Couldn't cd to $mudir" && exit 1 )
87
+ echo -n $"Stopping $prog: "
88
+ killproc -p $PID_FILE $THIN
89
+ RETVAL=$?
90
+ # if we are in halt or reboot runlevel kill all running sessions
91
+ # so the TCP connections are closed cleanly
92
+ if [ "x$runlevel" = x0 -o "x$runlevel" = x6 ] ; then
93
+ trap '' TERM
94
+ killall $prog 2>/dev/null
95
+ trap TERM
96
+ fi
97
+ [ $RETVAL -eq 0 ] && rm -f $lockfile
98
+ echo
99
+ }
100
+
101
+ restart() {
102
+ stop
103
+ start
104
+ }
105
+
106
+ case "$1" in
107
+ start)
108
+ start
109
+ ;;
110
+ stop)
111
+ stop
112
+ ;;
113
+ restart)
114
+ restart
115
+ ;;
116
+ status)
117
+ if [ ! -f $PID_FILE ];then
118
+ maybe="`ps auxww | egrep \"thin server.*\[$prog\]\" | grep -v grep`"
119
+ if [ ! -z "$maybe" ];then
120
+ echo "$PID_FILE is missing, but I see a process that might be ours"
121
+ echo $maybe
122
+ else
123
+ echo "$prog not running"
124
+ fi
125
+ RETVAL=1
126
+ else
127
+ if [ -z "`cat $PID_FILE`" ];then
128
+ echo "$PID_FILE appears to be present but empty"
129
+ RETVAL=1
130
+ else
131
+ ps uwwp `cat $PID_FILE` | grep "$prog"
132
+ RETVAL=$?
133
+ if [ $RETVAL -ne 0 ];then
134
+ echo "$prog doesn't seem to be running"
135
+ if [ -f "$PID_FILE" ];then
136
+ echo "$PID_FILE may be stale"
137
+ fi
138
+ else
139
+ echo "$prog is running"
140
+ RETVAL=0
141
+ fi
142
+ fi
143
+ fi
144
+ ;;
145
+ *)
146
+ echo $"Usage: $0 {start|stop|restart|status}"
147
+ RETVAL=2
148
+ esac
149
+ exit $RETVAL
@@ -0,0 +1,9 @@
1
+ # bash/sh environment support for Mu tools. Intended for the system (root)
2
+ # user. Regular users get a .murc installed by mu-user-manage, from the template
3
+ # in <%= @installdir %>/lib/install/user-dot-murc.erb
4
+ export PATH="<%= @installdir %>/bin:/usr/local/ruby-current/bin:${PATH}:/opt/opscode/embedded/bin"
5
+ #export MU_INSTALLDIR="<%= @installdir %>"
6
+ #export MU_DATADIR="<%= @installdir %>/var"
7
+
8
+ alias vi=vim
9
+ export EDITOR=vim