cloud-mu 2.1.0beta → 3.0.0beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. checksums.yaml +5 -5
  2. data/Berksfile +4 -5
  3. data/Berksfile.lock +179 -0
  4. data/README.md +1 -6
  5. data/ansible/roles/geerlingguy.firewall/templates/firewall.bash.j2 +0 -0
  6. data/ansible/roles/mu-installer/README.md +33 -0
  7. data/ansible/roles/mu-installer/defaults/main.yml +2 -0
  8. data/ansible/roles/mu-installer/handlers/main.yml +2 -0
  9. data/ansible/roles/mu-installer/meta/main.yml +60 -0
  10. data/ansible/roles/mu-installer/tasks/main.yml +13 -0
  11. data/ansible/roles/mu-installer/tests/inventory +2 -0
  12. data/ansible/roles/mu-installer/tests/test.yml +5 -0
  13. data/ansible/roles/mu-installer/vars/main.yml +2 -0
  14. data/bin/mu-adopt +125 -0
  15. data/bin/mu-aws-setup +4 -4
  16. data/bin/mu-azure-setup +265 -0
  17. data/bin/mu-azure-tests +43 -0
  18. data/bin/mu-cleanup +20 -8
  19. data/bin/mu-configure +224 -98
  20. data/bin/mu-deploy +8 -3
  21. data/bin/mu-gcp-setup +16 -8
  22. data/bin/mu-gen-docs +92 -8
  23. data/bin/mu-load-config.rb +52 -12
  24. data/bin/mu-momma-cat +36 -0
  25. data/bin/mu-node-manage +34 -27
  26. data/bin/mu-self-update +2 -2
  27. data/bin/mu-ssh +12 -8
  28. data/bin/mu-upload-chef-artifacts +11 -4
  29. data/bin/mu-user-manage +3 -0
  30. data/cloud-mu.gemspec +8 -11
  31. data/cookbooks/firewall/libraries/helpers_iptables.rb +2 -2
  32. data/cookbooks/firewall/metadata.json +1 -1
  33. data/cookbooks/firewall/recipes/default.rb +5 -9
  34. data/cookbooks/mu-firewall/attributes/default.rb +2 -0
  35. data/cookbooks/mu-firewall/metadata.rb +1 -1
  36. data/cookbooks/mu-glusterfs/templates/default/mu-gluster-client.erb +0 -0
  37. data/cookbooks/mu-master/Berksfile +2 -2
  38. data/cookbooks/mu-master/files/default/check_mem.pl +0 -0
  39. data/cookbooks/mu-master/files/default/cloudamatic.png +0 -0
  40. data/cookbooks/mu-master/metadata.rb +5 -4
  41. data/cookbooks/mu-master/recipes/389ds.rb +1 -1
  42. data/cookbooks/mu-master/recipes/basepackages.rb +30 -10
  43. data/cookbooks/mu-master/recipes/default.rb +59 -7
  44. data/cookbooks/mu-master/recipes/firewall-holes.rb +1 -1
  45. data/cookbooks/mu-master/recipes/init.rb +65 -47
  46. data/cookbooks/mu-master/recipes/{eks-kubectl.rb → kubectl.rb} +4 -10
  47. data/cookbooks/mu-master/recipes/sssd.rb +2 -1
  48. data/cookbooks/mu-master/recipes/update_nagios_only.rb +6 -6
  49. data/cookbooks/mu-master/templates/default/web_app.conf.erb +2 -2
  50. data/cookbooks/mu-master/templates/mods/ldap.conf.erb +4 -0
  51. data/cookbooks/mu-php54/Berksfile +1 -2
  52. data/cookbooks/mu-php54/metadata.rb +4 -5
  53. data/cookbooks/mu-php54/recipes/default.rb +1 -1
  54. data/cookbooks/mu-splunk/templates/default/splunk-init.erb +0 -0
  55. data/cookbooks/mu-tools/Berksfile +3 -2
  56. data/cookbooks/mu-tools/files/default/Mu_CA.pem +33 -0
  57. data/cookbooks/mu-tools/libraries/helper.rb +20 -8
  58. data/cookbooks/mu-tools/metadata.rb +5 -2
  59. data/cookbooks/mu-tools/recipes/apply_security.rb +2 -3
  60. data/cookbooks/mu-tools/recipes/eks.rb +1 -1
  61. data/cookbooks/mu-tools/recipes/gcloud.rb +5 -30
  62. data/cookbooks/mu-tools/recipes/nagios.rb +1 -1
  63. data/cookbooks/mu-tools/recipes/rsyslog.rb +1 -0
  64. data/cookbooks/mu-tools/recipes/selinux.rb +19 -0
  65. data/cookbooks/mu-tools/recipes/split_var_partitions.rb +0 -1
  66. data/cookbooks/mu-tools/recipes/windows-client.rb +256 -122
  67. data/cookbooks/mu-tools/resources/disk.rb +3 -1
  68. data/cookbooks/mu-tools/templates/amazon/sshd_config.erb +1 -1
  69. data/cookbooks/mu-tools/templates/default/etc_hosts.erb +1 -1
  70. data/cookbooks/mu-tools/templates/default/{kubeconfig.erb → kubeconfig-eks.erb} +0 -0
  71. data/cookbooks/mu-tools/templates/default/kubeconfig-gke.erb +27 -0
  72. data/cookbooks/mu-tools/templates/windows-10/sshd_config.erb +137 -0
  73. data/cookbooks/mu-utility/recipes/nat.rb +4 -0
  74. data/extras/alpha.png +0 -0
  75. data/extras/beta.png +0 -0
  76. data/extras/clean-stock-amis +2 -2
  77. data/extras/generate-stock-images +131 -0
  78. data/extras/git-fix-permissions-hook +0 -0
  79. data/extras/image-generators/AWS/centos6.yaml +17 -0
  80. data/extras/image-generators/{aws → AWS}/centos7-govcloud.yaml +0 -0
  81. data/extras/image-generators/{aws → AWS}/centos7.yaml +0 -0
  82. data/extras/image-generators/{aws → AWS}/rhel7.yaml +0 -0
  83. data/extras/image-generators/{aws → AWS}/win2k12.yaml +0 -0
  84. data/extras/image-generators/{aws → AWS}/win2k16.yaml +0 -0
  85. data/extras/image-generators/{aws → AWS}/windows.yaml +0 -0
  86. data/extras/image-generators/{gcp → Google}/centos6.yaml +1 -0
  87. data/extras/image-generators/Google/centos7.yaml +18 -0
  88. data/extras/python_rpm/build.sh +0 -0
  89. data/extras/release.png +0 -0
  90. data/extras/ruby_rpm/build.sh +0 -0
  91. data/extras/ruby_rpm/muby.spec +1 -1
  92. data/install/README.md +43 -5
  93. data/install/deprecated-bash-library.sh +0 -0
  94. data/install/installer +1 -1
  95. data/install/jenkinskeys.rb +0 -0
  96. data/install/mu-master.yaml +55 -0
  97. data/modules/mommacat.ru +41 -7
  98. data/modules/mu.rb +444 -149
  99. data/modules/mu/adoption.rb +500 -0
  100. data/modules/mu/cleanup.rb +235 -158
  101. data/modules/mu/cloud.rb +675 -138
  102. data/modules/mu/clouds/aws.rb +156 -24
  103. data/modules/mu/clouds/aws/alarm.rb +4 -14
  104. data/modules/mu/clouds/aws/bucket.rb +60 -18
  105. data/modules/mu/clouds/aws/cache_cluster.rb +8 -20
  106. data/modules/mu/clouds/aws/collection.rb +12 -22
  107. data/modules/mu/clouds/aws/container_cluster.rb +209 -118
  108. data/modules/mu/clouds/aws/database.rb +120 -45
  109. data/modules/mu/clouds/aws/dnszone.rb +7 -18
  110. data/modules/mu/clouds/aws/endpoint.rb +5 -15
  111. data/modules/mu/clouds/aws/firewall_rule.rb +144 -72
  112. data/modules/mu/clouds/aws/folder.rb +4 -11
  113. data/modules/mu/clouds/aws/function.rb +6 -16
  114. data/modules/mu/clouds/aws/group.rb +4 -12
  115. data/modules/mu/clouds/aws/habitat.rb +11 -13
  116. data/modules/mu/clouds/aws/loadbalancer.rb +40 -28
  117. data/modules/mu/clouds/aws/log.rb +5 -13
  118. data/modules/mu/clouds/aws/msg_queue.rb +9 -24
  119. data/modules/mu/clouds/aws/nosqldb.rb +4 -12
  120. data/modules/mu/clouds/aws/notifier.rb +6 -13
  121. data/modules/mu/clouds/aws/role.rb +69 -40
  122. data/modules/mu/clouds/aws/search_domain.rb +17 -20
  123. data/modules/mu/clouds/aws/server.rb +184 -94
  124. data/modules/mu/clouds/aws/server_pool.rb +33 -38
  125. data/modules/mu/clouds/aws/storage_pool.rb +5 -12
  126. data/modules/mu/clouds/aws/user.rb +59 -33
  127. data/modules/mu/clouds/aws/userdata/linux.erb +18 -30
  128. data/modules/mu/clouds/aws/userdata/windows.erb +9 -9
  129. data/modules/mu/clouds/aws/vpc.rb +214 -145
  130. data/modules/mu/clouds/azure.rb +978 -44
  131. data/modules/mu/clouds/azure/container_cluster.rb +413 -0
  132. data/modules/mu/clouds/azure/firewall_rule.rb +500 -0
  133. data/modules/mu/clouds/azure/habitat.rb +167 -0
  134. data/modules/mu/clouds/azure/loadbalancer.rb +205 -0
  135. data/modules/mu/clouds/azure/role.rb +211 -0
  136. data/modules/mu/clouds/azure/server.rb +810 -0
  137. data/modules/mu/clouds/azure/user.rb +257 -0
  138. data/modules/mu/clouds/azure/userdata/README.md +4 -0
  139. data/modules/mu/clouds/azure/userdata/linux.erb +137 -0
  140. data/modules/mu/clouds/azure/userdata/windows.erb +275 -0
  141. data/modules/mu/clouds/azure/vpc.rb +782 -0
  142. data/modules/mu/clouds/cloudformation.rb +12 -9
  143. data/modules/mu/clouds/cloudformation/firewall_rule.rb +5 -13
  144. data/modules/mu/clouds/cloudformation/server.rb +10 -1
  145. data/modules/mu/clouds/cloudformation/server_pool.rb +1 -0
  146. data/modules/mu/clouds/cloudformation/vpc.rb +0 -2
  147. data/modules/mu/clouds/google.rb +554 -117
  148. data/modules/mu/clouds/google/bucket.rb +173 -32
  149. data/modules/mu/clouds/google/container_cluster.rb +1112 -157
  150. data/modules/mu/clouds/google/database.rb +24 -47
  151. data/modules/mu/clouds/google/firewall_rule.rb +344 -89
  152. data/modules/mu/clouds/google/folder.rb +156 -79
  153. data/modules/mu/clouds/google/group.rb +272 -82
  154. data/modules/mu/clouds/google/habitat.rb +177 -52
  155. data/modules/mu/clouds/google/loadbalancer.rb +9 -34
  156. data/modules/mu/clouds/google/role.rb +1211 -0
  157. data/modules/mu/clouds/google/server.rb +491 -227
  158. data/modules/mu/clouds/google/server_pool.rb +233 -48
  159. data/modules/mu/clouds/google/user.rb +479 -125
  160. data/modules/mu/clouds/google/userdata/linux.erb +3 -3
  161. data/modules/mu/clouds/google/userdata/windows.erb +9 -9
  162. data/modules/mu/clouds/google/vpc.rb +381 -223
  163. data/modules/mu/config.rb +689 -214
  164. data/modules/mu/config/bucket.rb +1 -1
  165. data/modules/mu/config/cache_cluster.rb +1 -1
  166. data/modules/mu/config/cache_cluster.yml +0 -4
  167. data/modules/mu/config/container_cluster.rb +18 -9
  168. data/modules/mu/config/database.rb +6 -23
  169. data/modules/mu/config/firewall_rule.rb +9 -15
  170. data/modules/mu/config/folder.rb +22 -21
  171. data/modules/mu/config/habitat.rb +22 -21
  172. data/modules/mu/config/loadbalancer.rb +2 -2
  173. data/modules/mu/config/role.rb +9 -40
  174. data/modules/mu/config/server.rb +26 -5
  175. data/modules/mu/config/server_pool.rb +1 -1
  176. data/modules/mu/config/storage_pool.rb +2 -2
  177. data/modules/mu/config/user.rb +4 -0
  178. data/modules/mu/config/vpc.rb +350 -110
  179. data/modules/mu/defaults/{amazon_images.yaml → AWS.yaml} +37 -39
  180. data/modules/mu/defaults/Azure.yaml +17 -0
  181. data/modules/mu/defaults/Google.yaml +24 -0
  182. data/modules/mu/defaults/README.md +1 -1
  183. data/modules/mu/deploy.rb +168 -125
  184. data/modules/mu/groomer.rb +2 -1
  185. data/modules/mu/groomers/ansible.rb +104 -32
  186. data/modules/mu/groomers/chef.rb +96 -44
  187. data/modules/mu/kittens.rb +20602 -0
  188. data/modules/mu/logger.rb +38 -11
  189. data/modules/mu/master.rb +90 -8
  190. data/modules/mu/master/chef.rb +2 -3
  191. data/modules/mu/master/ldap.rb +0 -1
  192. data/modules/mu/master/ssl.rb +250 -0
  193. data/modules/mu/mommacat.rb +917 -513
  194. data/modules/scratchpad.erb +1 -1
  195. data/modules/tests/super_complex_bok.yml +0 -0
  196. data/modules/tests/super_simple_bok.yml +0 -0
  197. data/roles/mu-master.json +2 -1
  198. data/spec/azure_creds +5 -0
  199. data/spec/mu.yaml +56 -0
  200. data/spec/mu/clouds/azure_spec.rb +164 -27
  201. data/spec/spec_helper.rb +5 -0
  202. data/test/clean_up.py +0 -0
  203. data/test/exec_inspec.py +0 -0
  204. data/test/exec_mu_install.py +0 -0
  205. data/test/exec_retry.py +0 -0
  206. data/test/smoke_test.rb +0 -0
  207. metadata +90 -118
  208. data/cookbooks/mu-jenkins/Berksfile +0 -14
  209. data/cookbooks/mu-jenkins/CHANGELOG.md +0 -13
  210. data/cookbooks/mu-jenkins/LICENSE +0 -37
  211. data/cookbooks/mu-jenkins/README.md +0 -105
  212. data/cookbooks/mu-jenkins/attributes/default.rb +0 -42
  213. data/cookbooks/mu-jenkins/files/default/cleanup_deploy_config.xml +0 -73
  214. data/cookbooks/mu-jenkins/files/default/deploy_config.xml +0 -44
  215. data/cookbooks/mu-jenkins/metadata.rb +0 -21
  216. data/cookbooks/mu-jenkins/recipes/default.rb +0 -195
  217. data/cookbooks/mu-jenkins/recipes/node-ssh-config.rb +0 -54
  218. data/cookbooks/mu-jenkins/recipes/public_key.rb +0 -24
  219. data/cookbooks/mu-jenkins/templates/default/example_job.config.xml.erb +0 -24
  220. data/cookbooks/mu-jenkins/templates/default/org.jvnet.hudson.plugins.SSHBuildWrapper.xml.erb +0 -14
  221. data/cookbooks/mu-jenkins/templates/default/ssh_config.erb +0 -6
  222. data/cookbooks/nagios/Berksfile +0 -11
  223. data/cookbooks/nagios/CHANGELOG.md +0 -589
  224. data/cookbooks/nagios/CONTRIBUTING.md +0 -11
  225. data/cookbooks/nagios/LICENSE +0 -37
  226. data/cookbooks/nagios/README.md +0 -328
  227. data/cookbooks/nagios/TESTING.md +0 -2
  228. data/cookbooks/nagios/attributes/config.rb +0 -171
  229. data/cookbooks/nagios/attributes/default.rb +0 -228
  230. data/cookbooks/nagios/chefignore +0 -102
  231. data/cookbooks/nagios/definitions/command.rb +0 -33
  232. data/cookbooks/nagios/definitions/contact.rb +0 -33
  233. data/cookbooks/nagios/definitions/contactgroup.rb +0 -33
  234. data/cookbooks/nagios/definitions/host.rb +0 -33
  235. data/cookbooks/nagios/definitions/hostdependency.rb +0 -33
  236. data/cookbooks/nagios/definitions/hostescalation.rb +0 -34
  237. data/cookbooks/nagios/definitions/hostgroup.rb +0 -33
  238. data/cookbooks/nagios/definitions/nagios_conf.rb +0 -38
  239. data/cookbooks/nagios/definitions/resource.rb +0 -33
  240. data/cookbooks/nagios/definitions/service.rb +0 -33
  241. data/cookbooks/nagios/definitions/servicedependency.rb +0 -33
  242. data/cookbooks/nagios/definitions/serviceescalation.rb +0 -34
  243. data/cookbooks/nagios/definitions/servicegroup.rb +0 -33
  244. data/cookbooks/nagios/definitions/timeperiod.rb +0 -33
  245. data/cookbooks/nagios/libraries/base.rb +0 -314
  246. data/cookbooks/nagios/libraries/command.rb +0 -91
  247. data/cookbooks/nagios/libraries/contact.rb +0 -230
  248. data/cookbooks/nagios/libraries/contactgroup.rb +0 -112
  249. data/cookbooks/nagios/libraries/custom_option.rb +0 -36
  250. data/cookbooks/nagios/libraries/data_bag_helper.rb +0 -23
  251. data/cookbooks/nagios/libraries/default.rb +0 -90
  252. data/cookbooks/nagios/libraries/host.rb +0 -412
  253. data/cookbooks/nagios/libraries/hostdependency.rb +0 -181
  254. data/cookbooks/nagios/libraries/hostescalation.rb +0 -173
  255. data/cookbooks/nagios/libraries/hostgroup.rb +0 -119
  256. data/cookbooks/nagios/libraries/nagios.rb +0 -282
  257. data/cookbooks/nagios/libraries/resource.rb +0 -59
  258. data/cookbooks/nagios/libraries/service.rb +0 -455
  259. data/cookbooks/nagios/libraries/servicedependency.rb +0 -215
  260. data/cookbooks/nagios/libraries/serviceescalation.rb +0 -195
  261. data/cookbooks/nagios/libraries/servicegroup.rb +0 -144
  262. data/cookbooks/nagios/libraries/timeperiod.rb +0 -160
  263. data/cookbooks/nagios/libraries/users_helper.rb +0 -54
  264. data/cookbooks/nagios/metadata.rb +0 -25
  265. data/cookbooks/nagios/recipes/_load_databag_config.rb +0 -153
  266. data/cookbooks/nagios/recipes/_load_default_config.rb +0 -241
  267. data/cookbooks/nagios/recipes/apache.rb +0 -48
  268. data/cookbooks/nagios/recipes/default.rb +0 -204
  269. data/cookbooks/nagios/recipes/nginx.rb +0 -82
  270. data/cookbooks/nagios/recipes/pagerduty.rb +0 -143
  271. data/cookbooks/nagios/recipes/server_package.rb +0 -40
  272. data/cookbooks/nagios/recipes/server_source.rb +0 -164
  273. data/cookbooks/nagios/templates/default/apache2.conf.erb +0 -96
  274. data/cookbooks/nagios/templates/default/cgi.cfg.erb +0 -266
  275. data/cookbooks/nagios/templates/default/commands.cfg.erb +0 -13
  276. data/cookbooks/nagios/templates/default/contacts.cfg.erb +0 -37
  277. data/cookbooks/nagios/templates/default/hostgroups.cfg.erb +0 -25
  278. data/cookbooks/nagios/templates/default/hosts.cfg.erb +0 -15
  279. data/cookbooks/nagios/templates/default/htpasswd.users.erb +0 -6
  280. data/cookbooks/nagios/templates/default/nagios.cfg.erb +0 -22
  281. data/cookbooks/nagios/templates/default/nginx.conf.erb +0 -62
  282. data/cookbooks/nagios/templates/default/pagerduty.cgi.erb +0 -185
  283. data/cookbooks/nagios/templates/default/resource.cfg.erb +0 -27
  284. data/cookbooks/nagios/templates/default/servicedependencies.cfg.erb +0 -15
  285. data/cookbooks/nagios/templates/default/servicegroups.cfg.erb +0 -14
  286. data/cookbooks/nagios/templates/default/services.cfg.erb +0 -14
  287. data/cookbooks/nagios/templates/default/templates.cfg.erb +0 -31
  288. data/cookbooks/nagios/templates/default/timeperiods.cfg.erb +0 -13
  289. data/extras/image-generators/aws/centos6.yaml +0 -18
  290. data/modules/mu/defaults/google_images.yaml +0 -16
  291. data/roles/mu-master-jenkins.json +0 -24
@@ -36,7 +36,7 @@ ENV['PATH'] = ENV['PATH']+":/bin:/opt/opscode/embedded/bin"
36
36
  # XXX We want to be able to override these things when invoked from chef-apply,
37
37
  # but, like, how?
38
38
  CHEF_SERVER_VERSION="12.17.15-1"
39
- CHEF_CLIENT_VERSION="14.11.21"
39
+ CHEF_CLIENT_VERSION="14.13.11"
40
40
  KNIFE_WINDOWS="1.9.0"
41
41
  MU_BASE="/opt/mu"
42
42
  MU_BRANCH="master" # GIT HOOK EDITABLE DO NOT TOUCH
@@ -171,45 +171,60 @@ removepackages = []
171
171
  rpms = {}
172
172
  dpkgs = {}
173
173
 
174
- elversion = node['platform_version'].to_i > 2000 ? 6 : node['platform_version'].to_i
175
- if platform_family?("rhel")
176
- basepackages = ["git", "curl", "diffutils", "patch", "gcc", "gcc-c++", "make", "postgresql-devel", "libyaml", "libffi-devel", "tcl", "tk"]
177
- # package epel-release-6-8.9.amzn1.noarch (which is newer than epel-release-6-8.noarch) is already installed
174
+ elversion = node['platform_version'].split('.')[0]
178
175
 
179
- rpms = {
180
- "epel-release" => "http://dl.fedoraproject.org/pub/epel/epel-release-latest-#{elversion}.noarch.rpm",
181
- "chef-server-core" => "https://packages.chef.io/files/stable/chef-server/#{CHEF_SERVER_VERSION.sub(/\-\d+$/, "")}/el/#{elversion}/chef-server-core-#{CHEF_SERVER_VERSION}.el#{elversion}.x86_64.rpm"
182
- }
176
+ rhelbase = ["git", "curl", "diffutils", "patch", "gcc", "gcc-c++", "make", "postgresql-devel", "libyaml", "libffi-devel", "tcl", "tk"]
183
177
 
178
+ case node['platform_family']
179
+ when 'rhel'
184
180
 
185
- if elversion < 6 or elversion >= 8
186
- raise "Mu Masters on RHEL-family hosts must be equivalent to RHEL6 or RHEL7 (got #{elversion})"
181
+ basepackages = rhelbase
187
182
 
188
- # RHEL6, CentOS6, Amazon Linux
189
- elsif elversion < 7
190
- basepackages.concat(["mysql-devel"])
191
- rpms["ruby25"] = "https://s3.amazonaws.com/cloudamatic/muby-2.5.3-1.el6.x86_64.rpm"
192
- rpms["python27"] = "https://s3.amazonaws.com/cloudamatic/muthon-2.7.16-1.el6.x86_64.rpm"
193
-
183
+ case node['platform_version'].split('.')[0].to_i
184
+ when 6
185
+ basepackages.concat(["cryptsetup-luks", "mysql-devel", "centos-release-scl"])
194
186
  removepackages = ["nagios"]
195
187
 
196
- # RHEL7, CentOS7
197
- elsif elversion < 8
198
- basepackages.concat(["libX11", "mariadb-devel", "cryptsetup"])
199
- rpms["ruby25"] = "https://s3.amazonaws.com/cloudamatic/muby-2.5.3-1.el7.x86_64.rpm"
200
- rpms["python27"] = "https://s3.amazonaws.com/cloudamatic/muthon-2.7.16-1.el7.x86_64.rpm"
201
- removepackages = ["nagios", "firewalld"]
202
- end
203
- # Amazon Linux
204
- if node['platform_version'].to_i > 2000
205
- basepackages.concat(["compat-libffi5"])
206
- rpms.delete("epel-release")
188
+ when 7
189
+ basepackages.concat(['libX11', 'mariadb-devel', 'cryptsetup'])
190
+ removepackages = ['nagios', 'firewalld']
191
+
192
+ when 8
193
+ raise "Mu currently does not support RHEL 8... but I assume it will in the future... But I am Bill and I am hopeful about the future."
194
+ else
195
+ raise "Mu does not support RHEL #{node['platform_version']} (matched on #{node['platform_version'].split('.')[0]})"
207
196
  end
208
197
 
198
+ when 'amazon'
199
+ basepackages = rhelbase
200
+ rpms.delete('epel-release')
201
+
202
+ case node['platform_version'].split('.')[0]
203
+ when '1', '6' #REALLY THIS IS AMAZON LINUX 1, BUT IT IS BASED OFF OF RHEL 6
204
+ basepackages.concat(['mysql-devel', 'libffi-devel'])
205
+ basepackages.delete('tk')
206
+ removepackages = ["nagios"]
207
+
208
+ when '2'
209
+ basepackages.concat(['libX11', 'mariadb-devel', 'cryptsetup', 'ncurses-devel', 'ncurses-compat-libs', 'iptables-services'])
210
+ removepackages = ['nagios', 'firewalld']
211
+ elversion = '7' #HACK TO FORCE AMAZON LINUX 2 TO BE TREATED LIKE RHEL 7
212
+
213
+ else
214
+ raise "Mu Masters on Amazon-family hosts must be equivalent to Amazon Linux 1 or 2 (got #{node['platform_version'].split('.')[0]})"
215
+ end
209
216
  else
210
- raise "Mu Masters are currently only supported on RHEL-family hosts."
217
+ raise "Mu Masters are currently only supported on RHEL and Amazon family hosts (got #{node['platform_family']})."
211
218
  end
212
219
 
220
+ rpms = {
221
+ "epel-release" => "http://dl.fedoraproject.org/pub/epel/epel-release-latest-#{elversion}.noarch.rpm",
222
+ "chef-server-core" => "https://packages.chef.io/files/stable/chef-server/#{CHEF_SERVER_VERSION.sub(/\-\d+$/, "")}/el/#{elversion}/chef-server-core-#{CHEF_SERVER_VERSION}.el#{elversion}.x86_64.rpm"
223
+ }
224
+
225
+ rpms["ruby25"] = "https://s3.amazonaws.com/cloudamatic/muby-2.5.3-1.el#{elversion}.x86_64.rpm"
226
+ rpms["python27"] = "https://s3.amazonaws.com/cloudamatic/muthon-2.7.16-1.el#{elversion}.x86_64.rpm"
227
+
213
228
  package basepackages
214
229
 
215
230
  directory MU_BASE do
@@ -302,6 +317,10 @@ execute "clean up old ruby-2.3.1" do
302
317
  only_if { ::Dir.exist?("/opt/rubies/ruby-2.3.1") }
303
318
  end
304
319
 
320
+ execute "yum makecache" do
321
+ action :nothing
322
+ end
323
+
305
324
  # Regular old rpm-based installs
306
325
  rpms.each_pair { |pkg, src|
307
326
  rpm_package pkg do
@@ -309,6 +328,9 @@ rpms.each_pair { |pkg, src|
309
328
  if pkg == "ruby25"
310
329
  options '--prefix=/opt/rubies/'
311
330
  end
331
+ if pkg == "epel-release"
332
+ notifies :run, "execute[yum makecache]", :immediately
333
+ end
312
334
  if pkg == "chef-server-core"
313
335
  notifies :stop, "service[iptables]", :before
314
336
  if File.size?("/etc/opscode/chef-server.rb")
@@ -371,7 +393,7 @@ file "#{MU_BASE}/var/users/mu/realname" do
371
393
  end
372
394
  end
373
395
 
374
- ["mu-aws-setup", "mu-cleanup", "mu-configure", "mu-deploy", "mu-firewall-allow-clients", "mu-gen-docs", "mu-load-config.rb", "mu-node-manage", "mu-tunnel-nagios", "mu-upload-chef-artifacts", "mu-user-manage", "mu-ssh"].each { |exe|
396
+ ["mu-cleanup", "mu-configure", "mu-deploy", "mu-firewall-allow-clients", "mu-gen-docs", "mu-load-config.rb", "mu-node-manage", "mu-tunnel-nagios", "mu-upload-chef-artifacts", "mu-user-manage", "mu-ssh", "mu-adopt", "mu-azure-setup", "mu-gcp-setup", "mu-aws-setup"].each { |exe|
375
397
  link "#{MU_BASE}/bin/#{exe}" do
376
398
  to "#{MU_BASE}/lib/bin/#{exe}"
377
399
  end
@@ -432,26 +454,15 @@ end
432
454
  execute "rm -rf #{gemdir}/knife-windows-#{Regexp.last_match[1]}"
433
455
  }
434
456
 
435
- # XXX rely on bundler to get this right for us
436
- # gem_package "#{rubydir} knife-windows #{KNIFE_WINDOWS} #{gembin}" do
437
- # gem_binary gembin
438
- # package_name "knife-windows"
439
- # version KNIFE_WINDOWS
440
- # notifies :restart, "service[chef-server]", :delayed if rubydir == "/opt/opscode/embedded"
441
- # # XXX notify mommacat if we're *not* in chef-apply... RUNNING_STANDALONE
442
- # end
443
-
444
- # execute "Patch #{rubydir}'s knife-windows for Cygwin SSH bootstraps" do
445
- # cwd "#{gemdir}/knife-windows-#{KNIFE_WINDOWS}"
446
- # command "patch -p1 < #{MU_BASE}/lib/install/knife-windows-cygwin-#{KNIFE_WINDOWS}.patch"
447
- # not_if "grep -i 'locate_config_value(:cygwin)' #{gemdir}/knife-windows-#{KNIFE_WINDOWS}/lib/chef/knife/bootstrap_windows_base.rb"
448
- # notifies :restart, "service[chef-server]", :delayed if rubydir == "/opt/opscode/embedded"
449
- # only_if { ::Dir.exist?(gemdir) }
450
- # XXX notify mommacat if we're *not* in chef-apply... RUNNING_STANDALONE
451
- # end
452
457
  end
453
458
  }
454
459
 
460
+ # This is mostly to make sure Berkshelf has a clean and current environment to
461
+ # live with.
462
+ execute "/usr/local/ruby-current/bin/bundle clean --force" do
463
+ cwd "#{MU_BASE}/lib/modules"
464
+ only_if { RUNNING_STANDALONE }
465
+ end
455
466
 
456
467
  # Get a 'mu' Chef org in place and populate it with artifacts
457
468
  directory "/root/.chef"
@@ -567,3 +578,10 @@ end
567
578
  notifies :run, "bash[fix #{rubydir} gem permissions]", :delayed
568
579
  end
569
580
  }
581
+ bash "fix misc permissions" do
582
+ code <<-EOH
583
+ find #{MU_BASE}/lib -not -path "#{MU_BASE}/.git" -type d -exec chmod go+r {} \\;
584
+ find #{MU_BASE}/lib -not -path "#{MU_BASE}/.git/*" -type f -exec chmod go+r {} \\;
585
+ chmod go+rx #{MU_BASE}/lib/bin/* #{MU_BASE}/lib/extras/*-stock-* #{MU_BASE}/lib/extras/vault_tools/*.sh
586
+ EOH
587
+ end
@@ -1,5 +1,5 @@
1
1
  # Cookbook Name:: mu-master
2
- # Recipe:: eks-kubectl
2
+ # Recipe:: kubectl
3
3
  #
4
4
  # Copyright:: Copyright (c) 2018 eGlobalTech, Inc., all rights reserved
5
5
  #
@@ -23,19 +23,13 @@
23
23
  # templates.
24
24
  #
25
25
  remote_file "/opt/mu/bin/kubectl" do
26
- source "https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/linux/amd64/kubectl"
26
+ source "https://amazon-eks.s3-us-west-2.amazonaws.com/1.14.6/2019-08-22/bin/linux/amd64/kubectl"
27
27
  mode 0755
28
- not_if "test -f /opt/mu/bin/kubectl"
28
+ not_if "test -f /opt/mu/bin/kubectl && kubectl version --short | grep 1.14.6"
29
29
  end
30
30
 
31
31
  remote_file "/opt/mu/bin/aws-iam-authenticator" do
32
- source "https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/linux/amd64/aws-iam-authenticator"
32
+ source "https://amazon-eks.s3-us-west-2.amazonaws.com/1.14.6/2019-08-22/bin/linux/amd64/aws-iam-authenticator"
33
33
  mode 0755
34
34
  not_if "test -f /opt/mu/bin/aws-iam-authenticator"
35
35
  end
36
-
37
- # in brand new accounts where no load balancer has been created, something
38
- # has to do this before EKS has to, because by default it can't
39
- execute "aws iam create-service-linked-role --aws-service-name 'elasticloadbalancing.amazonaws.com'" do
40
- not_if "aws iam list-roles | grep /aws-service-role/elasticloadbalancing.amazonaws.com/"
41
- end
@@ -58,7 +58,8 @@ service "oddjobd" do
58
58
  start_command "sh -x /etc/init.d/oddjobd start" if %w{redhat centos}.include?(node['platform']) && node['platform_version'].to_i == 6 # seems to actually work
59
59
  action [:enable, :start]
60
60
  end
61
- execute "/usr/sbin/authconfig --disablenis --disablecache --disablewinbind --disablewinbindauth --enablemkhomedir --disablekrb5 --enablesssd --enablesssdauth --enablelocauthorize --disableforcelegacy --disableldap --disableldapauth --updateall" do
61
+ package "authconfig"
62
+ execute "LC_ALL=C /usr/sbin/authconfig --disablenis --disablecache --disablewinbind --disablewinbindauth --enablemkhomedir --disablekrb5 --enablesssd --enablesssdauth --enablelocauthorize --disableforcelegacy --disableldap --disableldapauth --updateall" do
62
63
  notifies :restart, "service[oddjobd]", :immediately
63
64
  notifies :reload, "service[sshd]", :delayed
64
65
  not_if "grep pam_sss.so /etc/pam.d/password-auth"
@@ -16,8 +16,8 @@
16
16
  # See the License for the specific language governing permissions and
17
17
  # limitations under the License.
18
18
 
19
- include_recipe "nagios::server_source"
20
- include_recipe "nagios"
19
+ include_recipe "mu-nagios::server_source"
20
+ include_recipe "mu-nagios"
21
21
  include_recipe 'mu-master::firewall-holes'
22
22
 
23
23
  if $MU_CFG.has_key?('ldap')
@@ -49,7 +49,7 @@ file "/etc/sysconfig/nagios" do
49
49
  content "checkconfig=\"false\"\n"
50
50
  mode 0600
51
51
  end
52
- include_recipe "nagios"
52
+ include_recipe "mu-nagios"
53
53
 
54
54
  # scrub our old stuff if it's around
55
55
  ["nagios_fifo", "nagios_more_selinux"].each { |policy|
@@ -139,15 +139,15 @@ Dir.glob("/usr/lib/cgi-bin/*.cgi").each { |script|
139
139
 
140
140
  ["/usr/lib/cgi-bin"].each { |cgidir|
141
141
  if Dir.exist?(cgidir)
142
- execute "chcon -R -h -t httpd_sys_script_exec_t #{cgidir}" do
142
+ execute "chcon -R -h system_u:object_r:httpd_sys_script_exec_t #{cgidir}" do
143
143
  not_if "ls -aZ #{cgidir} | grep ':httpd_sys_script_exec_t:'"
144
144
  notifies :reload, "service[apache2]", :delayed
145
145
  end
146
146
  end
147
147
  }
148
148
  if File.exist?("/usr/lib64/nagios/plugins/check_nagios")
149
- execute "chcon -R -h -t nagios_unconfined_plugin_exec_t /usr/lib64/nagios/plugins/check_nagios" do
150
- not_if "ls -aZ /usr/lib64/nagios/plugins/check_nagios | grep ':nagios_unconfined_plugin_exec_t:'"
149
+ execute "chcon -R -h system_u:object_r:nagios_unconfined_plugin_exec_t /usr/lib64/nagios/plugins/check_nagios" do
150
+ not_if "ls -aZ /usr/lib64/nagios/plugins/check_nagios | grep 'object_r:nagios_'"
151
151
  end
152
152
  end
153
153
 
@@ -27,8 +27,8 @@
27
27
  AllowEncodedSlashes off
28
28
 
29
29
  # Scratchpad, the Mu secret-sharer
30
- ProxyPass /scratchpad https://localhost:2260/scratchpad
31
- ProxyPassReverse /scratchpad https://localhost:2260/scratchpad
30
+ ProxyPass /scratchpad https://localhost:<%= MU.mommaCatPort.to_s %>/scratchpad
31
+ ProxyPassReverse /scratchpad https://localhost:<%= MU.mommaCatPort.to_s %>/scratchpad
32
32
 
33
33
  # Nagios web UI
34
34
  ProxyPass /nagios/ https://localhost:8443/nagios/
@@ -0,0 +1,4 @@
1
+ <Location /ldap-status>
2
+ SetHandler ldap-status
3
+ Require local
4
+ </Location>
@@ -8,6 +8,5 @@ cookbook 'mu-utility'
8
8
 
9
9
  # Supermarket Cookbooks
10
10
  cookbook 'simple_iptables', '~> 0.8.0'
11
- cookbook 'apache2', '< 4.0'
12
11
  cookbook 'mysql', '~> 8.5.1'
13
- cookbook 'yum-epel', '~> 3.2.0'
12
+ cookbook 'yum-epel', '~> 3.2.0'
@@ -4,11 +4,10 @@ maintainer_email 'mu-developers@googlegroups.com'
4
4
  license 'BSD-3-Clause'
5
5
 
6
6
  description 'Installs/Configures php'
7
- long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
8
7
  source_url 'https://github.com/cloudamatic/mu'
9
8
  issues_url 'https://github.com/cloudamatic/mu/issues'
10
- chef_version '>= 14.0' if respond_to?(:chef_version)
11
- version '0.3.0'
9
+ chef_version '>= 14.0'
10
+ version '0.3.1'
12
11
 
13
12
  %w( centos ubuntu ).each do |os|
14
13
  supports os
@@ -16,6 +15,6 @@ end
16
15
 
17
16
  depends 'mu-utility'
18
17
  depends 'simple_iptables', '~> 0.8.0'
19
- depends 'apache2', '< 4.0'
20
18
  depends 'mysql', '~> 8.5.1'
21
- depends 'yum-epel', '~> 3.2.0'
19
+ depends 'yum-epel', '~> 3.2.0'
20
+ depends 'apache2', '< 6.0.0'
@@ -24,7 +24,7 @@ end
24
24
 
25
25
  case node['platform']
26
26
 
27
- when "centos"
27
+ when "centos", "amazon"
28
28
  include_recipe "yum-epel"
29
29
  include_recipe "mu-utility::remi"
30
30
 
@@ -4,7 +4,7 @@ source chef_repo: ".."
4
4
  metadata
5
5
 
6
6
  # Mu Cookbooks
7
- cookbook "nagios"
7
+ cookbook 'mu-nagios' , '~> 8.2.0', git: "https://github.com/cloudamatic/mu-nagios.git"
8
8
  cookbook "mu-utility"
9
9
  cookbook "mu-splunk"
10
10
  cookbook "mu-firewall"
@@ -18,4 +18,5 @@ cookbook "java", '~> 2.2.0'
18
18
  cookbook "windows", '~> 5.1.1'
19
19
  cookbook "chef-vault", '~> 3.1.1'
20
20
  cookbook "poise-python", '~> 1.7.0'
21
- cookbook "yum-epel", '~> 3.2.0'
21
+ cookbook "yum-epel", '~> 3.2.0'
22
+ cookbook 'selinux', '~> 3.0.0'
@@ -0,0 +1,33 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ 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
33
+ -----END CERTIFICATE-----
@@ -168,7 +168,14 @@ module Mutools
168
168
  end
169
169
 
170
170
  def get_deploy_secret
171
- uri = URI("https://#{get_mu_master_ips.first}:2260/rest/bucketname")
171
+ cloud = if !get_aws_metadata("meta-data/instance-id").nil?
172
+ "AWS"
173
+ elsif !get_google_metadata("instance/name").nil?
174
+ "Google"
175
+ # elsif <some condition here>
176
+ # "Azure"
177
+ end
178
+ uri = URI("https://#{get_mu_master_ips.first}:2260/rest/bucketname/#{cloud}/#{node['credentials']}")
172
179
  http = Net::HTTP.new(uri.hostname, uri.port)
173
180
  http.use_ssl = true
174
181
  http.verify_mode = ::OpenSSL::SSL::VERIFY_NONE # XXX this sucks
@@ -177,7 +184,7 @@ module Mutools
177
184
  secret = nil
178
185
  filename = mu_get_tag_value("MU-ID")+"-secret"
179
186
 
180
- if !get_aws_metadata("meta-data/instance-id").nil?
187
+ if cloud == "AWS"
181
188
  resp = nil
182
189
  begin
183
190
  resp = s3.get_object(bucket: bucket, key: filename)
@@ -187,18 +194,23 @@ module Mutools
187
194
  end
188
195
  Chef::Log.info("Fetch deploy secret from s3://#{bucket}/#{filename}")
189
196
  secret = resp.body.read
190
- elsif !get_google_metadata("instance/name").nil?
197
+ elsif cloud == "Google"
191
198
  include_recipe "mu-tools::gcloud"
199
+ resp = nil
192
200
  ["/opt/google-cloud-sdk/bin/gsutil", "/bin/gsutil"].each { |gsutil|
193
201
  next if !File.exist?(gsutil)
194
202
  Chef::Log.info("Fetching deploy secret: #{gsutil} cp gs://#{bucket}/#{filename} -")
195
- if File.exist?("/usr/bin/python2.7")
196
- # secret = %x{CLOUDSDK_PYTHON=/usr/bin/python2.7 #{gsutil} cp gs://#{bucket}/#{filename} -}
197
- secret = shell_out("CLOUDSDK_PYTHON=/usr/bin/python2.7 #{gsutil} cp gs://#{bucket}/#{filename} -").stdout.str
203
+ cmd = if File.exist?("/usr/bin/python2.7")
204
+ %Q{CLOUDSDK_PYTHON=/usr/bin/python2.7 #{gsutil} cp gs://#{bucket}/#{filename} -}
198
205
  else
199
- # secret = %x{#{gsutil} cp gs://#{bucket}/#{filename} -}
200
- secret = shell_out("#{gsutil} cp gs://#{bucket}/#{filename} -").stdout.str
206
+ %Q{#{gsutil} cp gs://#{bucket}/#{filename} -}
207
+ end
208
+ Chef::Log.info(cmd)
209
+ resp = shell_out(cmd)
210
+ if resp.status.exitstatus != 0
211
+ raise "\nDeploy secret fetch failed with exit code #{resp.status.exitstatus.to_s}: #{resp.stderr}. Command was:\n#{cmd}"
201
212
  end
213
+ secret = resp.stdout
202
214
  break if !secret.nil? and !secret.empty?
203
215
  }
204
216
  if secret.nil? or secret.empty?
@@ -7,14 +7,14 @@ long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
7
7
  source_url 'https://github.com/cloudamatic/mu'
8
8
  issues_url 'https://github.com/cloudamatic/mu/issues'
9
9
  chef_version '>= 14.0' if respond_to?(:chef_version)
10
- version '1.0.4'
10
+ version '1.1.0'
11
11
 
12
12
  %w( amazon centos redhat windows ).each do |os|
13
13
  supports os
14
14
  end
15
15
 
16
16
  depends "oracle-instantclient", '~> 1.1.0'
17
- depends "nagios"
17
+ depends "mu-nagios"
18
18
  depends "database", '~> 6.1.1'
19
19
  depends "postgresql", '~> 7.1.0'
20
20
  depends "mu-utility"
@@ -26,3 +26,6 @@ depends "poise-python", '~> 1.7.0'
26
26
  depends "yum-epel", '~> 3.2.0'
27
27
  depends "mu-firewall"
28
28
  depends "mu-activedirectory"
29
+ depends "chocolatey"
30
+ depends "firewall"
31
+ depends 'selinux', '~> 3.0.0'
@@ -145,7 +145,7 @@ if !node['application_attributes']['skip_recipes'].include?('apply_security')
145
145
  end
146
146
 
147
147
 
148
- if node.normal.root_login_disabled
148
+ if node['root_login_disabled']
149
149
  #some code
150
150
  end
151
151
 
@@ -333,10 +333,9 @@ if !node['application_attributes']['skip_recipes'].include?('apply_security')
333
333
  device node['application_attributes']['home']['mount_device']
334
334
  size node['application_attributes']['home']['volume_size_gb']
335
335
  preserve_data true
336
- not_if "awk '{print $2}' < /etc/mtab | grep '^/home$'"
337
336
  end
338
337
 
339
- Chef::Log.info("Value of login_disabled is #{node.normal.root_login_disabled}")
338
+ Chef::Log.info("Value of login_disabled is #{node['root_login_disabled']}")
340
339
 
341
340
  ruby_block "do a bunch of weird stuff" do # ~FC014
342
341
  block do