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,275 @@
1
+ #
2
+ # Cookbook Name:: mu-activedirectory
3
+ # Provider:: domain_node
4
+ #
5
+ # Copyright 2015, eGlobalTech,
6
+ #
7
+ # All rights reserved - Do Not Redistribute
8
+ #
9
+
10
+ require 'chef/mixin/shell_out'
11
+ include Chef::Mixin::ShellOut
12
+ include Chef::Mixin::PowershellOut
13
+
14
+ def whyrun_supported?
15
+ true
16
+ end
17
+
18
+ action :add do
19
+ case node['platform']
20
+ when "windows"
21
+ set_client_dns
22
+ elevate_remote_access
23
+ join_domain_windows
24
+ # set_computer_name(join_domain_creds)
25
+ when platform_family?('rhel')
26
+ install_ad_client_packages
27
+ join_domain_linux
28
+ else
29
+ Chef::Log.info("Unsupported platform #{node['platform']}")
30
+ end
31
+ end
32
+
33
+ action :remove do
34
+ case node['platform']
35
+ when "windows"
36
+ unjoin_domain_windows
37
+ when platform_family?('rhel')
38
+ unjoin_domain_linux
39
+ else
40
+ Chef::Log.info("Unsupported platform #{node['platform']}")
41
+ end
42
+ end
43
+
44
+ # def load_current_resource
45
+ # @current_resource = @new_resource.dup
46
+ # end
47
+
48
+ def join_domain_creds
49
+ "(New-Object System.Management.Automation.PSCredential('#{new_resource.netbios_name}\\#{new_resource.join_user}', (ConvertTo-SecureString '#{new_resource.join_password}' -AsPlainText -Force)))"
50
+ end
51
+
52
+ def join_domain_windows
53
+ unless in_domain?
54
+ # This will allow us to add a new computer account to the correct OU so the right group policy is applied
55
+ new_name = nil
56
+ new_name = "-NewName #{new_resource.computer_name}" if node['hostname'].downcase != new_resource.computer_name.downcase
57
+
58
+ if new_resource.computer_ou
59
+ code = "Add-Computer -DomainName #{new_resource.dns_name} -Credential#{join_domain_creds} #{new_name} -OUPath '#{new_resource.computer_ou}' -PassThru -Verbose -Force"
60
+ else
61
+ code = "Add-Computer -DomainName #{new_resource.dns_name} -Credential#{join_domain_creds} #{new_name} -PassThru -Verbose -Force"
62
+ end
63
+
64
+ Chef::Log.info("Joining #{new_resource.computer_name} node to #{new_resource.dns_name} domain")
65
+ cmd = powershell_out(code)
66
+
67
+ if cmd.stdout.include?("HasSucceeded") && cmd.stdout.include?("True")
68
+ Chef::Log.info("Domain Join was successful")
69
+ execute "kill ssh for reboot" do
70
+ command "Taskkill /im sshd.exe /f /t"
71
+ returns [0, 128]
72
+ action :nothing
73
+ end
74
+ reboot "Successfully joined #{new_resource.computer_name} to #{new_resource.dns_name} domain" do
75
+ action :reboot_now
76
+ reason "Successfully joined #{new_resource.computer_name} to #{new_resource.dns_name} domain"
77
+ notifies :run, "execute[kill ssh for reboot]", :immediately
78
+ end
79
+ kill_ssh
80
+ elsif cmd.stdout.include?("HasSucceeded") && cmd.stdout.include?("False")
81
+ Chef::Log.fatal("Domain Join was NOT successful")
82
+ Chef::Log.fatal("Domain join stderr #{cmd.stderr}")
83
+ Chef::Application.fatal!("Failed to join #{new_resource.computer_name} to #{new_resource.dns_name} domain")
84
+ else
85
+ Chef::Log.fatal("Something went wrong during domain join. Command to join domain was: #{code}")
86
+ Chef::Log.fatal("Domain join stderr #{cmd.stderr}")
87
+ Chef::Application.fatal!("Failed to join #{new_resource.computer_name} to #{new_resource.dns_name} domain")
88
+ end
89
+ end
90
+ end
91
+
92
+ def set_client_dns
93
+ cmd = powershell_out("Get-NetAdapter | Set-DnsClientServerAddress -ServerAddresses #{new_resource.dc_ips.join(", ")}")
94
+ Chef::Log.info("Set DNS addresses to #{new_resource.dc_ips.join(", ")}")
95
+ end
96
+
97
+ def unjoin_domain_windows
98
+ if in_domain?
99
+ Chef::Log.info("Removing #{new_resource.computer_name} node from #{new_resource.dns_name} domain")
100
+ cmd = powershell_out("Remove-Computer -UnjoinDomaincredential #{join_domain_creds} -Passthru -Verbose -Restart -Force")
101
+ Chef::Application.fatal!("Failed to remove #{new_resource.computer_name} from #{new_resource.dns_name} domain") unless cmd.exitstatus == 0
102
+ reboot "Removed #{new_resource.computer_name} from #{new_resource.dns_name} domain" do
103
+ action :reboot_now
104
+ reason "Removed #{new_resource.computer_name} from #{new_resource.dns_name} domain"
105
+ end
106
+ kill_ssh
107
+ end
108
+ end
109
+
110
+ def join_domain_linux
111
+
112
+ set_selinux_policies
113
+ config_ssh_ntp_dns
114
+ create_pam_winbind_directories
115
+ pam_winbind_lib
116
+ configure_winbind_kerberos_authentication
117
+
118
+ directory "#{node['ad']['samba_conf_dir']}/includes" do
119
+ mode 0755
120
+ end
121
+
122
+ template "#{node['ad']['samba_conf_dir']}/smb.conf" do
123
+ source "smb.conf.erb"
124
+ owner "root"
125
+ group "root"
126
+ mode 0644
127
+ notifies :restart, "service[smb]", :delayed
128
+ notifies :restart, "service[winbind]", :delayed
129
+ variables(
130
+ :domain_name => new_resource.dns_name,
131
+ :dcs => new_resource.dc_names,
132
+ :computer_name => new_resource.computer_name,
133
+ :netbios_name => new_resource.netbios_name,
134
+ :include_file => "#{node['ad']['samba_conf_dir']}/includes/#{node['ad']['samba_include_file']}"
135
+ )
136
+ end
137
+
138
+ # We no longer user Winbind to integrate with AD, but Samba relies on it, so
139
+ # we run it on top of adcli's Kerberos creds so that you can still use SMB.
140
+ execute "Join Winbind to domain #{new_resource.dns_name}" do
141
+ command "( echo '#{new_resource.join_password}' | kinit #{new_resource.join_user} ) ; net ads join #{new_resource.dns_name.downcase} -k -d 4"
142
+ sensitive true
143
+ not_if "net ads testjoin -k | grep OK"
144
+ notifies :restart, "service[winbind]", :delayed
145
+ end
146
+ end
147
+
148
+ def install_ad_client_packages
149
+
150
+ %w{samba4-winbind authconfig krb5-workstation pam_krb5 samba4-common oddjob-mkhomedir samba4-winbind-clients samba4-winbind-krb5-locator krb5-devel}.each { |pkg|
151
+ package pkg
152
+ }
153
+
154
+ if %w{centos redhat}.include?(node['platform']) && node['platform_version'].to_i == 7
155
+ # execute "systemctl enable smb.service "
156
+ package "samba"
157
+ service "smb" do
158
+ action :enable
159
+ end
160
+ end
161
+ end
162
+
163
+ def set_selinux_policies
164
+ # Disable SELinux. Need to test if existing policies below work without having to disabling SELinux.
165
+ execute "setenforce 0"
166
+ # Add Policies to SELinux to allow winbind and ssh to work correctly. TO DO - TEST THIS
167
+ %w{winbindpol sshd_pol}.each { |policy_file|
168
+ %w{te pp}.each { |ext|
169
+ cookbook_file "#{Chef::Config[:file_cache_path]}/#{policy_file}.#{ext}" do
170
+ source "#{policy_file}.#{ext}"
171
+ end
172
+ }
173
+
174
+ execute "semodule -i #{policy_file}.pp" do
175
+ cwd Chef::Config[:file_cache_path]
176
+ not_if "semodule -l | grep #{policy_file}"
177
+ notifies :restart, "service[winbind]", :immediately
178
+ notifies :restart, "service[sshd]", :immediately
179
+ end
180
+ }
181
+
182
+ execute "setsebool -P ssh_chroot_rw_homedirs 1" do
183
+ not_if "grep ssh_chroot_rw_homedirs=1 /etc/selinux/targeted/modules/active/booleans.local"
184
+ end
185
+ end
186
+
187
+ def config_ssh_ntp_dns
188
+ template "mu-activedirectory /etc/ntp.conf" do
189
+ path "/etc/ntp.conf"
190
+ source "ntp.conf.erb"
191
+ owner "root"
192
+ group "root"
193
+ mode 0644
194
+ variables(
195
+ :dcs => new_resource.dc_names
196
+ )
197
+ end
198
+
199
+
200
+ template "mu-activedirectory /etc/ssh/sshd_config" do
201
+ path "/etc/ssh/sshd_config"
202
+ source "sshd_config.erb"
203
+ owner "root"
204
+ group "root"
205
+ cookbook "mu-tools"
206
+ mode 0600
207
+ notifies :restart, "service[sshd]", :immediately
208
+ # variables(
209
+ # :allow_password_auth => new_resource.allow_password_auth,
210
+ # :allow_groups => new_resource.allow_groups,
211
+ # :sftp_only_group => new_resource.sftp_only_group,
212
+ # :sftp_chroot => new_resource.sftp_chroot
213
+ # )
214
+ end
215
+
216
+ end
217
+
218
+ def create_pam_winbind_directories
219
+ directory "/home/#{new_resource.dns_name}" do
220
+ owner "root"
221
+ group "root"
222
+ mode 0755
223
+ not_if { ::File.exists?("/home/#{new_resource.dns_name}") or ::File.symlink?("/home/#{new_resource.dns_name}")}
224
+ end
225
+
226
+ %w[/run /run/samba /run/samba/winbindd].each { |path|
227
+ directory path do
228
+ owner "root"
229
+ group "root"
230
+ mode 0755
231
+ end
232
+ }
233
+
234
+ directory "/etc/skel" do
235
+ owner "root"
236
+ group "root"
237
+ mode 0700
238
+ end
239
+
240
+ %w{.bashrc .bash_profile .bash_logout}.each { |file|
241
+ file "/etc/skel/#{file}" do
242
+ owner "root"
243
+ group "root"
244
+ mode 0600
245
+ end
246
+ }
247
+ end
248
+
249
+ def pam_winbind_lib
250
+ link "/lib64/security/pam_winbind.so" do
251
+ to "/usr/lib64/security/pam_winbind.so"
252
+ end
253
+
254
+ execute "echo 'session optional pam_umask.so umask=0077' >> /etc/pam.d/sshd" do
255
+ not_if "grep pam_umask.so /etc/pam.d/sshd"
256
+ end
257
+ end
258
+
259
+ def configure_winbind_kerberos_authentication
260
+ # Because authconfig doesn't always update those
261
+ # %w{password-auth system-auth}.each { |file|
262
+ # cookbook_file "/etc/pam.d/#{file}" do
263
+ # source file
264
+ # manage_symlink_source true
265
+ # end
266
+ # }
267
+ end
268
+
269
+ def unjoin_domain_linux
270
+ execute "Unjoin domain #{new_resource.dns_name}" do
271
+ command "net ads leave -U #{new_resource.join_user}%#{new_resource.join_password}"
272
+ sensitive true
273
+ only_if "net ads testjoin | grep OK"
274
+ end
275
+ end
@@ -0,0 +1,8 @@
1
+ #
2
+ # Cookbook Name:: mu-activedirectory
3
+ # Recipe:: default
4
+ #
5
+ # Copyright 2015, eGlobalTech,
6
+ #
7
+ # All rights reserved - Do Not Redistribute
8
+ #
@@ -0,0 +1,44 @@
1
+ #
2
+ # Cookbook Name:: mu-activedirectory
3
+ # Recipe:: domain-controller
4
+ #
5
+ # Copyright 2015, eGlobalTech,
6
+ #
7
+ # All rights reserved - Do Not Redistribute
8
+ #
9
+
10
+ include_recipe 'chef-vault'
11
+ domain_admin = chef_vault_item(node['ad']['admin_auth']['vault'], node['ad']['admin_auth']['item'])
12
+
13
+ can_add_controller = false
14
+
15
+ case node['platform']
16
+ when "windows"
17
+ ::Chef::Recipe.send(:include, Chef::Mixin::PowershellOut)
18
+
19
+ require 'chef/win32/version'
20
+ version = Chef::ReservedNames::Win32::Version.new
21
+
22
+ if version.windows_server_2012? || version.windows_server_2012_r2?
23
+ can_add_controller = true
24
+ else
25
+ Chef::Log.info "Requires Windows Server 2012 or 2012R2, current version is #{version})"
26
+ end
27
+ when platform_family?('rhel')
28
+ # To do: Active Directory on Linux
29
+ else
30
+ Chef::Log.info("Unsupported platform #{node['platform']}")
31
+ end
32
+
33
+ if can_add_controller
34
+ mu_activedirectory_domain_controller node['ad']['domain_name'] do
35
+ netbios_name node['ad']['netbios_name']
36
+ domain_admin_user domain_admin[node['ad']['admin_auth']['username_field']]
37
+ domain_admin_password domain_admin[node['ad']['admin_auth']['password_field']]
38
+ restore_mode_password domain_admin[node['ad']['admin_auth']['password_field']]
39
+ site_name node['ad']['site_name']
40
+ computer_name node['ad']['computer_name']
41
+ sites node['ad']['sites']
42
+ existing_dc_ips node['ad']['dc_ips']
43
+ end
44
+ end
@@ -0,0 +1,50 @@
1
+ #
2
+ # Cookbook Name:: mu-activedirectory
3
+ # Recipe:: domain-node
4
+ #
5
+ # Copyright 2015, eGlobalTech,
6
+ #
7
+ # All rights reserved - Do Not Redistribute
8
+ #
9
+
10
+ include_recipe 'chef-vault'
11
+ domain_creds = nil
12
+ if node.has_key?('ad') and node['ad'].has_key?('join_auth') and node['ad']['join_auth'].has_key?('vault') and node['ad']['join_auth'].has_key?('item') and !node['ad']['join_auth']['vault'].nil? and !node['ad']['join_auth']['item'].nil?
13
+ domain_creds = chef_vault_item(node['ad']['join_auth']['vault'], node['ad']['join_auth']['item'])
14
+ end
15
+ can_join_domain = false
16
+
17
+ case node['platform']
18
+ when "windows"
19
+ ::Chef::Recipe.send(:include, Chef::Mixin::PowershellOut)
20
+
21
+ require 'chef/win32/version'
22
+ version = Chef::ReservedNames::Win32::Version.new
23
+
24
+ if version.windows_server_2012? || version.windows_server_2012_r2? || version.windows_server_2016?
25
+ can_join_domain = true
26
+ else
27
+ Chef::Log.info "Requires Windows Server 2012, 2012R2 or windows_server_2016"
28
+ end
29
+ when platform_family?('rhel')
30
+ if node['platform_version'].to_i >= 6
31
+ can_join_domain = true # just winbind, really
32
+ include_recipe "mu-activedirectory::sssd"
33
+ else
34
+ Chef::Log.info "Requires CentOS/RedHat 6/7. Current version is #{node['platform']} #{node['platform_version'].to_i}"
35
+ end
36
+ else
37
+ Chef::Log.info("Unsupported platform #{node['platform']}")
38
+ end
39
+
40
+ if can_join_domain and !domain_creds.nil?
41
+ mu_activedirectory_domain_node node['ad']['domain_name'] do
42
+ netbios_name node['ad']['netbios_name']
43
+ computer_name node['ad']['computer_name']
44
+ join_user domain_creds[node['ad']['join_auth']['username_field']]
45
+ join_password domain_creds[node['ad']['join_auth']['password_field']]
46
+ computer_ou node['ad']['computer_ou'] if node['ad']['computer_ou']
47
+ dc_ips node['ad']['dc_ips']
48
+ dc_names node['ad']['dcs']
49
+ end
50
+ end
@@ -0,0 +1,43 @@
1
+ #
2
+ # Cookbook Name:: mu-activedirectory
3
+ # Recipe:: domain
4
+ #
5
+ # Copyright 2015, eGlobalTech,
6
+ #
7
+ # All rights reserved - Do Not Redistribute
8
+ #
9
+
10
+ include_recipe 'chef-vault'
11
+ domain_admin = chef_vault_item(node['ad']['admin_auth']['vault'], node['ad']['admin_auth']['item'])
12
+ can_create_domain = false
13
+
14
+ case node['platform']
15
+ when "windows"
16
+ ::Chef::Recipe.send(:include, Chef::Mixin::PowershellOut)
17
+
18
+ require 'chef/win32/version'
19
+ version = Chef::ReservedNames::Win32::Version.new
20
+
21
+ if version.windows_server_2012? || version.windows_server_2012_r2?
22
+ can_create_domain = true
23
+ else
24
+ Chef::Log.info "Requires Windows Server 2012 or 2012R2, current version is #{version})"
25
+ end
26
+ when platform_family?('rhel')
27
+ # To do: Active Directory on Linux
28
+ else
29
+ Chef::Log.info("Unsupported platform #{node['platform']}")
30
+ end
31
+
32
+ if can_create_domain
33
+ mu_activedirectory_domain node['ad']['domain_name'] do
34
+ netbios_name node['ad']['netbios_name']
35
+ domain_admin_user domain_admin[node['ad']['admin_auth']['username_field']]
36
+ domain_admin_password domain_admin[node['ad']['admin_auth']['password_field']]
37
+ restore_mode_password domain_admin[node['ad']['admin_auth']['password_field']]
38
+ site_name node['ad']['site_name']
39
+ computer_name node['ad']['computer_name']
40
+ sites node['ad']['sites']
41
+ existing_dc_ips node['ad']['dc_ips']
42
+ end
43
+ end
@@ -0,0 +1,185 @@
1
+ #
2
+ # Cookbook Name:: mu-activedirectory
3
+ # Recipe:: sssd
4
+ #
5
+ # Copyright:: Copyright (c) 2016 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
+ case node['platform_family']
20
+ when "rhel"
21
+
22
+ %w{sshd winbind smb messagebus}.each { |svc|
23
+ begin
24
+ resources('service['+svc+']')
25
+ rescue Chef::Exceptions::ResourceNotFound
26
+ service svc do
27
+ action [:enable, :start]
28
+ only_if { ::File.exists?("/etc/init.d/#{svc}") }
29
+ end
30
+ end
31
+ }
32
+
33
+ begin
34
+ resources('service[network]')
35
+ rescue Chef::Exceptions::ResourceNotFound
36
+ service "network" do
37
+ only_if { ::File.exists?("/etc/init.d/network") }
38
+ end
39
+ end
40
+
41
+ packages = %w(epel-release dbus sssd sssd-ldap sssd-ad authconfig nscd oddjob-mkhomedir krb5-devel)
42
+
43
+ package packages
44
+
45
+ packages_uninstall = %w(nss-pam-ldapd pam_ldap)
46
+
47
+ package packages_uninstall do
48
+ action :remove
49
+ end
50
+
51
+
52
+ case elversion
53
+ when 7
54
+ package "adcli"
55
+ # trying to make sure Chef doesn’t try to start the service if it's already started
56
+ execute "sed -i 's/--nopidfile//' /usr/lib/systemd/system/messagebus.service && systemctl daemon-reload" do
57
+ only_if "grep '\--nopidfile' /usr/lib/systemd/system/messagebus.service"
58
+ end
59
+ end
60
+
61
+ service "nscd" do
62
+ action [:disable, :stop]
63
+ end
64
+
65
+ execute "restorecon -r /usr/sbin"
66
+
67
+ # SELinux Policy for oddjobd and its interaction with syslogd
68
+ cookbook_file "syslogd_oddjobd.pp" do
69
+ path "#{Chef::Config[:file_cache_path]}/syslogd_oddjobd.pp"
70
+ end
71
+
72
+ execute "Add oddjobd and syslogd interaction to SELinux allow list" do
73
+ command "/usr/sbin/semodule -i syslogd_oddjobd.pp"
74
+ cwd Chef::Config[:file_cache_path]
75
+ not_if "/usr/sbin/semodule -l | grep syslogd_oddjobd"
76
+ notifies :restart, "service[oddjobd]", :delayed
77
+ end
78
+
79
+ case elversion
80
+ when 6
81
+ service "oddjobd" do
82
+ start_command "sh -x /etc/init.d/oddjobd start" # seems to actually work
83
+ action [:enable, :start]
84
+ end
85
+ package %w(git automake libtool openldap-devel libxslt-devel)
86
+
87
+ git 'Clone ADCLI' do
88
+ repository 'git clone git://anongit.freedesktop.org/realmd/adcli'
89
+ revision 'master'
90
+ destination '/root'
91
+ action :sync
92
+ end
93
+
94
+ # execute "git clone git://anongit.freedesktop.org/realmd/adcli" do
95
+ # cwd "/root"
96
+ # not_if { ::Dir.exists?("/root/adcli") }
97
+ # end
98
+
99
+ # execute "git fetch && git pull" do
100
+ # cwd "/root/adcli"
101
+ # end
102
+
103
+ build_essential 'name' do
104
+ compile_time True
105
+ end
106
+
107
+ # This is our workaround until the RPM makes it way back into a repo
108
+ # somewhere. It was removed from EPEL after it became part of mainstream
109
+ # RHEL 6.8, but CentOS doesn't have it yet.
110
+ execute "compile adcli" do
111
+ cwd "/root/adcli"
112
+ command "./autogen.sh --disable-doc --prefix=/usr && make && make install"
113
+ not_if { ::File.exists?("/usr/sbin/adcli") }
114
+ end
115
+ when 7
116
+ # Seems to work on CentOS7
117
+ service "oddjobd" do
118
+ action [:enable, :start]
119
+ end
120
+ end
121
+
122
+ execute "/usr/sbin/authconfig --disablenis --disablecache --disablewinbind --disablewinbindauth --enablemkhomedir --disablekrb5 --enablesssd --enablesssdauth --enablelocauthorize --disableforcelegacy --disableldap --disableldapauth --updateall" do
123
+ notifies :restart, "service[oddjobd]", :immediately
124
+ notifies :reload, "service[sshd]", :delayed
125
+ not_if "grep pam_sss.so /etc/pam.d/password-auth"
126
+ end
127
+
128
+ include_recipe 'chef-vault'
129
+ domain_creds = chef_vault_item(node['ad']['join_auth']['vault'], node['ad']['join_auth']['item'])
130
+
131
+ service "sssd" do
132
+ action :nothing
133
+ notifies :restart, "service[sshd]", :immediately
134
+ only_if { ::File.exists?("/etc/krb5.keytab") }
135
+ end
136
+ directory "/etc/sssd"
137
+ template "/etc/sssd/sssd.conf" do
138
+ source "sssd.conf.erb"
139
+ mode 0600
140
+ cookbook "mu-activedirectory"
141
+ notifies :restart, "service[sssd]", :immediately
142
+ variables(
143
+ :domain => node['ad']['domain_name'],
144
+ 'homedir' => node['ad']['homedir'],
145
+ :krb5keytabuser => node['ad']['computer_name'],
146
+ :short_domain => node['ad']['netbios_name'],
147
+ :base_dn => node['ad']['domain_name'].split(/\./).map { |x| "dc=#{x}" }.join(","),
148
+ :dcs => node['ad']['dc_ips']
149
+ )
150
+ end
151
+
152
+ template "/etc/dhcp/dhclient-eth0.conf" do
153
+ source "dhclient-eth0.conf.erb"
154
+ mode 0644
155
+ variables(
156
+ :domain => node['ad']['domain_name'],
157
+ 'dc_ips' => node['ad']['dc_ips']
158
+ )
159
+ notifies :restart, "service[network]", :immediately unless %w{redhat centos}.include?(node['platform']) && node['platform_version'].to_i == 7
160
+ end
161
+
162
+ # If adcli fails mysteriously, look for bogus /etc/hosts entries pointing
163
+ # to your DCs. It seems to dumbly trust any reverse mapping it sees,
164
+ # whether or not the name matches the actual Kerberos tickets you et.
165
+ execute "Run ADCLI" do
166
+ not_if { ::File.exists?("/etc/krb5.keytab") }
167
+ command "echo -n '#{domain_creds[node['ad']['join_auth']['password_field']]}' | /usr/sbin/adcli join #{node['ad']['domain_name']} --domain-realm=#{node['ad']['domain_name'].upcase} -U #{domain_creds[node['ad']['join_auth']['username_field']]} --stdin-password"
168
+ notifies :restart, "service[sssd]", :immediately
169
+ # sensitive true
170
+ end
171
+
172
+ template "/etc/krb5.conf" do
173
+ source "krb5.conf.erb"
174
+ mode 0444
175
+ cookbook "mu-activedirectory"
176
+ notifies :restart, "service[sssd]", :immediately
177
+ variables(
178
+ 'domain_name' => node['ad']['domain_name'],
179
+ :dcs => node['ad']['dc_ips']
180
+ )
181
+ end
182
+
183
+ else
184
+ Chef::Log.info("Unsupported platform #{node['platform']}")
185
+ end
@@ -0,0 +1,25 @@
1
+ #
2
+ # Cookbook Name:: mu-activedirectory
3
+ # Resource:: domain
4
+ #
5
+ # Copyright 2015, eGlobalTech,
6
+ #
7
+ # All rights reserved - Do Not Redistribute
8
+ #
9
+
10
+ actions :create, :delete
11
+ default_action :create
12
+
13
+ attribute :dns_name, :kind_of => String, :name_attribute => true, :required => true
14
+ attribute :sites, :kind_of => Array, :required => false
15
+ attribute :existing_dc_ips, :kind_of => Array, :required => false
16
+ attribute :netbios_name, :kind_of => String, :required => true
17
+ attribute :domain_admin_user, :kind_of => String, :required => true
18
+ attribute :domain_admin_password, :kind_of => String, :required => true
19
+ attribute :restore_mode_password, :kind_of => String, :required => true
20
+ attribute :site_name, :kind_of => String, :default => node['ad']['site_name'], :required => false
21
+ attribute :computer_name, :kind_of => String, :default => node['ad']['computer_name']
22
+ attribute :ntds_static_port, :kind_of => Fixnum, :default => node['ad']['ntds_static_port']
23
+ attribute :ntfrs_static_port, :kind_of => Fixnum, :default => node['ad']['ntfrs_static_port']
24
+ attribute :dfsr_static_port, :kind_of => Fixnum, :default => node['ad']['dfsr_static_port']
25
+ attribute :netlogon_static_port, :kind_of => Fixnum, :default => node['ad']['netlogon_static_port']
@@ -0,0 +1,25 @@
1
+ #
2
+ # Cookbook Name:: mu-activedirectory
3
+ # Resource:: domain_controller
4
+ #
5
+ # Copyright 2015, eGlobalTech,
6
+ #
7
+ # All rights reserved - Do Not Redistribute
8
+ #
9
+
10
+ actions :add, :remove
11
+ default_action :add
12
+
13
+ attribute :dns_name, :kind_of => String, :name_attribute => true, :required => true
14
+ attribute :sites, :kind_of => Array, :required => false
15
+ attribute :existing_dc_ips, :kind_of => Array, :required => false
16
+ attribute :netbios_name, :kind_of => String, :required => true
17
+ attribute :domain_admin_user, :kind_of => String, :required => true
18
+ attribute :domain_admin_password, :kind_of => String, :required => true
19
+ attribute :restore_mode_password, :kind_of => String, :required => true
20
+ attribute :site_name, :kind_of => String, :default => node['ad']['site_name'], :required => false
21
+ attribute :computer_name, :kind_of => String, :default => node['ad']['computer_name']
22
+ attribute :ntds_static_port, :kind_of => Fixnum, :default => node['ad']['ntds_static_port']
23
+ attribute :ntfrs_static_port, :kind_of => Fixnum, :default => node['ad']['ntfrs_static_port']
24
+ attribute :dfsr_static_port, :kind_of => Fixnum, :default => node['ad']['dfsr_static_port']
25
+ attribute :netlogon_static_port, :kind_of => Fixnum, :default => node['ad']['netlogon_static_port']
@@ -0,0 +1,20 @@
1
+ #
2
+ # Cookbook Name:: mu-activedirectory
3
+ # Resource:: domain_node
4
+ #
5
+ # Copyright 2015, eGlobalTech,
6
+ #
7
+ # All rights reserved - Do Not Redistribute
8
+ #
9
+
10
+ actions :add, :remove
11
+ default_action :add
12
+
13
+ attribute :dns_name, :kind_of => String, :name_attribute => true, :required => true
14
+ attribute :dc_ips, :kind_of => Array, :required => true
15
+ attribute :dc_names, :kind_of => Array, :required => true
16
+ attribute :computer_name, :kind_of => String, :required => true
17
+ attribute :netbios_name, :kind_of => String, :required => true
18
+ attribute :join_user, :kind_of => String, :required => true
19
+ attribute :join_password, :kind_of => String, :required => true
20
+ attribute :computer_ou, :kind_of => String, :required => false
@@ -0,0 +1,4 @@
1
+ interface "eth0" {
2
+ prepend domain-search "<%= @domain %>";
3
+ prepend domain-name-servers <%= @dc_ips.join(", ") %>;
4
+ }