vagrant-clone 0.0.1 → 0.0.3

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 (306) hide show
  1. checksums.yaml +4 -4
  2. data/.idea/.rakeTasks +7 -0
  3. data/.idea/inspectionProfiles/Project_Default.xml +6 -0
  4. data/.idea/misc.xml +4 -0
  5. data/.idea/modules.xml +8 -0
  6. data/.idea/runConfigurations/clone.xml +21 -0
  7. data/.idea/runConfigurations/libvirt.xml +21 -0
  8. data/.idea/vagrant-clone.iml +114 -0
  9. data/.idea/vcs.xml +6 -0
  10. data/.idea/workspace.xml +948 -0
  11. data/Gemfile +9 -3
  12. data/Gemfile.lock +123 -37
  13. data/Rakefile +2 -1
  14. data/Vagrantfile +9 -0
  15. data/cookbooks/apt/CHANGELOG.md +321 -0
  16. data/cookbooks/apt/CONTRIBUTING.md +2 -0
  17. data/cookbooks/apt/MAINTAINERS.md +15 -0
  18. data/cookbooks/apt/README.md +250 -0
  19. data/cookbooks/apt/attributes/default.rb +57 -0
  20. data/cookbooks/apt/files/15update-stamp +1 -0
  21. data/cookbooks/apt/files/apt-proxy-v2.conf +50 -0
  22. data/cookbooks/apt/libraries/helpers.rb +49 -0
  23. data/cookbooks/apt/libraries/matchers.rb +16 -0
  24. data/cookbooks/apt/metadata.json +1 -0
  25. data/cookbooks/apt/recipes/cacher-client.rb +52 -0
  26. data/cookbooks/apt/recipes/cacher-ng.rb +39 -0
  27. data/cookbooks/apt/recipes/default.rb +93 -0
  28. data/cookbooks/apt/recipes/unattended-upgrades.rb +47 -0
  29. data/cookbooks/apt/resources/preference.rb +90 -0
  30. data/cookbooks/apt/templates/01proxy.erb +11 -0
  31. data/cookbooks/apt/templates/10dpkg-options.erb +8 -0
  32. data/cookbooks/apt/templates/10recommends.erb +3 -0
  33. data/cookbooks/apt/templates/20auto-upgrades.erb +5 -0
  34. data/cookbooks/apt/templates/50unattended-upgrades.erb +75 -0
  35. data/cookbooks/apt/templates/acng.conf.erb +275 -0
  36. data/cookbooks/apt/templates/unattended-upgrades.seed.erb +1 -0
  37. data/cookbooks/build-essential/.foodcritic +1 -0
  38. data/cookbooks/build-essential/CHANGELOG.md +257 -0
  39. data/cookbooks/build-essential/CONTRIBUTING.md +2 -0
  40. data/cookbooks/build-essential/MAINTAINERS.md +15 -0
  41. data/cookbooks/build-essential/README.md +134 -0
  42. data/cookbooks/build-essential/attributes/default.rb +21 -0
  43. data/cookbooks/build-essential/libraries/matchers.rb +9 -0
  44. data/cookbooks/build-essential/metadata.json +1 -0
  45. data/cookbooks/build-essential/recipes/_windows.rb +53 -0
  46. data/cookbooks/build-essential/recipes/default.rb +24 -0
  47. data/cookbooks/build-essential/resources/build_essential.rb +106 -0
  48. data/cookbooks/build-essential/resources/xcode_command_line_tools.rb +61 -0
  49. data/cookbooks/compat_resource/CHANGELOG.md +53 -0
  50. data/cookbooks/compat_resource/CONTRIBUTING.md +2 -0
  51. data/cookbooks/compat_resource/MAINTAINERS.md +16 -0
  52. data/cookbooks/compat_resource/README.md +60 -0
  53. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/constants.rb +47 -0
  54. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/delayed_evaluator.rb +40 -0
  55. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/dsl/core.rb +73 -0
  56. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/dsl/declare_resource.rb +315 -0
  57. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/dsl/platform_introspection.rb +292 -0
  58. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/dsl/recipe.rb +37 -0
  59. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/dsl/universal.rb +70 -0
  60. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/mixin/lazy_module_include.rb +98 -0
  61. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/mixin/notifying_block.rb +74 -0
  62. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/mixin/params_validate.rb +510 -0
  63. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/mixin/powershell_out.rb +117 -0
  64. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/mixin/properties.rb +328 -0
  65. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/property.rb +713 -0
  66. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/apt_repository.rb +269 -0
  67. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/apt_update.rb +105 -0
  68. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/noop.rb +56 -0
  69. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/support/yum_repo.erb +132 -0
  70. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/systemd_unit.rb +253 -0
  71. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider/yum_repository.rb +136 -0
  72. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider.rb +164 -0
  73. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource/action_class.rb +114 -0
  74. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource/apt_repository.rb +65 -0
  75. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource/apt_update.rb +52 -0
  76. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource/systemd_unit.rb +81 -0
  77. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource/yum_repository.rb +97 -0
  78. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource.rb +214 -0
  79. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/resource_builder.rb +174 -0
  80. data/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef.rb +29 -0
  81. data/cookbooks/compat_resource/files/lib/chef_compat/mixin/properties.rb +8 -0
  82. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/exceptions.rb +10 -0
  83. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/log.rb +30 -0
  84. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/mixin/params_validate.rb +17 -0
  85. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/node.rb +9 -0
  86. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/property.rb +15 -0
  87. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/provider.rb +65 -0
  88. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/recipe.rb +118 -0
  89. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/recipe_hook.rb +20 -0
  90. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource/lwrp_base.rb +60 -0
  91. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource.rb +156 -0
  92. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource_builder.rb +167 -0
  93. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource_collection/resource_list.rb +49 -0
  94. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource_collection/resource_set.rb +49 -0
  95. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/resource_collection.rb +103 -0
  96. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/run_context.rb +691 -0
  97. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef/runner.rb +153 -0
  98. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches/chef.rb +33 -0
  99. data/cookbooks/compat_resource/files/lib/chef_compat/monkeypatches.rb +41 -0
  100. data/cookbooks/compat_resource/files/lib/chef_compat/property.rb +6 -0
  101. data/cookbooks/compat_resource/files/lib/chef_compat/recipe.rb +8 -0
  102. data/cookbooks/compat_resource/files/lib/chef_compat/resource/lwrp_base.rb +44 -0
  103. data/cookbooks/compat_resource/files/lib/chef_compat/resource.rb +56 -0
  104. data/cookbooks/compat_resource/files/lib/chef_upstream_version.rb +3 -0
  105. data/cookbooks/compat_resource/files/lib/compat_resource.rb +35 -0
  106. data/cookbooks/compat_resource/libraries/autoload.rb +31 -0
  107. data/cookbooks/compat_resource/metadata.json +1 -0
  108. data/cookbooks/inifile_chef_gem/CHANGELOG.md +11 -0
  109. data/cookbooks/inifile_chef_gem/README.md +46 -0
  110. data/cookbooks/inifile_chef_gem/metadata.json +51 -0
  111. data/cookbooks/inifile_chef_gem/metadata.rb +11 -0
  112. data/cookbooks/inifile_chef_gem/resources/default.rb +28 -0
  113. data/cookbooks/mariadb/CHANGELOG.md +332 -0
  114. data/cookbooks/mariadb/README.md +225 -0
  115. data/cookbooks/mariadb/attributes/default.rb +199 -0
  116. data/cookbooks/mariadb/libraries/mariadb_conn_helper.rb +53 -0
  117. data/cookbooks/mariadb/libraries/mariadb_helper.rb +216 -0
  118. data/cookbooks/mariadb/libraries/matchers.rb +21 -0
  119. data/cookbooks/mariadb/metadata.json +1 -0
  120. data/cookbooks/mariadb/providers/configuration.rb +39 -0
  121. data/cookbooks/mariadb/recipes/_audit_plugin.rb +63 -0
  122. data/cookbooks/mariadb/recipes/_debian_galera.rb +62 -0
  123. data/cookbooks/mariadb/recipes/_debian_server.rb +78 -0
  124. data/cookbooks/mariadb/recipes/_mariadb_repository.rb +29 -0
  125. data/cookbooks/mariadb/recipes/_redhat_client.rb +27 -0
  126. data/cookbooks/mariadb/recipes/_redhat_galera.rb +55 -0
  127. data/cookbooks/mariadb/recipes/_redhat_server.rb +58 -0
  128. data/cookbooks/mariadb/recipes/client.rb +47 -0
  129. data/cookbooks/mariadb/recipes/config.rb +115 -0
  130. data/cookbooks/mariadb/recipes/default.rb +46 -0
  131. data/cookbooks/mariadb/recipes/devel.rb +41 -0
  132. data/cookbooks/mariadb/recipes/galera.rb +324 -0
  133. data/cookbooks/mariadb/recipes/plugins.rb +3 -0
  134. data/cookbooks/mariadb/recipes/repository.rb +45 -0
  135. data/cookbooks/mariadb/recipes/server.rb +157 -0
  136. data/cookbooks/mariadb/resources/configuration.rb +13 -0
  137. data/cookbooks/mariadb/resources/mysql2_gem.rb +25 -0
  138. data/cookbooks/mariadb/resources/replication.rb +192 -0
  139. data/cookbooks/mariadb/templates/default/conf.d.generic.erb +19 -0
  140. data/cookbooks/mariadb/templates/default/debian.cnf.erb +12 -0
  141. data/cookbooks/mariadb/templates/default/mariadb-server.seed.erb +13 -0
  142. data/cookbooks/mariadb/templates/default/mariadb_grants.erb +42 -0
  143. data/cookbooks/mariadb/templates/default/my.cnf.erb +210 -0
  144. data/cookbooks/mariadb/templates/default/root.cnf.erb +5 -0
  145. data/cookbooks/mingw/.foodcritic +1 -0
  146. data/cookbooks/mingw/CHANGELOG.md +50 -0
  147. data/cookbooks/mingw/CONTRIBUTING.md +2 -0
  148. data/cookbooks/mingw/MAINTAINERS.md +14 -0
  149. data/cookbooks/mingw/README.md +133 -0
  150. data/cookbooks/mingw/files/default/bash.bat +17 -0
  151. data/cookbooks/mingw/files/default/custom-upgrade.sh +23 -0
  152. data/cookbooks/mingw/files/default/custom_prefix.sh +13 -0
  153. data/cookbooks/mingw/files/default/pthread.h +719 -0
  154. data/cookbooks/mingw/files/default/time.h +297 -0
  155. data/cookbooks/mingw/libraries/_helper.rb +38 -0
  156. data/cookbooks/mingw/metadata.json +1 -0
  157. data/cookbooks/mingw/recipes/default.rb +19 -0
  158. data/cookbooks/mingw/resources/get.rb +56 -0
  159. data/cookbooks/mingw/resources/msys2_package.rb +139 -0
  160. data/cookbooks/mingw/resources/tdm_gcc.rb +114 -0
  161. data/cookbooks/ohai/.foodcritic +2 -0
  162. data/cookbooks/ohai/CHANGELOG.md +166 -0
  163. data/cookbooks/ohai/CONTRIBUTING.md +2 -0
  164. data/cookbooks/ohai/MAINTAINERS.md +15 -0
  165. data/cookbooks/ohai/README.md +134 -0
  166. data/cookbooks/ohai/libraries/matchers.rb +41 -0
  167. data/cookbooks/ohai/metadata.json +1 -0
  168. data/cookbooks/ohai/recipes/default.rb +20 -0
  169. data/cookbooks/ohai/resources/hint.rb +55 -0
  170. data/cookbooks/ohai/resources/plugin.rb +117 -0
  171. data/cookbooks/selinux_policy/.gitignore +51 -0
  172. data/cookbooks/selinux_policy/.kitchen.yml +25 -0
  173. data/cookbooks/selinux_policy/.rubocop.yml +2 -0
  174. data/cookbooks/selinux_policy/.travis.yml +26 -0
  175. data/cookbooks/selinux_policy/Berksfile +8 -0
  176. data/cookbooks/selinux_policy/CHANGELOG.md +155 -0
  177. data/cookbooks/selinux_policy/LICENSE +13 -0
  178. data/cookbooks/selinux_policy/README.md +217 -0
  179. data/cookbooks/selinux_policy/Rakefile +68 -0
  180. data/cookbooks/selinux_policy/TESTING.md +2 -0
  181. data/cookbooks/selinux_policy/Thorfile +12 -0
  182. data/cookbooks/selinux_policy/attributes/default.rb +5 -0
  183. data/cookbooks/selinux_policy/chefignore +102 -0
  184. data/cookbooks/selinux_policy/libraries/helper-disabled.rb +29 -0
  185. data/cookbooks/selinux_policy/libraries/matchers.rb +57 -0
  186. data/cookbooks/selinux_policy/metadata.json +58 -0
  187. data/cookbooks/selinux_policy/metadata.rb +20 -0
  188. data/cookbooks/selinux_policy/providers/boolean.rb +28 -0
  189. data/cookbooks/selinux_policy/providers/fcontext.rb +78 -0
  190. data/cookbooks/selinux_policy/providers/module.rb +81 -0
  191. data/cookbooks/selinux_policy/providers/permissive.rb +26 -0
  192. data/cookbooks/selinux_policy/providers/port.rb +58 -0
  193. data/cookbooks/selinux_policy/recipes/default.rb +9 -0
  194. data/cookbooks/selinux_policy/recipes/install.rb +32 -0
  195. data/cookbooks/selinux_policy/resources/boolean.rb +8 -0
  196. data/cookbooks/selinux_policy/resources/fcontext.rb +8 -0
  197. data/cookbooks/selinux_policy/resources/module.rb +21 -0
  198. data/cookbooks/selinux_policy/resources/permissive.rb +6 -0
  199. data/cookbooks/selinux_policy/resources/port.rb +9 -0
  200. data/cookbooks/seven_zip/CHANGELOG.md +30 -0
  201. data/cookbooks/seven_zip/README.md +108 -0
  202. data/cookbooks/seven_zip/attributes/default.rb +31 -0
  203. data/cookbooks/seven_zip/libraries/matchers.rb +33 -0
  204. data/cookbooks/seven_zip/metadata.json +1 -0
  205. data/cookbooks/seven_zip/providers/archive.rb +68 -0
  206. data/cookbooks/seven_zip/recipes/default.rb +41 -0
  207. data/cookbooks/seven_zip/resources/archive.rb +29 -0
  208. data/cookbooks/windows/.foodcritic +2 -0
  209. data/cookbooks/windows/CHANGELOG.md +528 -0
  210. data/cookbooks/windows/CONTRIBUTING.md +2 -0
  211. data/cookbooks/windows/MAINTAINERS.md +21 -0
  212. data/cookbooks/windows/README.md +803 -0
  213. data/cookbooks/windows/attributes/default.rb +21 -0
  214. data/cookbooks/windows/files/dism_features.rb +45 -0
  215. data/cookbooks/windows/libraries/matchers.rb +586 -0
  216. data/cookbooks/windows/libraries/powershell_helper.rb +53 -0
  217. data/cookbooks/windows/libraries/registry_helper.rb +356 -0
  218. data/cookbooks/windows/libraries/version.rb +207 -0
  219. data/cookbooks/windows/libraries/version_helper.rb +79 -0
  220. data/cookbooks/windows/libraries/windows_helper.rb +174 -0
  221. data/cookbooks/windows/libraries/windows_privileged.rb +103 -0
  222. data/cookbooks/windows/libraries/wmi_helper.rb +32 -0
  223. data/cookbooks/windows/metadata.json +1 -0
  224. data/cookbooks/windows/recipes/default.rb +21 -0
  225. data/cookbooks/windows/resources/auto_run.rb +46 -0
  226. data/cookbooks/windows/resources/certificate.rb +166 -0
  227. data/cookbooks/windows/resources/certificate_binding.rb +128 -0
  228. data/cookbooks/windows/resources/feature.rb +82 -0
  229. data/cookbooks/windows/resources/feature_dism.rb +108 -0
  230. data/cookbooks/windows/resources/feature_powershell.rb +70 -0
  231. data/cookbooks/windows/resources/feature_servermanagercmd.rb +76 -0
  232. data/cookbooks/windows/resources/font.rb +80 -0
  233. data/cookbooks/windows/resources/http_acl.rb +110 -0
  234. data/cookbooks/windows/resources/pagefile.rb +152 -0
  235. data/cookbooks/windows/resources/path.rb +54 -0
  236. data/cookbooks/windows/resources/printer.rb +103 -0
  237. data/cookbooks/windows/resources/printer_port.rb +101 -0
  238. data/cookbooks/windows/resources/share.rb +291 -0
  239. data/cookbooks/windows/resources/shortcut.rb +53 -0
  240. data/cookbooks/windows/resources/task.rb +384 -0
  241. data/cookbooks/windows/resources/zipfile.rb +125 -0
  242. data/cookbooks/yum/.foodcritic +1 -0
  243. data/cookbooks/yum/CHANGELOG.md +351 -0
  244. data/cookbooks/yum/CONTRIBUTING.md +2 -0
  245. data/cookbooks/yum/MAINTAINERS.md +16 -0
  246. data/cookbooks/yum/README.md +125 -0
  247. data/cookbooks/yum/attributes/main.rb +103 -0
  248. data/cookbooks/yum/libraries/matchers.rb +9 -0
  249. data/cookbooks/yum/metadata.json +1 -0
  250. data/cookbooks/yum/recipes/default.rb +26 -0
  251. data/cookbooks/yum/recipes/dnf_yum_compat.rb +29 -0
  252. data/cookbooks/yum/resources/globalconfig.rb +119 -0
  253. data/cookbooks/yum/templates/.DS_Store +0 -0
  254. data/cookbooks/yum/templates/main.erb +276 -0
  255. data/cookbooks/yum-epel/CHANGELOG.md +138 -0
  256. data/cookbooks/yum-epel/CONTRIBUTING.md +2 -0
  257. data/cookbooks/yum-epel/MAINTAINERS.md +19 -0
  258. data/cookbooks/yum-epel/README.md +172 -0
  259. data/cookbooks/yum-epel/attributes/default.rb +8 -0
  260. data/cookbooks/yum-epel/attributes/epel-debuginfo.rb +15 -0
  261. data/cookbooks/yum-epel/attributes/epel-source.rb +15 -0
  262. data/cookbooks/yum-epel/attributes/epel-testing-debuginfo.rb +15 -0
  263. data/cookbooks/yum-epel/attributes/epel-testing-source.rb +15 -0
  264. data/cookbooks/yum-epel/attributes/epel-testing.rb +15 -0
  265. data/cookbooks/yum-epel/attributes/epel.rb +21 -0
  266. data/cookbooks/yum-epel/metadata.json +1 -0
  267. data/cookbooks/yum-epel/recipes/default.rb +27 -0
  268. data/cookbooks/yum-scl/.kitchen.dokken.yml +24 -0
  269. data/cookbooks/yum-scl/.kitchen.yml +24 -0
  270. data/cookbooks/yum-scl/.rubocop.yml +6 -0
  271. data/cookbooks/yum-scl/.travis.yml +28 -0
  272. data/cookbooks/yum-scl/Berksfile +3 -0
  273. data/cookbooks/yum-scl/Berksfile.lock +25 -0
  274. data/cookbooks/yum-scl/CHANGELOG.md +11 -0
  275. data/cookbooks/yum-scl/Gemfile +46 -0
  276. data/cookbooks/yum-scl/README.md +76 -0
  277. data/cookbooks/yum-scl/attributes/centos.rb +83 -0
  278. data/cookbooks/yum-scl/attributes/default.rb +15 -0
  279. data/cookbooks/yum-scl/attributes/scientific.rb +1 -0
  280. data/cookbooks/yum-scl/files/default/RPM-GPG-KEY-CentOS-SIG-SCLo +20 -0
  281. data/cookbooks/yum-scl/libraries/yum_scl_helper.rb +33 -0
  282. data/cookbooks/yum-scl/metadata.json +42 -0
  283. data/cookbooks/yum-scl/metadata.rb +12 -0
  284. data/cookbooks/yum-scl/recipes/chef_install.rb +52 -0
  285. data/cookbooks/yum-scl/recipes/default.rb +17 -0
  286. data/cookbooks/yum-scl/recipes/native_install.rb +35 -0
  287. data/lib/vagrant-clone/command/clone.rb +66 -61
  288. data/lib/vagrant-clone/errors.rb +61 -0
  289. data/lib/vagrant-clone/util/clone_manager_base.rb +69 -0
  290. data/lib/vagrant-clone/util/clone_managers/docker.rb +31 -0
  291. data/lib/vagrant-clone/util/clone_managers/libvirt.rb +254 -0
  292. data/lib/vagrant-clone/util/vagrantfile_managers/docker.rb +154 -0
  293. data/lib/vagrant-clone/util/vagrantfile_managers/libvirt.rb +159 -0
  294. data/lib/vagrant-clone/version.rb +2 -2
  295. data/lib/vagrant-clone.rb +6 -6
  296. data/libvirt.txt +7 -0
  297. data/performance_testing.rb +165 -0
  298. data/results.txt +45 -0
  299. data/scripts/create_box.sh +134 -0
  300. data/test.rb +92 -0
  301. data/tools/create_box.sh +130 -0
  302. data/vagrant-clone.gemspec +7 -7
  303. metadata +296 -5
  304. data/lib/vagrant-clone/command/errors.rb +0 -16
  305. data/lib/vagrant-clone/command/provider/docker.rb +0 -13
  306. data/lib/vagrant-clone/utils/vagrantfile_manager.rb +0 -47
@@ -0,0 +1,332 @@
1
+ # mariadb CHANGELOG
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
6
+
7
+ ## 1.5.1 (2017-05-02)
8
+
9
+ ### Fixed
10
+
11
+ - Remove check for chef-client running in local mode in the `galera` recipe which skips search - this prevents being able to search when using TK ([#160](https://github.com/sinfomicien/mariadb/pull/160))
12
+
13
+ ## 1.5.0 (2017-04-25)
14
+
15
+ ### Added
16
+
17
+ - Add the ability to set a custom wsrep_node_port, for when you want to specify a non default `wsrep_node_incoming_address` value ([#152](https://github.com/sinfomicien/mariadb/pull/152))
18
+
19
+ ## 1.4.0 (2017-04-21)
20
+
21
+ ### Fixed
22
+
23
+ - [#128](https://github.com/sinfomicien/mariadb/issues/128) solved, mysql-libs is prevented from being removed on newer CentOS versions causing Chef to break ([#153](https://github.com/sinfomicien/mariadb/pull/153))
24
+
25
+ ### Changed
26
+
27
+ - `mariadb_replication` rewritten as a custom resource ([#151](https://github.com/sinfomicien/mariadb/pull/151))
28
+
29
+ ### Removed
30
+
31
+ - Remove Fedora support, tested versions are long gone EOL and hard to support; only latest version has a repo on yum.mariadb.org
32
+
33
+ ## 1.3.0 (2017-03-20)
34
+
35
+ ### Added
36
+
37
+ - Add ability to enable and disable server audit logging ([#150](https://github.com/sinfomicien/mariadb/issues/150))
38
+
39
+ ## 1.2.0 (2017-03-15)
40
+
41
+ ### Added
42
+
43
+ - Add recipe and attributes to install using Software Collections (SCL) on RedHat family systems ([#149](https://github.com/sinfomicien/mariadb/issues/149))
44
+
45
+ ## 1.1.0 (2017-03-12)
46
+
47
+ ### Fixed
48
+
49
+ - Correctly set server-id and fixed replication provider `nil` string bug ([#118](https://github.com/sinfomicien/mariadb/issues/118))
50
+ - Make open-files-limit configurable (previously commented out in template) ([#118](https://github.com/sinfomicien/mariadb/issues/118))
51
+ - Fix package name for RedHat family distros using MariaDB 10.1 ([#138](https://github.com/sinfomicien/mariadb/issues/138))
52
+
53
+ ### Added
54
+
55
+ - Add ability to specify your own `gcomm://` address for Galera replication ([#139](https://github.com/sinfomicien/mariadb/issues/139))
56
+ - Add attribute containing `my.cnf` sections to configure to allow users to override what cookbook manages
57
+ - Add attributes to configure general and slow log options ([#137](https://github.com/sinfomicien/mariadb/issues/137))
58
+ - Add Docker CI tests (add new APT key to fix [#107](https://github.com/sinfomicien/mariadb/issues/107), add Supermarket version badge and change Travis badge to show master build status to README)
59
+ - Add Docker tests to Travis for smoke tests
60
+
61
+ ### Changed
62
+
63
+ - Change CHANGELOG format to follow [Keep a Changelog (v0.3.0)](http://keepachangelog.com/en/0.3.0/)
64
+ - Change `Chef search results` message log level to `debug` to remove unnecessary output ([#90](https://github.com/sinfomicien/mariadb/issues/90))
65
+ - Update Vagrant box names to match latest OS versions for testing with VirtualBox
66
+
67
+ ### Removed
68
+
69
+ - Remove Fedora platfrom from Test-Kitchen, not something we'll test on going forward
70
+ - Remove Ubuntu 12.04 LTS from Test-Kitchen, not something we'll test on going forward as it reaches EOL in one month
71
+
72
+ ## 1.0.1
73
+
74
+ ### Fixed
75
+
76
+ - Correct ServerSpec tests
77
+ - Correct some Units tests (Use ServerRunner instead of SoloRunner to test search)
78
+
79
+ ### Added
80
+
81
+ - Add an option to not install extra packages
82
+ - Update OS version to check with Kitchen
83
+
84
+ ## 1.0.0
85
+
86
+ ### Fixed
87
+
88
+ - Fix fetching apt key on every run bug ([#91](https://github.com/sinfomicien/mariadb/issues/91))
89
+ - Fix Foodcritic and RuboCop offences
90
+ - Fix ChefSpec tests (and adding more coverage)
91
+ - Fix some typos
92
+ - Fix CI
93
+ - Fix non-interpolated array
94
+ - Fix only_if
95
+ - Fix unary operator; ensure script exits on any error
96
+ - Prevent cookbook from crashing Chef < 12
97
+
98
+ ### Added
99
+
100
+ - Add support for configuring skip-name-resolve
101
+ - Add missing code to my.cnf template to deploy mysqld_safe options
102
+ - Add the ability to config skip-log-bin to be present
103
+ - Add MariaDB 10.1 and data bag support
104
+ - Add exception handling, when searching for data bag
105
+ - Add some mandatory attributes and minor fixes
106
+ - Add test for bin_log unset
107
+ - Add sensitive tag to execute statement
108
+ - Add support to disable binlog (by setting `log_bin` to `false`)
109
+
110
+ ### Changed
111
+
112
+ - Apply a more standard .gitignore
113
+ - Update chef components to more recent versions
114
+ - Update documentation for 'options' hash
115
+ - Use Berkshelf 4.x and RVM 2.1.7
116
+
117
+ ### Removed
118
+
119
+ - Remove anonymous users and test database by default
120
+
121
+ ## 0.3.3
122
+
123
+ ### Added
124
+
125
+ - Add the ability to configure `skip-log-bin` to be present ([#110](https://github.com/sinfomicien/mariadb/issues/110))
126
+
127
+ ## 0.3.2
128
+
129
+ ### Fixed
130
+
131
+ - Add missing code to `my.cnf` template to deploy `mysqld_safe` options ([#125](https://github.com/sinfomicien/mariadb/issues/125))
132
+
133
+ ### Added
134
+
135
+ - Add support for configuring skip-name-resolve ([#126](https://github.com/sinfomicien/mariadb/issues/126))
136
+
137
+ ## 0.3.1
138
+
139
+ ### Fixed
140
+
141
+ - Add user and password to correct debian-grants ([#57](https://github.com/sinfomicien/mariadb/issues/57))
142
+ - Correct service name inconsistency on CentOS 7 ([#68](https://github.com/sinfomicien/mariadb/issues/68))
143
+ - Fix directory permissions regression ([#73](https://github.com/sinfomicien/mariadb/issues/73))
144
+ - `mariadb_configuration` template uses current cookbook as template source ([#66](https://github.com/sinfomicien/mariadb/issues/66))
145
+ - Service is restarted every run if not localhost ([#76](https://github.com/sinfomicien/mariadb/issues/76))
146
+
147
+ ### Added
148
+
149
+ - Add Scientific Linux support ([#69](https://github.com/sinfomicien/mariadb/issues/69))
150
+ - Add a vagrant config to test a Galera cluster ([#64](https://github.com/sinfomicien/mariadb/issues/64))
151
+ - Add xtrabackup-v2 support for SST Method ([#71](https://github.com/sinfomicien/mariadb/issues/71))
152
+ - Allow Galera cluster nodes to be configured when using Chef Solo ([#62](https://github.com/sinfomicien/mariadb/issues/62))
153
+
154
+ ## 0.3.0
155
+
156
+ ### Added
157
+
158
+ - Add support for using operating system shipped mariadb packages
159
+
160
+ ## 0.2.12
161
+
162
+ ### Fixed
163
+
164
+ - Push gpg key adds through http/0 - Helps with firewalled installs ([#39](https://github.com/sinfomicien/mariadb/issues/39))
165
+ - Load the needed plugins at startup ([#48](https://github.com/sinfomicien/mariadb/issues/48))
166
+
167
+ ### Added
168
+
169
+ - Add cookbook attribute on configuration LWRP ([#46](https://github.com/sinfomicien/mariadb/issues/46))
170
+ - Allow to pass true for unary options ([#47](https://github.com/sinfomicien/mariadb/issues/47))
171
+
172
+ ## 0.2.11
173
+
174
+ ### Fixed
175
+
176
+ - Fix TypeError in the replication provider ([#43](https://github.com/sinfomicien/mariadb/issues/43))
177
+
178
+ ### Added
179
+
180
+ - Add CentOS support ([#38](https://github.com/sinfomicien/mariadb/issues/38))
181
+ - Add sensitive flag to resource that deal with passwords ([#40](https://github.com/sinfomicien/mariadb/issues/40))
182
+
183
+ ## 0.2.10
184
+
185
+ ### Fixed
186
+
187
+ - Audit Plugin test and installation - Correct bad notifies and stdout test
188
+
189
+ ## 0.2.9
190
+
191
+ ### Fixed
192
+
193
+ - Audit plugin installation can crash mariadb server ([#36](https://github.com/sinfomicien/mariadb/issues/36))
194
+
195
+ ## 0.2.8
196
+
197
+ ### Fixed
198
+
199
+ - Add a switch to not launch audit plugin install, when already installed ([#29](https://github.com/sinfomicien/mariadb/issues/29))
200
+ - Remove the `only_if` to mysql service ([#28](https://github.com/sinfomicien/mariadb/issues/28))
201
+ - When using Galera, nodes were not sorted, applying configuration change too often ([#30](https://github.com/sinfomicien/mariadb/issues/30))
202
+
203
+ ### Added
204
+
205
+ - Add more ChefSpec coverage ([#31](https://github.com/sinfomicien/mariadb/issues/31))
206
+ - Add a switch to separate server install and audit install when needed
207
+ - Add a RuboCop rule to allow line length to be 120 characters long
208
+
209
+ ## 0.2.7
210
+
211
+ ### Fixed
212
+
213
+ - Fix convert TypeError in the replication provider ([#24](https://github.com/sinfomicien/mariadb/issues/24))
214
+ - Data is now moved when `['mariadb']['mysqld']['datadir']` is changed ([#25](https://github.com/sinfomicien/mariadb/issues/25))
215
+
216
+ ### Added
217
+
218
+ - Add `audit_plugin` management ([#31](https://github.com/sinfomicien/mariadb/issues/31))
219
+
220
+ ## 0.2.6
221
+
222
+ ### Fixed
223
+
224
+ - Fix provider `mariadb_replication` compilation error ([#18](https://github.com/sinfomicien/mariadb/issues/18))
225
+
226
+ ### Added
227
+
228
+ - Complete CHANGELOG and correct README
229
+
230
+ ## 0.2.5
231
+
232
+ ### Fixed
233
+
234
+ - Fix the debian-sys-maint user creation/password change ([#12](https://github.com/sinfomicien/mariadb/issues/12))
235
+ - Fix the Galera root password preseed ([#11](https://github.com/sinfomicien/mariadb/issues/11))
236
+
237
+ ### Added
238
+
239
+ - Add a LWRP to manage replication slave ([#16](https://github.com/sinfomicien/mariadb/issues/16))
240
+ - Add attribute to set custom `apt_repository`'s' `base_url` ([#6](https://github.com/sinfomicien/mariadb/issues/6))
241
+ - Add new tests for the new features (Galera, development files install, replication LWRP)
242
+ - Add option to skip installing development files within client recipe ([#17](https://github.com/sinfomicien/mariadb/issues/17))
243
+ - Add CHANGELOG and add new feature explanations to README
244
+
245
+ ## 0.2.4
246
+
247
+ ### Fixed
248
+
249
+ - Fix FC004 broken rule ([#10](https://github.com/sinfomicien/mariadb/issues/10))
250
+ - Fix Foodcritic tests (add --epic-fail any to be sure it fails when a broken rule is detected) ([#9](https://github.com/sinfomicien/mariadb/issues/9))
251
+
252
+ ## 0.2.3
253
+
254
+ ### Fixed
255
+
256
+ - Fix management of the mysql root password ([#4](https://github.com/sinfomicien/mariadb/issues/4))
257
+
258
+ ### Added
259
+
260
+ - Add a lot of ChefSpec and kitchen/ServerSpec tests
261
+ - Add ability to add or remove root remote access via attribute ([#7](https://github.com/sinfomicien/mariadb/issues/7))
262
+ - Add immediate restart of the `mysql` service when port is changed ([#5](https://github.com/sinfomicien/mariadb/issues/5))
263
+ - Add more documentation
264
+
265
+ ## 0.2.2
266
+
267
+ ### Fixed
268
+
269
+ - Fix and add multiple tests
270
+ - Fix client install to add dev files
271
+ - Fix repository install under Debian family
272
+
273
+ ## 0.2.1
274
+
275
+ ### Added
276
+
277
+ - Add stove to package/publish cookbook (remove PaxHeaders)
278
+
279
+ ## 0.2.0
280
+
281
+ ### Fixed
282
+
283
+ - Correct the Documentation
284
+
285
+ ### Added
286
+
287
+ - Add a recipe to manage client only installation
288
+ - Add RPM/Yum management
289
+
290
+ ### Changed
291
+
292
+ - Refactor all tests to manage new platform (CentOS/RedHat/Fedora)
293
+ - Refactor the whole recipes list and management to ease it
294
+ - Rename the provider (from `extraconf` to `configuration`) and add matchers for it
295
+
296
+ ## 0.1.8
297
+
298
+ ### Added
299
+
300
+ - Add ignore-failure to debian-grants correct as it can break on initial setup
301
+
302
+ ## 0.1.7
303
+
304
+ ### Fixed
305
+
306
+ - Correct a typo (unnecessary call to `run_command`)
307
+
308
+ ## 0.1.6
309
+
310
+ ### Added
311
+
312
+ - Add new rspec tests
313
+ - Create Kitchen test suite
314
+ - Improve Galera configuration management
315
+
316
+ ## 0.1.5
317
+
318
+ ### Added
319
+
320
+ - Improve attributes management
321
+
322
+ ## 0.1.4
323
+
324
+ ### Added
325
+
326
+ - Adapt `galera55` recipe to use a generic galera recipe
327
+ - Improve documentation
328
+ - Use a generic Galera recipe to create the galera10 recipe
329
+
330
+ ## 0.1.0
331
+
332
+ - Initial release of mariadb
@@ -0,0 +1,225 @@
1
+ MariaDB Cookbook
2
+ ================
3
+
4
+ [![Build Status](https://travis-ci.org/sinfomicien/mariadb.svg?branch=master)](https://travis-ci.org/sinfomicien/mariadb) [![Cookbook Version](https://img.shields.io/cookbook/v/mariadb.svg)](https://supermarket.chef.io/cookbooks/mariadb)
5
+
6
+ Description
7
+ -----------
8
+
9
+ This cookbook contains all the stuffs to install and configure a mariadb server on a dpkg/apt compliant system (typically debian), or a rpm/yum compliant system (typically centos)
10
+
11
+
12
+ Requirements
13
+ ------------
14
+
15
+ #### repository
16
+ - `mariadb` - This cookbook need that you have a valid apt repository installed with the mariadb official packages
17
+
18
+ #### packages
19
+ - `percona-xtrabackup` - if you want to use the xtrabckup SST Auth for galera cluster.
20
+ - `socat` - if you want to use the xtrabckup SST Auth for galera cluster.
21
+ - `rsync` - if you want to use the rsync SST Auth for galera cluster.
22
+ - `debconf-utils` - if you use debian platform family.
23
+
24
+ #### operating system
25
+ - `debian` - this cookbook is fully tested on debian
26
+ - `ubuntu` - this cookbook is fully tested on ubuntu
27
+ - `centos` - this cookbook is fully tested on centos
28
+
29
+ Attributes
30
+ ----------
31
+
32
+ #### mariadb::default
33
+ <table>
34
+ <tr>
35
+ <th>Key</th>
36
+ <th>Type</th>
37
+ <th>Description</th>
38
+ <th>Default</th>
39
+ </tr>
40
+ <tr>
41
+ <td><tt>['mariadb']['install']['version']</tt></td>
42
+ <td>String</td>
43
+ <td>Version to install (currently 10.0 et 5.5)</td>
44
+ <td><tt>10.0</tt></td>
45
+ </tr>
46
+ <tr>
47
+ <td><tt>['mariadb']['use_default_repository']</tt></td>
48
+ <td>Boolean</td>
49
+ <td>Whether to install MariaDB default repository or not. If you don't have a local repo containing packages, put it to true</td>
50
+ <td><tt>false</tt></td>
51
+ </tr>
52
+ <tr>
53
+ <td><tt>['mariadb']['server_root_password']</tt></td>
54
+ <td>String</td>
55
+ <td>local root password</td>
56
+ <td><tt></tt></td>
57
+ </tr>
58
+ <tr>
59
+ <td><tt>['mariadb']['forbid_remote_root']</tt></td>
60
+ <td>Boolean</td>
61
+ <td>Whether to activate root remote access</td>
62
+ <td><tt>true</tt></td>
63
+ </tr>
64
+ <tr>
65
+ <td><tt>['mariadb']['allow_root_pass_change']</tt></td>
66
+ <td>Boolean</td>
67
+ <td>Whether to allow the recipe to change root password after the first install</td>
68
+ <td><tt>false</tt></td>
69
+ </tr>
70
+ <tr>
71
+ <td><tt>['mariadb']['client']['development_files']</tt></td>
72
+ <td>Boolean</td>
73
+ <td>Whether to install development files in client recipe</td>
74
+ <td><tt>true</tt></td>
75
+ </tr>
76
+ <tr>
77
+ <td><tt>['mariadb']['apt_repository']['base_url']</tt></td>
78
+ <td>String</td>
79
+ <td>The http base url to use when installing from default repository</td>
80
+ <td><tt>'ftp.igh.cnrs.fr/pub/mariadb/repo'</tt></td>
81
+ </tr>
82
+ <tr>
83
+ <td><tt>['mariadb']['install']['prefer_os_package']</tt></td>
84
+ <td>Boolean</td>
85
+ <td>Indicator for preferring use packages shipped by running os</td>
86
+ <td><tt>false</tt></td>
87
+ </tr>
88
+ <tr>
89
+ <td><tt>['mariadb']['install']['prefer_scl_package']</tt></td>
90
+ <td>Boolean</td>
91
+ <td>Indicator for preferring packages from software collections repository</td>
92
+ <td><tt>false</tt></td>
93
+ </tr>
94
+ </table>
95
+
96
+ Usage
97
+ -----
98
+
99
+ To install a default server for mariadb choose the version you want (MariaDB 5.5 or 10, galera or not), then call the recipe accordingly.
100
+
101
+ List of availables recipes:
102
+
103
+ - mariadb::default (just call server recipe with default options)
104
+ - mariadb::server
105
+ - mariadb::galera
106
+ - mariadb::client
107
+ - mariadb::devel
108
+
109
+ Please be ware that by default, the root password is empty! If you want have changed it use the `node['mariadb']['server_root_password']` attribute to put a correct value. And by default the remote root access is not activated. Use `node['mariadb']['forbid_remote_root']` attribute to change it.
110
+
111
+ Sometimes, the default apt repository used for apt does not work (see issue #6). In this case, you need to choose another mirror which worki (pick it from mariadb website), and put the http base url in the attribute `node['mariadb']['apt_repository']['base_url']`.
112
+
113
+ #### mariadb::galera
114
+
115
+ When installing the mariadb::galera on debian recipe, You have to take care of one specific attribute:
116
+ `node['mariadb']['debian']['password']` which default to 'please-change-me'
117
+ As wee need to have the same password for this user on the whole cluster nodes... We will change the default install one by the content of this attribute.
118
+
119
+ #### mariadb::client
120
+
121
+ By default this recipe installs the client, and all needed packages to develop client application. If you do not want to install development files when installing client package,
122
+ set the attribute `node['mariadb']['client']['development_files']` to false.
123
+
124
+ #### mariadb::devel
125
+
126
+ By default this recipe installs all needed packages to develop client application.
127
+
128
+ Providers
129
+ ----------
130
+
131
+ This recipe define 2 providers:
132
+ - `Chef::Provider::Mariadb::Configuration` shortcut resource `mariadb_configuration`
133
+
134
+ #### mariadb_configuration
135
+
136
+ Mainly use for internal purpose. You can use it to create a new configuration file into configuration dir. You have to define 2 variables `section` and `option`.
137
+ Where `section` is the configuration section, and `option` is a hash of key/value. The name of the resource is used as base for the filename.
138
+
139
+ Example:
140
+ ```ruby
141
+ mariadb_configuration 'fake' do
142
+ section 'mysqld'
143
+ option :innodb_buffer_pool_size => node['mysql']['innodb_buffer_pool_size'],
144
+ :innodb_flush_method => node['mysql']['innodb_flush_method']
145
+ end
146
+ ```
147
+ will become the file fake.cnf in the include dir (depend on your platform), which contain:
148
+ ```
149
+ [mysqld]
150
+ foo=bar
151
+ ```
152
+
153
+ If the value start with a '#', then it's considered as a comment, and the value is printed as is (without the key)
154
+
155
+ Example:
156
+ ```ruby
157
+ mariadb_configuration 'fake' do
158
+ section 'mysqld'
159
+ option :comment1 => '# Here i am',
160
+ :foo => bar
161
+ end
162
+ ```
163
+ will become the file fake.cnf in the include dir (depend on your platform), which contain:
164
+ ```
165
+ [mysqld]
166
+ # Here i am
167
+ foo=bar
168
+ ```
169
+
170
+ #### mariadb_replication
171
+
172
+ This LWRP is used to manage replication setup on a host. To use this LWRP, the node need to have the mysql binary installed (via the mariadb::client or mariadb::server or mariadb::galera recipe).
173
+ It have 4 actions:
174
+ - add - to add a new replication setup (become a slave)
175
+ - stop - to stop the slave replication
176
+ - start - to start the slave replication
177
+ - remove - to remove the slave replication configuration
178
+
179
+ The resource name need to be 'default' if your don't want to use a named connection (multi source replication in MariaDB 10).
180
+
181
+ So by default the provider try to use the local instance of mysql, with the current root and password set in attribute node['mariadb']['server_root_password']. If you want to change, you have to define `host`, `port`, `user` or `password`
182
+
183
+ ```ruby
184
+ mariadb_replication 'default' do
185
+ user 'root'
186
+ password 'fakepass'
187
+ host 'fakehost'
188
+ action :stop
189
+ end
190
+ ```
191
+ will stop the replication on the host `fakehost` using the user `root` and password `fakepass` to connect to.
192
+
193
+ When you add a replication configuration, you have to define at least 4 values `master_host`, `master_user`, `master_password` and `master_use_gtid`. And if you don't want the GTID support, you have to define also `master_log_file` and `master_log_pos`
194
+
195
+ Example:
196
+ ```ruby
197
+ mariadb_replication 'usefull_conn_name' do
198
+ master_host 'server1'
199
+ master_user 'slave_user'
200
+ master_password 'slave_password'
201
+ master_use_gtid 'current_pos'
202
+ action :add
203
+ end
204
+ ```
205
+
206
+ By default, resource doesn't change master if slave is running. If you want to let resource change slave settings for replication channel while slave is running use `change_master_while_running` property. When it's set to `true` slave settings will be changed
207
+ if either one of `master_host`, `master_port`, `master_user`, `master_password` and `master_use_gtid` was changed.
208
+
209
+ Changes of only `master_log_file` and/or `master_log_pos` don't affect server if slave is already configured.
210
+
211
+
212
+ Contributing
213
+ ------------
214
+
215
+ 1. Fork the repository on Github
216
+ 2. Create a named feature branch (like `add_component_x`)
217
+ 3. Write your change
218
+ 4. Write tests for your change (if applicable)
219
+ 5. Run the tests, ensuring they all pass
220
+ 6. Submit a Pull Request using Github
221
+
222
+ License and Authors
223
+ -------------------
224
+ Authors:
225
+ Nicolas Blanc <sinfomicien@gmail.com>