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,21 @@
1
+ name 'mu-php54'
2
+ maintainer 'Mu'
3
+ maintainer_email 'mu-developers@googlegroups.com'
4
+ license 'BSD-3-Clause'
5
+
6
+ description 'Installs/Configures php'
7
+ long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
8
+ source_url 'https://github.com/cloudamatic/mu'
9
+ issues_url 'https://github.com/cloudamatic/mu/issues'
10
+ chef_version '>= 14.0' if respond_to?(:chef_version)
11
+ version '0.3.0'
12
+
13
+ %w( centos ubuntu ).each do |os|
14
+ supports os
15
+ end
16
+
17
+ depends 'mu-utility'
18
+ depends 'simple_iptables', '~> 0.8.0'
19
+ depends 'apache2', '< 4.0'
20
+ depends 'mysql', '~> 8.5.1'
21
+ depends 'yum-epel', '~> 3.2.0'
@@ -0,0 +1,97 @@
1
+ #
2
+ # Cookbook Name:: php5-apache
3
+ # Recipe:: default
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 "apache2"
20
+
21
+ build_essential 'name' do
22
+ compile_time True
23
+ end
24
+
25
+ case node['platform']
26
+
27
+ when "centos"
28
+ include_recipe "yum-epel"
29
+ include_recipe "mu-utility::remi"
30
+
31
+ # PHP, from Remi (for 5.4)
32
+ ["mysql-client", "mysql-libs", "mysql-devel", "compat-mysql51", "compat-mysql51-devel", "php", "php-cli"].each { |pkg|
33
+ package pkg do
34
+ options "--enablerepo=remi"
35
+ action :install
36
+ end
37
+ }
38
+
39
+ # What we really mean is "chef_gem" but that insists on running
40
+ # at compile time, before any of its dependencies are ready.
41
+ gem_package "mysql"
42
+
43
+ # Sundry libraries for PHP
44
+ ["libmcrypt", "libmcrypt-devel", "php-devel", "php-pdo", "php-mysql", "php-pgsql", "php-gd", "php-pspell", "php-snmp", "php-xmlrpc", "php-xml", "php-mbstring", "php-mcrypt", "php-pear"].each { |pkg|
45
+ package pkg do
46
+ options "--enablerepo=remi"
47
+ action :install
48
+ end
49
+ }
50
+ # PECL modules
51
+ ["php-pecl-memcache", "php-pecl-mongo", "php-pecl-sqlite"].each { |pkg|
52
+ package pkg do
53
+ options "--enablerepo=remi"
54
+ action :install
55
+ end
56
+ }
57
+
58
+ bash "Allow http and https through iptables" do
59
+ user "root"
60
+ not_if "/sbin/iptables -nL | egrep '^ACCEPT.*dpt:(80|443)($| )'"
61
+ code <<-EOH
62
+ iptables -I INPUT -p tcp --dport 80 -j ACCEPT
63
+ iptables -I INPUT -p tcp --dport 443 -j ACCEPT
64
+ service iptables save
65
+ EOH
66
+ end
67
+
68
+ when "ubuntu"
69
+ # XXX rewrite this: https://launchpad.net/~ondrej/+archive/php5-oldstable
70
+ bash "set default mysql passwords [bad]" do
71
+ user "root"
72
+ code <<-EOH
73
+ debconf-set-selections <<< 'mysql-server-5.5 mysql-server/root_password password root'
74
+ debconf-set-selections <<< 'mysql-server-5.5 mysql-server/root_password_again password root'
75
+ EOH
76
+ end
77
+ ["mysql-server", "php5", "php5-mysql", "libapache2-mod-php5", "php5-curl", "php5-gd", "php5-intl", "php-pear", "php5-imagick", "php5-imap", "php5-mcrypt", "php5-memcache", "php5-ming", "php5-ps", "php5-pspell", "php5-recode", "php5-snmp", "php5-sqlite", "php5-tidy", "php5-xmlrpc", "php5-xsl"].each { |pkg|
78
+ package pkg
79
+ }
80
+ bash "Allow http and https through iptables" do
81
+ user "root"
82
+ not_if "/sbin/iptables -nL | egrep '^ACCEPT.*dpt:(80|443)($| )'"
83
+ code <<-EOH
84
+ iptables -I INPUT -p tcp --dport 80 -j ACCEPT
85
+ iptables -I INPUT -p tcp --dport 443 -j ACCEPT
86
+ EOH
87
+ end
88
+
89
+ else
90
+ Chef::Log.info("Unsupported platform #{node['platform']}")
91
+
92
+ end
93
+
94
+ cookbook_file "/etc/php.ini" do
95
+ source "php.ini"
96
+ notifies :restart, "service[apache2]", :delayed
97
+ end
@@ -0,0 +1,37 @@
1
+ splunk CHANGELOG
2
+ ================
3
+
4
+ v1.3.0 (2014-10-24)
5
+ -------------------
6
+
7
+ - Implement dynamic inputs.conf and outputs.conf configuration based on attributes in client recipe.
8
+
9
+ v1.2.2 (2014-08-25)
10
+ -------------------
11
+
12
+ - Implement capability to run Splunk as a non-root user
13
+ - Allow web port to be specified
14
+
15
+ v1.2.0 (2014-05-06)
16
+ -------------------
17
+ - [COOK-4621] - upgrade to Splunk 6.0.3 (for heartbleed)
18
+ - add ubuntu 14.04 to test-kitchen
19
+
20
+ v1.1.0 (2014-03-19)
21
+ -------------------
22
+ - [COOK-4450] - upgrade to Splunk 6.0.2
23
+ - [COOK-4451] - unbreak test harness
24
+
25
+ v1.0.4
26
+ ------
27
+ - template sources should have .erb explicitly
28
+ - don't show the password in the execute resource name
29
+
30
+ v1.0.2
31
+ ------
32
+ - Splunk init script supports status, use it in `stop` action for upgrade.
33
+
34
+ v1.0.0
35
+ -----
36
+ - Initial release
37
+
@@ -0,0 +1,37 @@
1
+ Through accessing, reading, or utilizing this software in any manner whatsoever
2
+ or through any means whatsoever, whether the access, reading or use is either
3
+ solely looking at this software or this software has been integrated into any
4
+ derivative work, the party accessing, reading, or utilizing the software
5
+ directly or indirectly agrees to abide by the following license.
6
+
7
+ The eGlobalTech Cloud Automation Platform is the Copyright (c) 2014 of Global
8
+ Tech Inc. All rights reserved.
9
+
10
+ Redistribution and use in source and binary forms, with or without
11
+ modification, are permitted provided that the following conditions are met:
12
+
13
+ 1. Redistributions of source code must retain the above copyright notice, this
14
+ list of conditions and the following disclaimer.
15
+
16
+ 2. Redistributions in binary form must reproduce the above copyright notice,
17
+ this list of conditions and the following disclaimer in the documentation
18
+ and/or other materials provided with the distribution.
19
+
20
+ 3. Neither the name of the copyright holder nor the names of its contributors
21
+ may be used to endorse or promote products derived from this software without
22
+ specific prior written permission.
23
+
24
+ Global Tech, Inc. is the co-owner of any derivative works created with this
25
+ software.
26
+
27
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
28
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
29
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
30
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
31
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
33
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
35
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
+
@@ -0,0 +1,451 @@
1
+ splunk Cookbook
2
+ ===============
3
+
4
+ This cookbook manages a Splunk Universal Forwarder (client) or a
5
+ Splunk Enterprise (server) installation.
6
+
7
+ The Splunk default user is admin and the password is changeme. See the
8
+ `setup_auth` recipe below for more information about how to manage
9
+ changing the password with Chef and Chef Vault.
10
+
11
+ This recipe downloads packages from Splunk directly. There are
12
+ attributes to set a URL to retrieve the packages, so if the packages
13
+ are mirrored locally, supply the local URL instead. At this time the
14
+ cookbook doesn't support installing from networked package managers
15
+ (like apt or yum), since Splunk doesn't provide package repositories.
16
+
17
+ ## Requirements
18
+
19
+ ### Platforms
20
+
21
+ This cookbook uses Test Kitchen to do cross-platform convergence and
22
+ post-convergence tests. The tested platforms are considered supported.
23
+ This cookbook may work on other platforms or platform versions with or
24
+ without modification.
25
+
26
+ * Debian 7
27
+ * Ubuntu 10.04, 12.04
28
+ * CentOS 6
29
+ * OmniOS r151008
30
+
31
+ ### Cookbooks
32
+
33
+ Used for managing secrets, see __Usage__:
34
+
35
+ * chef-vault
36
+
37
+ ## Attributes
38
+
39
+ Attributes have default values set in `attributes/default.rb`. Where
40
+ possible or appropriate, the default values from Splunk Enterprise are
41
+ used.
42
+
43
+ General attributes:
44
+
45
+ * `node['splunk']['accept_license']`: Whether to accept the Splunk
46
+ EULA. Default is false. This *must* be set to true for Splunk to be
47
+ functional with this cookbook, which means end users must read the
48
+ EULA and agree to the terms.
49
+ * `node['splunk']['is_server']`: Set this to true if the node is a
50
+ splunk server, for example in a role. Default is false.
51
+ * `node['splunk']['disabled']`: Disable the splunk agent by setting
52
+ this to true. Default is false.
53
+ * `node['splunk']['receiver_port']`: The port that the receiver
54
+ (server) listens to. This is set to the Splunk Enterprise default,
55
+ 9997.
56
+ * `node['splunk']['web_port']`: The port that the splunkweb service
57
+ listens to. This is set to the default for HTTPS, 443, as it is
58
+ configured by the `setup_ssl` recipe.
59
+
60
+ The two URL attributes below are selected by platform and architecture
61
+ by default.
62
+
63
+ * `node['splunk']['forwarder']['url']`: The URL to the Splunk
64
+ Universal Forwarder package file.
65
+ * `node['splunk']['server']['url']`: The URL to the Splunk Enterprise
66
+ package file.
67
+
68
+ Special attributes for managing the Splunk user:
69
+
70
+ * `node['splunk']['user']`: A hash of attributes to set for the splunk
71
+ user resource in the `user` recipe. It's unlikely that someone would
72
+ need to change these, other than the UID, but just in case...
73
+
74
+ - `username`: the username
75
+ - `comment`: gecos field
76
+ - `home`: the home directory, defaults to `/opt/splunkforwarder`, will
77
+ be set to `/opt/splunk` if `node['splunk']['is_server']` is true.
78
+ - `shell`: the shell to use
79
+ - `uid`: the numeric UID. The default, `396` is an integer arbitrarily
80
+ chosen and doesn't conflict with anything on the supported platforms
81
+ (see list above). It is within the `system` UID range on Linux
82
+ systems.
83
+
84
+ * `node['splunk']['server']['runasroot']`: if runasroot is true (which is the splunk upstream package default) then the splunk server runs as root. If runasroot is false modify the init script to run as the `node['splunk']['user']`. This does not apply to the splunk client as they may need root permissions to read logfiles. NOTE1: you may also need to change `node['splunk']['web_port']` on a splunk server to run on a port >1024 if you don't run as root (splunk user cannot bind to privelaged ports). NOTE2: If you want to switch from root to the splunk user or vice versa on an existing install, please stop the splunk service first before changing the runasroot boolean value.
85
+
86
+ The following attributes are related to setting up `splunkweb` with
87
+ SSL in the `setup_ssl` recipe.
88
+
89
+ * `node['splunk']['ssl_options']`: A hash of SSL options used in the
90
+ `setup_ssl` recipe
91
+ * `node['splunk']['ssl_options']['enable_ssl']`: Whether to enable
92
+ SSL, must be set to `true` to use the `setup_ssl` recipe. Defaults
93
+ to `false`, must be set using a boolean literal `true` or `false`.
94
+ * `node['splunk']['ssl_options']['data_bag']`: The data bag name to
95
+ load, defaults to `vault` (as chef-vault is used).
96
+ * `node['splunk']['ssl_options']['data_bag_item']`: The data bag item
97
+ name that contains the keyfile and crtfile, defaults to
98
+ `splunk_ceritficates`.
99
+ * `node['splunk']['ssl_options']['keyfile']`: The name of the SSL key
100
+ file, and the content will be written to
101
+ `etc/auth/splunkweb/KEYFILE`. Must be an element under `data` in the
102
+ data bag item. See __Usage__ for instructions. Defaults to
103
+ '`self-signed.example.com.key`', and should be changed to something
104
+ relevant for the local site before use, in a role or wrapper cookbook.
105
+ * `node['splunk']['ssl_options']['crtfile']`: The name of the SSL cert
106
+ (crt) file, and the content will be written to
107
+ `/etc/auth/splunkweb/CRTFILE`. Must be an element under `data` in
108
+ the data bag item. See __Usage__ for instructions. Defaults to
109
+ '`self-signed.example.com.crt`', and should be changed to something
110
+ relevant for the local site before use, in a role or wrapper cookbook.
111
+
112
+ The following attributes are related to setting up a splunk forwarder
113
+ with the `client` recipe
114
+
115
+ `node['splunk']['outputs_conf']` is a hash of configuration values that are used to dynamically populate the `outputs.conf` file's "`tcpout:splunk_indexers_PORT`" configuration section. Each key/value pair in the hash is used as configuration in the file. For example the `attributes/default.rb` has this:
116
+
117
+ ```ruby
118
+ default['splunk']['outputs_conf'] = {
119
+ 'forwardedindex.0.whitelist' => '.*',
120
+ 'forwardedindex.1.blacklist' => '_.*',
121
+ 'forwardedindex.2.whitelist' => '_audit',
122
+ 'forwardedindex.filter.disable' => 'false'
123
+ }
124
+ ```
125
+
126
+ This will result in the following being rendered in `outputs.conf`:
127
+
128
+ ```
129
+ [tcpout:splunk_indexers_9997]
130
+ server=10.0.2.47:9997
131
+ forwardedindex.0.whitelist = .*
132
+ forwardedindex.1.blacklist = _.*
133
+ forwardedindex.2.whitelist = _audit
134
+ forwardedindex.filter.disable = false
135
+ ```
136
+
137
+ The `tcpout:splunk_indexers_9997` section is defined by the search results for Splunk Servers, and the `server` directive is a comma-separated listed of server IPs and the ports. For example, to add an `sslCertPath` directive, define the attribute in your role, wrapper cookbook, etc:
138
+
139
+ ```
140
+ node.default['splunk']['outputs_conf']['sslCertPath'] = '$SPLUNK_HOME/etc/certs/cert.pem'
141
+ ```
142
+
143
+ `node['splunk']['inputs_conf']` is a hash of configuration values that are used to populate the `inputs.conf` file.
144
+
145
+ * `node['splunk']['inputs_conf']['host']`: A string that specifies the
146
+ default host name used in the inputs.conf file. The inputs.conf file
147
+ is not overwritten if this is not set or is an empty string.
148
+ * `node['splunk']['inputs_conf']['ports']`: An array of hashes that contain
149
+ the input port configuration necessary to generate the inputs.conf
150
+ file.
151
+
152
+ For example:
153
+ ```
154
+ node.default['splunk']['inputs_conf'][ports] = [
155
+ {
156
+ port_num => 123123,
157
+ config => {
158
+ 'sourcetype' => 'syslog'
159
+ }
160
+ }
161
+ ]
162
+ ```
163
+
164
+ The following attributes are related to upgrades in the `upgrade`
165
+ recipe. **Note** The version is set to 4.3.7 and should be modified to
166
+ suit in a role or wrapper, since we don't know what upgrade versions
167
+ may be relevant. Enabling the upgrade and blindly using the default
168
+ URLs may have undesirable consequences, hence this is not enabled, and
169
+ must be set explicitly elsewhere on the node(s).
170
+
171
+ * `node['splunk']['upgrade_enabled']`: Controls whether the upgrade is
172
+ enabled and the `attributes/upgrade.rb` file should be loaded. Set
173
+ this in a role or wrapper cookbook to perform an upgrade.
174
+ * `node['splunk']['upgrade']`: Sets `server_url` and `forwarder_url`
175
+ attributes based on platform and architecture. These are only loaded
176
+ if `upgrade_enabled` is set.
177
+
178
+ ## Definitions
179
+
180
+ ### splunk_installer
181
+
182
+ The Splunk Enterprise and Splunk Universal Forwarder package
183
+ installation is the same save the name of the package and the URL to
184
+ download. This definition abstracts the package installation to a
185
+ common baseline. Any new platform installation support should be added
186
+ by modifying the definition as appropriate. One goal of this
187
+ definition is to have a single occurance of a `package` resource,
188
+ using the appropriate "local package file" provider per platform. For
189
+ example, on RHEL, we use `rpm` and on Debian we use `dpkg`.
190
+
191
+ Package files will be downloaded to Chef's file cache path (e.g.,
192
+ `file_cache_path` in `/etc/chef/client.rb`, `/var/chef/cache` by
193
+ default).
194
+
195
+ The definition has two parameters.
196
+
197
+ * `name`: The name of the package (e.g., `splunk`).
198
+ * `url`: The URL to the package file.
199
+
200
+ #### Examples
201
+
202
+ For example, if the nodes in the environment are all Debian-family,
203
+ and the desired splunkforwarder package is provided locally as
204
+ `splunkforwarder.deb` on an internal HTTP server:
205
+
206
+ ```ruby
207
+ splunk_installer 'splunkforwarder' do
208
+ url 'https://www-int.example.com/splunk/splunkforwarder.deb'
209
+ end
210
+ ```
211
+
212
+ The `install_forwarder` and `install_server` recipes use the
213
+ definition with the appropriate `url` attribute.
214
+
215
+ ## Recipes
216
+
217
+ This cookbook has several composable recipes that can be used in a
218
+ role, or a local "wrapper" cookbook. The `default`, `client`, and
219
+ `server` recipes are intended to be used wholesale with all the
220
+ assumptions they contain.
221
+
222
+ The general default assumption is that a node including the `default`
223
+ recipe will be a Splunk Universal Forwarder (client).
224
+
225
+ ### client
226
+
227
+ This recipe encapsulates a completely configured "client" - a Splunk
228
+ Universal Forwarder configured to talk to a node that is the splunk
229
+ server (with node['splunk']['is_server'] true). The recipes can be
230
+ used on their own composed in a wrapper cookbook or role. This recipe
231
+ will include the `user`, `install_forwarder`, `service`, and
232
+ `setup_auth` recipes.
233
+
234
+ It will also search a Chef Server for a Splunk Enterprise (server)
235
+ node with `splunk_is_server:true` in the same `chef_environment` and
236
+ write out `etc/system/local/outputs.conf` with the server's IP and the
237
+ `receiver_port` attribute in the Splunk install directory
238
+ (`/opt/splunkforwarder`).
239
+
240
+ Setting node['splunk']['tcpout_server_config_map'] with key value pairs
241
+ updates the outputs.conf server configuration with those key value pairs.
242
+ These key value pairs can be used to setup SSL encryption on messages
243
+ forwarded through this client:
244
+
245
+ ```
246
+ # Note that the ssl CA and certs must exist on the server.
247
+ node['splunk']['tcpout_server_config_map'] = {
248
+ 'sslCommonNameToCheck' => 'sslCommonName',
249
+ 'sslCertPath' => '$SPLUNK_HOME/etc/certs/cert.pem',
250
+ 'sslPassword' => 'password'
251
+ 'sslRootCAPath' => '$SPLUNK_HOME/etc/certs/cacert.pem'
252
+ 'sslVerifyServerCert' => false
253
+ }
254
+ ```
255
+
256
+ The inputs.conf file can also be managed through this recipe if you want to
257
+ setup a splunk forwarder just set the default host:
258
+
259
+ ```
260
+ node['splunk']['inputs_conf']['host'] = 'myhost'
261
+ ```
262
+ Then set up the port configuration for each input port:
263
+
264
+ ```
265
+ node['splunk']['inputs_conf']['ports'] =
266
+ [
267
+ {
268
+ port_num => 123123,
269
+ config => {
270
+ 'sourcetype' => 'syslog',
271
+ ...
272
+ }
273
+ },
274
+ ...
275
+ ]
276
+ ```
277
+
278
+
279
+ ### default
280
+
281
+ The default recipe will include the `disabled` recipe if
282
+ `node['splunk']['disabled']` is true.
283
+
284
+ It will include the `client` or `server` recipe depending on whether
285
+ the `is_server` attribute is set.
286
+
287
+ The attribute use allows users to control the included recipes by
288
+ easily manipulating the attributes of a node, or a node's roles, or
289
+ through a wrapper cookbook.
290
+
291
+ ### disabled
292
+
293
+ In some cases it may be required to disable Splunk on a particular
294
+ node. For example, it may be sending too much data to Splunk and
295
+ exceed the local license capacity. To use the `disabled` recipe, set
296
+ the `node['splunk']['disabled']` attribute to true, and include the
297
+ recipe on the required node, or just use the `default` recipe.
298
+
299
+ ### install_forwarder
300
+
301
+ This recipe uses the `splunk_installer` definition to install the
302
+ splunkforwarder package from the specified URL (via the
303
+ `node['splunk']['forwarder']['url']` attribute).
304
+
305
+ ### install_server
306
+
307
+ This recipe uses the `splunk_installer` definition to install the
308
+ splunk (Enterprise server) package from the specified URL (via the
309
+ `node['splunk']['server']['url']` attribute).
310
+
311
+ ### server
312
+
313
+ This recipe encapsulates a completely configured "server" - Splunk
314
+ Enterprise configured to receive data from Splunk Universal Forwarder
315
+ clients. The recipe sets the attribute `node['splunk']['is_server']`
316
+ to true, and is included from the `default` recipe if the attribute is
317
+ true as well. The recipes can be used on their own composed in a
318
+ wrapper cookbook or role, too. This recipe will include the `user`,
319
+ `install_server`, `service`, and `setup_auth` recipes.
320
+
321
+ It will also enable Splunk Enterprise as an indexer, listening on the
322
+ `node['splunk']['receiver_port']`.
323
+
324
+ ## service
325
+
326
+ This recipe sets up the `splunk` service, and applies to both client
327
+ and server use, since `splunk` is the same service for both
328
+ deployments of Splunk.
329
+
330
+ The attribute `node['splunk']['accept_license']` must be true in order
331
+ to set up the boot script. If it's true, then the boot script gets put
332
+ into place (`/etc/init.d/splunk` on Linux/Unix systems), with the
333
+ license accepted. The service is managed using the Chef `init` service
334
+ provider, which operates by using the `/etc/init.d/splunk` script for
335
+ start, stop, restart, etc commands.
336
+
337
+ ## setup_auth
338
+
339
+ This recipe loads an encrypted data bag with the Splunk user
340
+ credentials as an `-auth` string, '`user:password`', using the
341
+ [chef-vault cookbook](http://ckbk.it/chef-vault) helper method,
342
+ `chef_vault_item`. See __Usage__ for how to set this up. The recipe
343
+ will edit the specified user (assuming `admin`), and then write a
344
+ state file to `etc/.setup_admin_password` to indicate in future Chef
345
+ runs that it has set the password. If the password should be changed,
346
+ then that file should be removed.
347
+
348
+ ## upgrade
349
+
350
+ **Important** Read the upgrade documentation and release notes for any
351
+ particular Splunk version upgrades before performing an upgrade.
352
+ Also back up the Splunk directory, configuration, etc.
353
+
354
+ This recipe can be used to upgrade a splunk installation, for example
355
+ from an existing 4.2.1 to 4.3.7. The default recipe can be used for
356
+ 6.0.1 after upgrading earlier versions is completed. Note that the
357
+ attributes file is only loaded w/ the URLs to the splunk packages to
358
+ upgrade if the `node['splunk']['upgrade_enabled']` attribute is set to
359
+ true. We recommend setting the actual URL attributes needed in a
360
+ wrapper cookbook or role.
361
+
362
+ ## user
363
+
364
+ This recipe manages the `splunk` user and group. On Linux systems, the
365
+ user and group will be created with the `system` attribute; other
366
+ platforms may not be aware of `system` users/groups (e.g.,
367
+ illumos/solaris). Both resources will be created with the UID or GID
368
+ of the `node['splunk']['user']['uid']` attribute. The default value is
369
+ 396, arbitrarily chosen to fall under the `system` UID/GID set by
370
+ `/etc/login.defs` on both RHEL and Debian family Linux systems. If
371
+ this is a conflicting UID/GID, then modify the attribute as required.
372
+
373
+ ## Usage
374
+
375
+ ### Data Bag Items
376
+
377
+ #### Admin User Authentication
378
+
379
+ Splunk admin user authentication information should be stored in a
380
+ data bag item that is encrypted using Chef Vault. Create a data bag
381
+ named `vault`, with an item `splunk_CHEF-ENVIRONMENT`, where
382
+ `CHEF-ENVIRONMENT` is the `node.chef_environment` that the Splunk
383
+ Enterprise server will be assigned. If environments are not used, use
384
+ `_default`. For example in a Chef Repository (not in a cookbook):
385
+
386
+ % cat data_bags/vault/splunk__default.json
387
+ {
388
+ "id": "splunk__default",
389
+ "auth": "admin:notarealpassword"
390
+ }
391
+
392
+ Or with an environment, '`production`':
393
+
394
+ % cat data_bags/vault/splunk_production.json
395
+ {
396
+ "id": "splunk_production",
397
+ "auth": "admin:notarealpassword"
398
+ }
399
+
400
+ Then, upload the data bag item to the Chef Server using the
401
+ `chef-vault` `knife encrypt` plugin (first example, `_default`
402
+ environment):
403
+
404
+ knife encrypt create vault splunk__default \
405
+ --json data_bags/vault/splunk__default.json \
406
+ --search 'splunk:*' --admins 'yourusername' \
407
+ --mode client
408
+
409
+ More information about Chef Vault is available on the
410
+ [GitHub Project Page](https://github.com/Nordstrom/chef-vault).
411
+
412
+ #### Web UI SSL
413
+
414
+ A Splunk server should have the Web UI available via HTTPS. This can
415
+ be set up using self-signed SSL certificates, or "real" SSL
416
+ certificates. This loaded via a data bag item with chef-vault. Using
417
+ the defaults from the attributes:
418
+
419
+ % cat data_bags/vault/splunk_certificates.json
420
+ {
421
+ "id": "splunk_certificates",
422
+ "data": {
423
+ "self-signed.example.com.crt": "-----BEGIN CERTIFICATE-----\n...SNIP",
424
+ "self-signed.example.com.key": "-----BEGIN RSA PRIVATE KEY-----\n...SNIP"
425
+ }
426
+ }
427
+
428
+ Like the authentication credentials above, run the `knife encrypt`
429
+ command. Note the search here is for the splunk server only:
430
+
431
+ knife encrypt create vault splunk_certificates \
432
+ --json data_bags/vault/splunk_certificates.json \
433
+ --search 'splunk_is_server:true' --admins 'yourusername' \
434
+ --mode client
435
+
436
+ ## License and Authors
437
+
438
+ - Author: Joshua Timberman <joshua@getchef.com>
439
+ - Copyright 2013, Chef Software, Inc <legal@getchef.com>
440
+
441
+ Licensed under the Apache License, Version 2.0 (the "License");
442
+ you may not use this file except in compliance with the License.
443
+ You may obtain a copy of the License at
444
+
445
+ http://www.apache.org/licenses/LICENSE-2.0
446
+
447
+ Unless required by applicable law or agreed to in writing, software
448
+ distributed under the License is distributed on an "AS IS" BASIS,
449
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
450
+ See the License for the specific language governing permissions and
451
+ limitations under the License.