bebox 0.0.1

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 (402) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +78 -0
  3. data/Gemfile +3 -0
  4. data/Gemfile.lock +163 -0
  5. data/LICENSE +21 -0
  6. data/README.md +372 -0
  7. data/Rakefile +8 -0
  8. data/bebox.gemspec +40 -0
  9. data/bin/bebox +5 -0
  10. data/lib/bebox/cli.rb +42 -0
  11. data/lib/bebox/commands/commands_helper.rb +33 -0
  12. data/lib/bebox/commands/environment_commands.rb +46 -0
  13. data/lib/bebox/commands/general_commands.rb +24 -0
  14. data/lib/bebox/commands/node_commands.rb +68 -0
  15. data/lib/bebox/commands/prepare_commands.rb +59 -0
  16. data/lib/bebox/commands/project_commands.rb +44 -0
  17. data/lib/bebox/commands/provision_commands.rb +145 -0
  18. data/lib/bebox/environment.rb +114 -0
  19. data/lib/bebox/logger.rb +51 -0
  20. data/lib/bebox/node.rb +308 -0
  21. data/lib/bebox/profile.rb +102 -0
  22. data/lib/bebox/project.rb +259 -0
  23. data/lib/bebox/provision.rb +257 -0
  24. data/lib/bebox/role.rb +103 -0
  25. data/lib/bebox/version.rb +3 -0
  26. data/lib/bebox/wizards/environment_wizard.rb +45 -0
  27. data/lib/bebox/wizards/node_wizard.rb +163 -0
  28. data/lib/bebox/wizards/profile_wizard.rb +91 -0
  29. data/lib/bebox/wizards/project_wizard.rb +175 -0
  30. data/lib/bebox/wizards/provision_wizard.rb +80 -0
  31. data/lib/bebox/wizards/role_wizard.rb +97 -0
  32. data/lib/bebox.rb +2 -0
  33. data/lib/deb/puppet_3.6.0/augeas-lenses_0.10.0-0ubuntu4_all.deb +0 -0
  34. data/lib/deb/puppet_3.6.0/debconf-utils_1.5.42ubuntu1_all.deb +0 -0
  35. data/lib/deb/puppet_3.6.0/facter_2.0.1-1puppetlabs1_amd64.deb +0 -0
  36. data/lib/deb/puppet_3.6.0/hiera_1.3.2-1puppetlabs1_all.deb +0 -0
  37. data/lib/deb/puppet_3.6.0/libaugeas-ruby1.8_0.3.0-1.1ubuntu4_amd64.deb +0 -0
  38. data/lib/deb/puppet_3.6.0/libaugeas-ruby_0.3.0-1.1ubuntu4_all.deb +0 -0
  39. data/lib/deb/puppet_3.6.0/libaugeas0_0.10.0-0ubuntu4_amd64.deb +0 -0
  40. data/lib/deb/puppet_3.6.0/libjson-ruby_1.6.3-1_all.deb +0 -0
  41. data/lib/deb/puppet_3.6.0/libruby1.8_1.8.7.352-2ubuntu1.4_amd64.deb +0 -0
  42. data/lib/deb/puppet_3.6.0/libruby_4.8_all.deb +0 -0
  43. data/lib/deb/puppet_3.6.0/libshadow-ruby1.8_1.4.1-8build1_amd64.deb +0 -0
  44. data/lib/deb/puppet_3.6.0/puppet-common_3.6.0-1puppetlabs1_all.deb +0 -0
  45. data/lib/deb/puppet_3.6.0/puppet_3.6.0-1puppetlabs1_all.deb +0 -0
  46. data/lib/deb/puppet_3.6.0/ruby-json_1.6.3-1_amd64.deb +0 -0
  47. data/lib/deb/puppet_3.6.0/ruby-rgen_0.6.5-1puppetlabs1_all.deb +0 -0
  48. data/lib/deb/puppet_3.6.0/ruby1.8_1.8.7.352-2ubuntu1.4_amd64.deb +0 -0
  49. data/lib/deb/puppet_3.6.0/ruby_4.8_all.deb +0 -0
  50. data/lib/deb/puppet_3.6.0/virt-what_1.11-1_amd64.deb +0 -0
  51. data/lib/templates/node/Vagrantfile.erb +18 -0
  52. data/lib/templates/node/deploy_vagrant_node.erb +3 -0
  53. data/lib/templates/node/node.yml.erb +3 -0
  54. data/lib/templates/node/prepared_node.yml.erb +4 -0
  55. data/lib/templates/node/provisioned_node.yml.erb +4 -0
  56. data/lib/templates/project/Capfile.erb +2 -0
  57. data/lib/templates/project/Gemfile.erb +5 -0
  58. data/lib/templates/project/config/deploy/environment.erb +40 -0
  59. data/lib/templates/project/config/deploy/vagrant.erb +42 -0
  60. data/lib/templates/project/config/deploy.erb +120 -0
  61. data/lib/templates/project/dot_bebox.erb +4 -0
  62. data/lib/templates/project/gitignore.erb +7 -0
  63. data/lib/templates/project/ubuntu_dependencies +10 -0
  64. data/lib/templates/puppet/default_profiles/base/fundamental/ruby/Puppetfile +0 -0
  65. data/lib/templates/puppet/default_profiles/base/fundamental/ruby/manifests/init.pp +24 -0
  66. data/lib/templates/puppet/default_profiles/base/fundamental/sudo/Puppetfile +0 -0
  67. data/lib/templates/puppet/default_profiles/base/fundamental/sudo/manifests/init.pp +22 -0
  68. data/lib/templates/puppet/default_profiles/base/fundamental/users/Puppetfile +0 -0
  69. data/lib/templates/puppet/default_profiles/base/fundamental/users/manifests/init.pp +18 -0
  70. data/lib/templates/puppet/default_profiles/base/security/fail2ban/Puppetfile +2 -0
  71. data/lib/templates/puppet/default_profiles/base/security/fail2ban/manifests/init.pp +28 -0
  72. data/lib/templates/puppet/default_profiles/base/security/iptables/Puppetfile +2 -0
  73. data/lib/templates/puppet/default_profiles/base/security/iptables/manifests/init.pp +27 -0
  74. data/lib/templates/puppet/default_profiles/base/security/ssh/Puppetfile +2 -0
  75. data/lib/templates/puppet/default_profiles/base/security/ssh/manifests/init.pp +30 -0
  76. data/lib/templates/puppet/default_profiles/base/security/sysctl/Puppetfile +2 -0
  77. data/lib/templates/puppet/default_profiles/base/security/sysctl/manifests/init.pp +20 -0
  78. data/lib/templates/puppet/default_profiles/base/users/ssh/Puppetfile +2 -0
  79. data/lib/templates/puppet/default_profiles/base/users/ssh/manifests/init.pp +47 -0
  80. data/lib/templates/puppet/default_profiles/base/users/users/Puppetfile +0 -0
  81. data/lib/templates/puppet/default_profiles/base/users/users/manifests/init.pp +18 -0
  82. data/lib/templates/puppet/default_roles/fundamental/manifests/init.pp +16 -0
  83. data/lib/templates/puppet/default_roles/security/manifests/init.pp +17 -0
  84. data/lib/templates/puppet/default_roles/users/manifests/init.pp +15 -0
  85. data/lib/templates/puppet/profiles/Puppetfile.erb +24 -0
  86. data/lib/templates/puppet/profiles/manifests/init.pp.erb +17 -0
  87. data/lib/templates/puppet/roles/manifests/init.pp.erb +14 -0
  88. data/lib/templates/puppet/step-0/Puppetfile.erb +5 -0
  89. data/lib/templates/puppet/step-0/hiera/data/common.yaml.erb +26 -0
  90. data/lib/templates/puppet/step-0/hiera/data/environment.yaml.erb +26 -0
  91. data/lib/templates/puppet/step-0/hiera/data/node.yaml.erb +26 -0
  92. data/lib/templates/puppet/step-0/hiera/hiera.yaml.erb +11 -0
  93. data/lib/templates/puppet/step-0/manifests/node.erb +5 -0
  94. data/lib/templates/puppet/step-0/manifests/site.pp.erb +15 -0
  95. data/lib/templates/puppet/step-0/modules/rbenv/AUTHORS +11 -0
  96. data/lib/templates/puppet/step-0/modules/rbenv/CHANGELOG.md +70 -0
  97. data/lib/templates/puppet/step-0/modules/rbenv/Gemfile +8 -0
  98. data/lib/templates/puppet/step-0/modules/rbenv/Gemfile.lock +28 -0
  99. data/lib/templates/puppet/step-0/modules/rbenv/Modulefile +7 -0
  100. data/lib/templates/puppet/step-0/modules/rbenv/README.md +173 -0
  101. data/lib/templates/puppet/step-0/modules/rbenv/Rakefile +22 -0
  102. data/lib/templates/puppet/step-0/modules/rbenv/TODO +10 -0
  103. data/lib/templates/puppet/step-0/modules/rbenv/bin/autospec +16 -0
  104. data/lib/templates/puppet/step-0/modules/rbenv/bin/facter +16 -0
  105. data/lib/templates/puppet/step-0/modules/rbenv/bin/filebucket +16 -0
  106. data/lib/templates/puppet/step-0/modules/rbenv/bin/hiera +16 -0
  107. data/lib/templates/puppet/step-0/modules/rbenv/bin/htmldiff +16 -0
  108. data/lib/templates/puppet/step-0/modules/rbenv/bin/ldiff +16 -0
  109. data/lib/templates/puppet/step-0/modules/rbenv/bin/pi +16 -0
  110. data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet +16 -0
  111. data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet-lint +16 -0
  112. data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet-module +16 -0
  113. data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetca +16 -0
  114. data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetd +16 -0
  115. data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetdoc +16 -0
  116. data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetmasterd +16 -0
  117. data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetqd +16 -0
  118. data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetrun +16 -0
  119. data/lib/templates/puppet/step-0/modules/rbenv/bin/rake +16 -0
  120. data/lib/templates/puppet/step-0/modules/rbenv/bin/ralsh +16 -0
  121. data/lib/templates/puppet/step-0/modules/rbenv/bin/rspec +16 -0
  122. data/lib/templates/puppet/step-0/modules/rbenv/bin/rspec-puppet-init +16 -0
  123. data/lib/templates/puppet/step-0/modules/rbenv/lib/puppet/provider/rbenvgem/default.rb +50 -0
  124. data/lib/templates/puppet/step-0/modules/rbenv/lib/puppet/type/rbenvgem.rb +62 -0
  125. data/lib/templates/puppet/step-0/modules/rbenv/manifests/bundle.pp +36 -0
  126. data/lib/templates/puppet/step-0/modules/rbenv/manifests/client.pp +48 -0
  127. data/lib/templates/puppet/step-0/modules/rbenv/manifests/compile.pp +102 -0
  128. data/lib/templates/puppet/step-0/modules/rbenv/manifests/definition.pp +31 -0
  129. data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/centos.pp +25 -0
  130. data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/suse.pp +28 -0
  131. data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/ubuntu.pp +17 -0
  132. data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies.pp +8 -0
  133. data/lib/templates/puppet/step-0/modules/rbenv/manifests/gem.pp +29 -0
  134. data/lib/templates/puppet/step-0/modules/rbenv/manifests/install.pp +55 -0
  135. data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin/rbenvvars.pp +16 -0
  136. data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin/rubybuild.pp +16 -0
  137. data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin.pp +40 -0
  138. data/lib/templates/puppet/step-0/modules/rbenv/metadata.json +109 -0
  139. data/lib/templates/puppet/step-0/modules/rbenv/templates/Gemfile.erb +5 -0
  140. data/lib/templates/puppet/step-0/modules/rbenv/templates/dot.rbenvrc.erb +8 -0
  141. data/lib/templates/puppet/step-0/modules/stdlib/CHANGELOG.md +418 -0
  142. data/lib/templates/puppet/step-0/modules/stdlib/CONTRIBUTING.md +65 -0
  143. data/lib/templates/puppet/step-0/modules/stdlib/Gemfile +33 -0
  144. data/lib/templates/puppet/step-0/modules/stdlib/Gemfile.lock +166 -0
  145. data/lib/templates/puppet/step-0/modules/stdlib/LICENSE +19 -0
  146. data/lib/templates/puppet/step-0/modules/stdlib/Modulefile +11 -0
  147. data/lib/templates/puppet/step-0/modules/stdlib/README.markdown +1304 -0
  148. data/lib/templates/puppet/step-0/modules/stdlib/README_DEVELOPER.markdown +35 -0
  149. data/lib/templates/puppet/step-0/modules/stdlib/README_SPECS.markdown +7 -0
  150. data/lib/templates/puppet/step-0/modules/stdlib/RELEASE_PROCESS.markdown +24 -0
  151. data/lib/templates/puppet/step-0/modules/stdlib/Rakefile +18 -0
  152. data/lib/templates/puppet/step-0/modules/stdlib/checksums.json +349 -0
  153. data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/facter_dot_d.rb +202 -0
  154. data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/pe_version.rb +53 -0
  155. data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/puppet_vardir.rb +26 -0
  156. data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/root_home.rb +32 -0
  157. data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/util/puppet_settings.rb +21 -0
  158. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/abs.rb +36 -0
  159. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/any2array.rb +33 -0
  160. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/base64.rb +37 -0
  161. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/bool2num.rb +49 -0
  162. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/capitalize.rb +34 -0
  163. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/chomp.rb +35 -0
  164. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/chop.rb +37 -0
  165. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/concat.rb +41 -0
  166. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/count.rb +22 -0
  167. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/deep_merge.rb +44 -0
  168. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/defined_with_params.rb +35 -0
  169. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete.rb +46 -0
  170. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_at.rb +49 -0
  171. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_undef_values.rb +34 -0
  172. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_values.rb +26 -0
  173. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/difference.rb +36 -0
  174. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/dirname.rb +15 -0
  175. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/downcase.rb +33 -0
  176. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/empty.rb +28 -0
  177. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/ensure_packages.rb +35 -0
  178. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb +45 -0
  179. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/flatten.rb +33 -0
  180. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/floor.rb +25 -0
  181. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/fqdn_rotate.rb +46 -0
  182. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb +17 -0
  183. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/getparam.rb +35 -0
  184. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/getvar.rb +26 -0
  185. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/grep.rb +33 -0
  186. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_interface_with.rb +52 -0
  187. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_ip_address.rb +25 -0
  188. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_ip_network.rb +25 -0
  189. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_key.rb +28 -0
  190. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/hash.rb +41 -0
  191. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/intersection.rb +34 -0
  192. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_array.rb +22 -0
  193. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_bool.rb +22 -0
  194. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_domain_name.rb +50 -0
  195. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_float.rb +30 -0
  196. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_function_available.rb +26 -0
  197. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_hash.rb +22 -0
  198. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_integer.rb +45 -0
  199. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_ip_address.rb +32 -0
  200. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb +27 -0
  201. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb +75 -0
  202. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_string.rb +26 -0
  203. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/join.rb +41 -0
  204. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/join_keys_to_values.rb +47 -0
  205. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/keys.rb +26 -0
  206. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/loadyaml.rb +20 -0
  207. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/lstrip.rb +33 -0
  208. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/max.rb +21 -0
  209. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/member.rb +44 -0
  210. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/merge.rb +34 -0
  211. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/min.rb +21 -0
  212. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/num2bool.rb +43 -0
  213. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/parsejson.rb +24 -0
  214. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/parseyaml.rb +24 -0
  215. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/pick.rb +29 -0
  216. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/pick_default.rb +35 -0
  217. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/prefix.rb +45 -0
  218. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/range.rb +88 -0
  219. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/reject.rb +31 -0
  220. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/reverse.rb +28 -0
  221. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/rstrip.rb +32 -0
  222. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/shuffle.rb +46 -0
  223. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/size.rb +48 -0
  224. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/sort.rb +27 -0
  225. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/squeeze.rb +36 -0
  226. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/str2bool.rb +46 -0
  227. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/str2saltedsha512.rb +32 -0
  228. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/strftime.rb +107 -0
  229. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/strip.rb +39 -0
  230. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/suffix.rb +45 -0
  231. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/swapcase.rb +39 -0
  232. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/time.rb +49 -0
  233. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/to_bytes.rb +28 -0
  234. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/type.rb +50 -0
  235. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/union.rb +34 -0
  236. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/unique.rb +51 -0
  237. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/upcase.rb +41 -0
  238. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/uriescape.rb +35 -0
  239. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_absolute_path.rb +56 -0
  240. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_array.rb +33 -0
  241. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_augeas.rb +81 -0
  242. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_bool.rb +34 -0
  243. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_cmd.rb +48 -0
  244. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_hash.rb +33 -0
  245. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_ipv4_address.rb +48 -0
  246. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_ipv6_address.rb +49 -0
  247. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_re.rb +40 -0
  248. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_slength.rb +71 -0
  249. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_string.rb +33 -0
  250. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/values.rb +39 -0
  251. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/values_at.rb +98 -0
  252. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/zip.rb +65 -0
  253. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/provider/file_line/ruby.rb +83 -0
  254. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/type/anchor.rb +46 -0
  255. data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/type/file_line.rb +79 -0
  256. data/lib/templates/puppet/step-0/modules/stdlib/manifests/init.pp +20 -0
  257. data/lib/templates/puppet/step-0/modules/stdlib/manifests/stages.pp +43 -0
  258. data/lib/templates/puppet/step-0/modules/stdlib/metadata.json +111 -0
  259. data/lib/templates/puppet/step-0/modules/sudo/.fixtures.yml +5 -0
  260. data/lib/templates/puppet/step-0/modules/sudo/.gemfile +14 -0
  261. data/lib/templates/puppet/step-0/modules/sudo/.gemfile.lock +43 -0
  262. data/lib/templates/puppet/step-0/modules/sudo/.travis.yml +34 -0
  263. data/lib/templates/puppet/step-0/modules/sudo/LICENSE +13 -0
  264. data/lib/templates/puppet/step-0/modules/sudo/Modulefile +9 -0
  265. data/lib/templates/puppet/step-0/modules/sudo/README.md +171 -0
  266. data/lib/templates/puppet/step-0/modules/sudo/Rakefile +1 -0
  267. data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.aix +90 -0
  268. data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.archlinux +90 -0
  269. data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.deb +90 -0
  270. data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.freebsd +98 -0
  271. data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.omnios +90 -0
  272. data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.rhel5 +97 -0
  273. data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.rhel6 +115 -0
  274. data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.solaris +90 -0
  275. data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.suse +81 -0
  276. data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.ubuntu +30 -0
  277. data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.wheezy +17 -0
  278. data/lib/templates/puppet/step-0/modules/sudo/lib/augeas/lenses/fixedsudoers.aug +520 -0
  279. data/lib/templates/puppet/step-0/modules/sudo/manifests/allow.pp +76 -0
  280. data/lib/templates/puppet/step-0/modules/sudo/manifests/conf.pp +105 -0
  281. data/lib/templates/puppet/step-0/modules/sudo/manifests/configs.pp +24 -0
  282. data/lib/templates/puppet/step-0/modules/sudo/manifests/init.pp +151 -0
  283. data/lib/templates/puppet/step-0/modules/sudo/manifests/package/aix.pp +46 -0
  284. data/lib/templates/puppet/step-0/modules/sudo/manifests/package/solaris.pp +60 -0
  285. data/lib/templates/puppet/step-0/modules/sudo/manifests/package.pp +61 -0
  286. data/lib/templates/puppet/step-0/modules/sudo/manifests/params.pp +127 -0
  287. data/lib/templates/puppet/step-0/modules/sudo/metadata.json +59 -0
  288. data/lib/templates/puppet/step-0/modules/sudo/templates/users_groups.erb +9 -0
  289. data/lib/templates/puppet/step-0/modules/users/manifests/init.pp +15 -0
  290. data/lib/templates/puppet/step-0/modules/users/manifests/user.pp +50 -0
  291. data/lib/templates/puppet/step-1/Puppetfile.erb +5 -0
  292. data/lib/templates/puppet/step-1/hiera/data/common.yaml.erb +11 -0
  293. data/lib/templates/puppet/step-1/hiera/data/environment.yaml.erb +11 -0
  294. data/lib/templates/puppet/step-1/hiera/data/node.yaml.erb +11 -0
  295. data/lib/templates/puppet/step-1/hiera/hiera.yaml.erb +11 -0
  296. data/lib/templates/puppet/step-1/manifests/node.erb +5 -0
  297. data/lib/templates/puppet/step-1/manifests/site.pp.erb +15 -0
  298. data/lib/templates/puppet/step-1/modules/users/manifests/init.pp +15 -0
  299. data/lib/templates/puppet/step-1/modules/users/manifests/user.pp +49 -0
  300. data/lib/templates/puppet/step-2/Puppetfile.erb +5 -0
  301. data/lib/templates/puppet/step-2/hiera/data/common.yaml.erb +1 -0
  302. data/lib/templates/puppet/step-2/hiera/data/environment.yaml.erb +1 -0
  303. data/lib/templates/puppet/step-2/hiera/data/node.yaml.erb +1 -0
  304. data/lib/templates/puppet/step-2/hiera/hiera.yaml.erb +11 -0
  305. data/lib/templates/puppet/step-2/manifests/node.erb +3 -0
  306. data/lib/templates/puppet/step-2/manifests/site.pp.erb +10 -0
  307. data/lib/templates/puppet/step-3/Puppetfile.erb +5 -0
  308. data/lib/templates/puppet/step-3/hiera/data/common.yaml.erb +99 -0
  309. data/lib/templates/puppet/step-3/hiera/data/environment.yaml.erb +99 -0
  310. data/lib/templates/puppet/step-3/hiera/data/node.yaml.erb +99 -0
  311. data/lib/templates/puppet/step-3/hiera/hiera.yaml.erb +11 -0
  312. data/lib/templates/puppet/step-3/manifests/node.erb +5 -0
  313. data/lib/templates/puppet/step-3/manifests/site.pp.erb +15 -0
  314. data/spec/environment_spec.rb +82 -0
  315. data/spec/factories/environment.rb +20 -0
  316. data/spec/factories/node.rb +22 -0
  317. data/spec/factories/profile.rb +10 -0
  318. data/spec/factories/project.rb +17 -0
  319. data/spec/factories/provision.rb +13 -0
  320. data/spec/factories/role.rb +9 -0
  321. data/spec/fixtures/Capfile.test +2 -0
  322. data/spec/fixtures/Gemfile.test +5 -0
  323. data/spec/fixtures/config/deploy/environment.test +35 -0
  324. data/spec/fixtures/config/deploy/production.test +35 -0
  325. data/spec/fixtures/config/deploy/staging.test +35 -0
  326. data/spec/fixtures/config/deploy/vagrant.test +37 -0
  327. data/spec/fixtures/config/deploy.test +120 -0
  328. data/spec/fixtures/dot_bebox.test.erb +4 -0
  329. data/spec/fixtures/dot_gitignore.test +8 -0
  330. data/spec/fixtures/node/Vagrantfile.test.erb +18 -0
  331. data/spec/fixtures/node/node_0.test.erb +3 -0
  332. data/spec/fixtures/node/prepared_node_0.test.erb +4 -0
  333. data/spec/fixtures/node/provisioned_node_0.test.erb +4 -0
  334. data/spec/fixtures/node/vagrant_deploy.test +38 -0
  335. data/spec/fixtures/puppet/hiera/data/node0.server1.test.yaml.test +4 -0
  336. data/spec/fixtures/puppet/profiles/test/profile_0/Puppetfile.test +24 -0
  337. data/spec/fixtures/puppet/profiles/test/profile_0/Puppetfile_with_modules.test +20 -0
  338. data/spec/fixtures/puppet/profiles/test/profile_0/manifests/init.pp.test +17 -0
  339. data/spec/fixtures/puppet/profiles/test/profile_0/manifests/init_with_content.pp.test +22 -0
  340. data/spec/fixtures/puppet/roles/manifests/init.pp.test +14 -0
  341. data/spec/fixtures/puppet/steps/step-0/hiera/data/common.yaml.test +26 -0
  342. data/spec/fixtures/puppet/steps/step-0/hiera/data/node0.server1.test.yaml.test +0 -0
  343. data/spec/fixtures/puppet/steps/step-0/hiera/data/pname_env.yaml.test +26 -0
  344. data/spec/fixtures/puppet/steps/step-0/hiera/data/production.yaml.test +0 -0
  345. data/spec/fixtures/puppet/steps/step-0/hiera/data/staging.yaml.test +0 -0
  346. data/spec/fixtures/puppet/steps/step-0/hiera/data/vagrant.yaml.test +0 -0
  347. data/spec/fixtures/puppet/steps/step-0/hiera/hiera.yaml.test +11 -0
  348. data/spec/fixtures/puppet/steps/step-0/manifests/site.pp.test +10 -0
  349. data/spec/fixtures/puppet/steps/step-0/manifests/site_with_node.pp.test +15 -0
  350. data/spec/fixtures/puppet/steps/step-1/hiera/data/common.yaml.test +11 -0
  351. data/spec/fixtures/puppet/steps/step-1/hiera/data/node0.server1.test.yaml.test +0 -0
  352. data/spec/fixtures/puppet/steps/step-1/hiera/data/pname_env.yaml.test +11 -0
  353. data/spec/fixtures/puppet/steps/step-1/hiera/data/production.yaml.test +0 -0
  354. data/spec/fixtures/puppet/steps/step-1/hiera/data/staging.yaml.test +0 -0
  355. data/spec/fixtures/puppet/steps/step-1/hiera/data/vagrant.yaml.test +0 -0
  356. data/spec/fixtures/puppet/steps/step-1/hiera/hiera.yaml.test +11 -0
  357. data/spec/fixtures/puppet/steps/step-1/manifests/site.pp.test +10 -0
  358. data/spec/fixtures/puppet/steps/step-1/manifests/site_with_node.pp.test +15 -0
  359. data/spec/fixtures/puppet/steps/step-2/Puppetfile.test +6 -0
  360. data/spec/fixtures/puppet/steps/step-2/hiera/data/common.yaml.test +1 -0
  361. data/spec/fixtures/puppet/steps/step-2/hiera/data/node0.server1.test.yaml.test +1 -0
  362. data/spec/fixtures/puppet/steps/step-2/hiera/data/pname_env.yaml.test +1 -0
  363. data/spec/fixtures/puppet/steps/step-2/hiera/data/production.yaml.test +1 -0
  364. data/spec/fixtures/puppet/steps/step-2/hiera/data/staging.yaml.test +1 -0
  365. data/spec/fixtures/puppet/steps/step-2/hiera/data/vagrant.yaml.test +1 -0
  366. data/spec/fixtures/puppet/steps/step-2/hiera/hiera.yaml.test +11 -0
  367. data/spec/fixtures/puppet/steps/step-2/manifests/site.pp.test +10 -0
  368. data/spec/fixtures/puppet/steps/step-2/manifests/site_with_node.pp.test +13 -0
  369. data/spec/fixtures/puppet/steps/step-2/manifests/site_with_node_role_association.pp.test +16 -0
  370. data/spec/fixtures/puppet/steps/step-2/modules/profiles/manifests/test/profile_0.pp.test +17 -0
  371. data/spec/fixtures/puppet/steps/step-2/modules/roles/manifests/role_0.pp.test +16 -0
  372. data/spec/fixtures/puppet/steps/step-3/hiera/data/common.yaml.test +99 -0
  373. data/spec/fixtures/puppet/steps/step-3/hiera/data/node0.server1.test.yaml.test +1 -0
  374. data/spec/fixtures/puppet/steps/step-3/hiera/data/pname_env.yaml.test +99 -0
  375. data/spec/fixtures/puppet/steps/step-3/hiera/data/production.yaml.test +1 -0
  376. data/spec/fixtures/puppet/steps/step-3/hiera/data/staging.yaml.test +1 -0
  377. data/spec/fixtures/puppet/steps/step-3/hiera/data/vagrant.yaml.test +1 -0
  378. data/spec/fixtures/puppet/steps/step-3/hiera/hiera.yaml.test +11 -0
  379. data/spec/fixtures/puppet/steps/step-3/manifests/site.pp.test +10 -0
  380. data/spec/fixtures/puppet/steps/step-3/manifests/site_with_node.pp.test +15 -0
  381. data/spec/fixtures/puppet/ubuntu_dependencies.test +10 -0
  382. data/spec/node0.server1.test/prepare_phase_spec.rb +53 -0
  383. data/spec/node0.server1.test/provision_step_0_spec.rb +46 -0
  384. data/spec/node0.server1.test/provision_step_1_spec.rb +41 -0
  385. data/spec/node0.server1.test/provision_step_2_spec.rb +79 -0
  386. data/spec/node0.server1.test/provision_step_3_spec.rb +76 -0
  387. data/spec/node_role_spec.rb +20 -0
  388. data/spec/node_spec.rb +71 -0
  389. data/spec/node_wizard_spec.rb +22 -0
  390. data/spec/ordered_phases_spec.rb +55 -0
  391. data/spec/pre_prepare_spec.rb +78 -0
  392. data/spec/pre_provision_steps_spec.rb +40 -0
  393. data/spec/profile_spec.rb +70 -0
  394. data/spec/project_spec.rb +195 -0
  395. data/spec/project_wizard_spec.rb +51 -0
  396. data/spec/puppet_spec_helper.rb +15 -0
  397. data/spec/role_profiles_spec.rb +40 -0
  398. data/spec/role_spec.rb +56 -0
  399. data/spec/spec_helper.rb +37 -0
  400. data/spec/support/config_specs.yaml.example +2 -0
  401. data/spec/vagrant_spec_helper.rb +15 -0
  402. metadata +625 -0
@@ -0,0 +1,7 @@
1
+ .vagrant/
2
+ .bundle/
3
+ .checkpoints/
4
+ config/keys/
5
+ <% steps.each do |step_name| %>
6
+ puppet/steps/<%=step_name%>/hiera/data/
7
+ <% end %>
@@ -0,0 +1,10 @@
1
+ git-core
2
+ build-essential
3
+ curl
4
+ whois
5
+ openssl
6
+ libxslt1-dev
7
+ autoconf
8
+ bison
9
+ libreadline5
10
+ libsqlite3-dev
@@ -0,0 +1,24 @@
1
+ # The profile class include the classes instantiation or
2
+ # puppet/modules type resource definitions.
3
+ # It can include hiera calls for the parametter setting.
4
+ # Example:
5
+ # class profiles::category::technology {
6
+ # $technology_parameters = hiera("technology")
7
+ # $parameter1 = technology_parameters[parameter1]
8
+ # ...
9
+ # class { "technology_resource":
10
+ # parameter1 => $parameter1
11
+ # ...
12
+ # }
13
+ # }
14
+
15
+ class profiles::base::fundamental::ruby {
16
+ # Get rbenv options from hiera
17
+ $rbenv_install_hash = { 'rbenv_install' => hiera('rbenv::install', {}) }
18
+ $rbenv_compile_hash = hiera('rbenv::compile', {})
19
+ $rbenv_gem_hash = hiera('rbenv::gem', {})
20
+ # Install rbenv, ruby version and gems from options
21
+ create_resources('rbenv::install', $rbenv_install_hash)
22
+ create_resources('rbenv::compile', $rbenv_compile_hash)
23
+ create_resources('rbenv::gem', $rbenv_gem_hash)
24
+ }
@@ -0,0 +1,22 @@
1
+ # The profile class include the classes instantiation or
2
+ # puppet/modules type resource definitions.
3
+ # It can include hiera calls for the parametter setting.
4
+ # Example:
5
+ # class profiles::category::technology {
6
+ # $technology_parameters = hiera("technology")
7
+ # $parameter1 = technology_parameters[parameter1]
8
+ # ...
9
+ # class { "technology_resource":
10
+ # parameter1 => $parameter1
11
+ # ...
12
+ # }
13
+ # }
14
+
15
+ class profiles::base::fundamental::sudo {
16
+ include stdlib
17
+ # Module takes sudo users from hiera
18
+ class { '::sudo':
19
+ purge => false,
20
+ config_file_replace => false,
21
+ }
22
+ }
@@ -0,0 +1,18 @@
1
+ # The profile class include the classes instantiation or
2
+ # puppet/modules type resource definitions.
3
+ # It can include hiera calls for the parametter setting.
4
+ # Example:
5
+ # class profiles::category::technology {
6
+ # $technology_parameters = hiera("technology")
7
+ # $parameter1 = technology_parameters[parameter1]
8
+ # ...
9
+ # class { "technology_resource":
10
+ # parameter1 => $parameter1
11
+ # ...
12
+ # }
13
+ # }
14
+
15
+ class profiles::base::fundamental::users {
16
+ # Module users internally load parameters from hiera
17
+ include ::users
18
+ }
@@ -0,0 +1,2 @@
1
+
2
+ mod "netmanagers/fail2ban", '1.4.0'
@@ -0,0 +1,28 @@
1
+ # The profile class include the classes instantiation or
2
+ # puppet/modules type resource definitions.
3
+ # It can include hiera calls for the parametter setting.
4
+ # Example:
5
+ # class profiles::category::technology {
6
+ # $technology_parameters = hiera("technology")
7
+ # $parameter1 = technology_parameters[parameter1]
8
+ # ...
9
+ # class { "technology_resource":
10
+ # parameter1 => $parameter1
11
+ # ...
12
+ # }
13
+ # }
14
+
15
+ class profiles::base::security::fail2ban {
16
+ # Obtain fail2ban parameters from hiera
17
+ $fail2ban_parameters = hiera('fail2ban', {})
18
+ $bantime = $fail2ban_parameters[bantime]
19
+ $maxretry = $fail2ban_parameters[maxretry]
20
+ $mailto = $fail2ban_parameters[destemail]
21
+
22
+ # Instance the fail2ban class with hiera parameters
23
+ class { '::fail2ban':
24
+ bantime => $bantime,
25
+ maxretry => $maxretry,
26
+ mailto => $mailto,
27
+ }
28
+ }
@@ -0,0 +1,2 @@
1
+
2
+ mod "puppetlabs/firewall", '1.0.2'
@@ -0,0 +1,27 @@
1
+ # The profile class include the classes instantiation or
2
+ # puppet/modules type resource definitions.
3
+ # It can include hiera calls for the parametter setting.
4
+ # Example:
5
+ # class profiles::category::technology {
6
+ # $technology_parameters = hiera("technology")
7
+ # $parameter1 = technology_parameters[parameter1]
8
+ # ...
9
+ # class { "technology_resource":
10
+ # parameter1 => $parameter1
11
+ # ...
12
+ # }
13
+ # }
14
+
15
+ class profiles::base::security::iptables {
16
+ # Make the rules persist after shutdown
17
+ package { 'iptables-persistent':
18
+ ensure => present
19
+ }
20
+ resources { "firewall":
21
+ purge => true,
22
+ require => Package['iptables-persistent'],
23
+ }
24
+ # Obtain iptables parameters from hiera and create firewall rules
25
+ $firewall_rules_hash = hiera('firewall', {})
26
+ create_resources('firewall', $firewall_rules_hash)
27
+ }
@@ -0,0 +1,2 @@
1
+
2
+ mod "attachmentgenie/ssh", '1.3.1'
@@ -0,0 +1,30 @@
1
+ # The profile class include the classes instantiation or
2
+ # puppet/modules type resource definitions.
3
+ # It can include hiera calls for the parametter setting.
4
+ # Example:
5
+ # class profiles::category::technology {
6
+ # $technology_parameters = hiera("technology")
7
+ # $parameter1 = technology_parameters[parameter1]
8
+ # ...
9
+ # class { "technology_resource":
10
+ # parameter1 => $parameter1
11
+ # ...
12
+ # }
13
+ # }
14
+
15
+ class profiles::base::security::ssh {
16
+ # Obtain ssh parameters from hiera
17
+ $ssh_parameters = hiera('ssh::server', {})
18
+ $port = $ssh_parameters[port]
19
+ $password_authentication = $ssh_parameters[password_authentication]
20
+ $pubkey_authentication = $ssh_parameters[pubkey_authentication]
21
+ $permit_root_login = $ssh_parameters[permit_root_login]
22
+
23
+ # Instance the ssh::server class with hiera parameters
24
+ class { '::ssh::server':
25
+ port => $port,
26
+ password_authentication => $password_authentication,
27
+ pubkey_authentication => $pubkey_authentication,
28
+ permit_root_login => $permit_root_login,
29
+ }
30
+ }
@@ -0,0 +1,2 @@
1
+
2
+ mod "thias/sysctl", '0.3.1'
@@ -0,0 +1,20 @@
1
+ # The profile class include the classes instantiation or
2
+ # puppet/modules type resource definitions.
3
+ # It can include hiera calls for the parametter setting.
4
+ # Example:
5
+ # class profiles::category::technology {
6
+ # $technology_parameters = hiera("technology")
7
+ # $parameter1 = technology_parameters[parameter1]
8
+ # ...
9
+ # class { "technology_resource":
10
+ # parameter1 => $parameter1
11
+ # ...
12
+ # }
13
+ # }
14
+
15
+ class profiles::base::security::sysctl {
16
+ # Obtain sysctl rules from hiera
17
+ $sysctl_values_hash = hiera('sysctl', {})
18
+ # Set sysctl rules
19
+ create_resources('sysctl', $sysctl_values_hash)
20
+ }
@@ -0,0 +1,2 @@
1
+
2
+ mod "saz/ssh", '2.3.6'
@@ -0,0 +1,47 @@
1
+ # The profile class include the classes instantiation or
2
+ # puppet/modules type resource definitions.
3
+ # It can include hiera calls for the parametter setting.
4
+ # Example:
5
+ # class profiles::category::technology {
6
+ # $technology_parameters = hiera("technology")
7
+ # $parameter1 = technology_parameters[parameter1]
8
+ # ...
9
+ # class { "technology_resource":
10
+ # parameter1 => $parameter1
11
+ # ...
12
+ # }
13
+ # }
14
+
15
+ class profiles::base::users::ssh {
16
+ # Configure agent forwarding for application user
17
+ $ssh_forwarding_hash = hiera_hash('ssh::client_rules', {})
18
+ class { '::ssh::client':
19
+ storeconfigs_enabled => false,
20
+ options => $ssh_forwarding_hash
21
+ }
22
+ }
23
+
24
+ # define profiles::users::get_forwarding_rules (
25
+ # $ssh_forwarding_hash = {},
26
+ # ) {
27
+ # $forwarding_hosts = {}
28
+ # each($ssh_forwarding_hash) |$user, $user_forwarding_hash| {
29
+ # $hosts = $user_forwarding_hash[hosts]
30
+ # each($hosts) |$host, $value| {
31
+ # $host_hash = { "Host $host" => { 'User' => $user, 'ForwardAgent' => $value, 'StrictHostKeyChecking' => 'no' } }
32
+ # $forwarding_hosts += $host_hash
33
+ # }
34
+ # }
35
+ # profiles::users::forwarding { 'forwardinghosts':
36
+ # forwarding_hosts => $forwarding_hosts,
37
+ # }
38
+ # }
39
+
40
+ # define profiles::users::forwarding (
41
+ # $forwarding_hosts = {},
42
+ # ){
43
+ # class { 'ssh::client':
44
+ # storeconfigs_enabled => false,
45
+ # options => $forwarding_hosts
46
+ # }
47
+ # }
@@ -0,0 +1,18 @@
1
+ # The profile class include the classes instantiation or
2
+ # puppet/modules type resource definitions.
3
+ # It can include hiera calls for the parametter setting.
4
+ # Example:
5
+ # class profiles::category::technology {
6
+ # $technology_parameters = hiera("technology")
7
+ # $parameter1 = technology_parameters[parameter1]
8
+ # ...
9
+ # class { "technology_resource":
10
+ # parameter1 => $parameter1
11
+ # ...
12
+ # }
13
+ # }
14
+
15
+ class profiles::base::users::users {
16
+ # Module users internally load parameters from hiera
17
+ include ::users
18
+ }
@@ -0,0 +1,16 @@
1
+ # The role class can include many profiles
2
+ # Example:
3
+ # class roles::example_role {
4
+ # include profiles::category::example_profile_1
5
+ # include profiles::category::example_profile_2
6
+ # ...
7
+ # include profiles::category::example_profile_N
8
+ # }
9
+ # The profiles can be added/removed to the role manually or through the
10
+ # 'bebox role add_profile' and 'bebox role remove_profile' commands.
11
+
12
+ class roles::fundamental {
13
+ include profiles::base::fundamental::ruby
14
+ include profiles::base::fundamental::sudo
15
+ include profiles::base::fundamental::users
16
+ }
@@ -0,0 +1,17 @@
1
+ # The role class can include many profiles
2
+ # Example:
3
+ # class roles::example_role {
4
+ # include profiles::category::example_profile_1
5
+ # include profiles::category::example_profile_2
6
+ # ...
7
+ # include profiles::category::example_profile_N
8
+ # }
9
+ # The profiles can be added/removed to the role manually or through the
10
+ # 'bebox role add_profile' and 'bebox role remove_profile' commands.
11
+
12
+ class roles::security {
13
+ include profiles::base::security::fail2ban
14
+ include profiles::base::security::iptables
15
+ include profiles::base::security::ssh
16
+ include profiles::base::security::sysctl
17
+ }
@@ -0,0 +1,15 @@
1
+ # The role class can include many profiles
2
+ # Example:
3
+ # class roles::example_role {
4
+ # include profiles::category::example_profile_1
5
+ # include profiles::category::example_profile_2
6
+ # ...
7
+ # include profiles::category::example_profile_N
8
+ # }
9
+ # The profiles can be added/removed to the role manually or through the
10
+ # 'bebox role add_profile' and 'bebox role remove_profile' commands.
11
+
12
+ class roles::users {
13
+ include profiles::base::users::users
14
+ include profiles::base::users::ssh
15
+ }
@@ -0,0 +1,24 @@
1
+ # Bebox template for the profiles.
2
+
3
+ # For modules loaded from forge puppetlabs
4
+ # mod 'organization/module_name', 'version'
5
+ # example: mod "puppetlabs/nginx", '1.0.0'
6
+
7
+ # For modules loaded from github releases tarball
8
+ # mod "organization/module_name", :git => "git_url", :ref => 'v1.0.0'
9
+ # mod "organization/module_name", :git => "git_url", :ref => 'branch_name'
10
+ # example: mod "jfryman/nginx", :git => "git://github.com/jfryman/puppet-nginx.git", :ref => 'v0.0.9'
11
+ # example: mod "jfryman/nginx", :git => "git://github.com/jfryman/puppet-nginx.git", :ref => 'master'
12
+
13
+
14
+ # This are some common modules we have used and works well.
15
+ # You can uncomment for use it or can add new ones.
16
+
17
+ # mod "alup/rbenv", '1.2.0'
18
+ # mod "jfryman/nginx", '0.0.9'
19
+ # mod "dwerder/redis", '1.1.0'
20
+ # mod "puppetlabs/mysql", '2.2.3'
21
+ # mod "akumria/postgresql", '1.2.0'
22
+ # mod "dwerder/mongodb", '3.3.1'
23
+ # mod "mwillbanks/newrelic", '0.1.0'
24
+ # mod "dhoppe/postfix", :git => "git://github.com/dhoppe/puppet-postfix.git", :ref => '3.0.x'
@@ -0,0 +1,17 @@
1
+ # The profile class include the classes instantiation or
2
+ # puppet/modules type resource definitions.
3
+ # It can include hiera calls for the parametter setting.
4
+ # Example:
5
+ # class profiles::category::technology {
6
+ # $technology_parameters = hiera("technology")
7
+ # $parameter1 = technology_parameters[parameter1]
8
+ # ...
9
+ # class { "technology_resource":
10
+ # parameter1 => $parameter1
11
+ # ...
12
+ # }
13
+ # }
14
+
15
+ class profiles::<%=profile.namespace_name%> {
16
+
17
+ }
@@ -0,0 +1,14 @@
1
+ # The role class can include many profiles
2
+ # Example:
3
+ # class roles::example_role {
4
+ # include profiles::category::example_profile_1
5
+ # include profiles::category::example_profile_2
6
+ # ...
7
+ # include profiles::category::example_profile_N
8
+ # }
9
+ # The profiles can be added/removed to the role manually or through the
10
+ # 'bebox role add_profile' and 'bebox role remove_profile' commands.
11
+
12
+ class roles::<%=role.name%> {
13
+
14
+ }
@@ -0,0 +1,5 @@
1
+ forge "https://forgeapi.puppetlabs.com"
2
+
3
+ <% profile_modules.each do |puppet_module| %>
4
+ <%="#{puppet_module}\n"%>
5
+ <% end %>
@@ -0,0 +1,26 @@
1
+ user_accounts:
2
+ - name: 'puppet'
3
+ email: ''
4
+ key: '<%= ssh_key %>'
5
+ uid: 7000
6
+ sudo::configs:
7
+ 'puppet':
8
+ ensure: 'present'
9
+ content: '%puppet ALL=(ALL) NOPASSWD: ALL'
10
+ priority: 10
11
+ rbenv::install:
12
+ user: 'puppet'
13
+ group: 'puppet'
14
+ home: '/home/puppet'
15
+ rbenv::compile:
16
+ "1.9.3-p327":
17
+ user: "puppet"
18
+ home: "/home/puppet"
19
+ global: true
20
+ rbenv::gem:
21
+ 'puppet':
22
+ user: 'puppet'
23
+ ruby: '1.9.3-p327'
24
+ 'librarian-puppet':
25
+ user: 'puppet'
26
+ ruby: '1.9.3-p327'
@@ -0,0 +1,26 @@
1
+ user_accounts:
2
+ - name: 'puppet'
3
+ email: ''
4
+ key: '<%= ssh_key %>'
5
+ uid: 7000
6
+ sudo::configs:
7
+ 'puppet':
8
+ ensure: 'present'
9
+ content: '%puppet ALL=(ALL) NOPASSWD: ALL'
10
+ priority: 10
11
+ rbenv::install:
12
+ user: 'puppet'
13
+ group: 'puppet'
14
+ home: '/home/puppet'
15
+ rbenv::compile:
16
+ "1.9.3-p327":
17
+ user: "puppet"
18
+ home: "/home/puppet"
19
+ global: true
20
+ rbenv::gem:
21
+ 'puppet':
22
+ user: 'puppet'
23
+ ruby: '1.9.3-p327'
24
+ 'librarian-puppet':
25
+ user: 'puppet'
26
+ ruby: '1.9.3-p327'
@@ -0,0 +1,26 @@
1
+ user_accounts:
2
+ - name: 'puppet'
3
+ email: ''
4
+ key: '<%= ssh_key %>'
5
+ uid: 7000
6
+ sudo::configs:
7
+ 'puppet':
8
+ ensure: 'present'
9
+ content: '%puppet ALL=(ALL) NOPASSWD: ALL'
10
+ priority: 10
11
+ rbenv::install:
12
+ user: 'puppet'
13
+ group: 'puppet'
14
+ home: '/home/puppet'
15
+ rbenv::compile:
16
+ "1.9.3-p327":
17
+ user: "puppet"
18
+ home: "/home/puppet"
19
+ global: true
20
+ rbenv::gem:
21
+ 'puppet':
22
+ user: 'puppet'
23
+ ruby: '1.9.3-p327'
24
+ 'librarian-puppet':
25
+ user: 'puppet'
26
+ ruby: '1.9.3-p327'
@@ -0,0 +1,11 @@
1
+ # Important note: This file is empty.
2
+ # /etc/puppet/hiera.yml is used by default.
3
+ # deploy_user and deploy_environment is set in the puppet apply command executed by capistrano
4
+ :backends: yaml
5
+ :yaml:
6
+ :datadir: %{::deploy_to}/current/steps/<%=step_dir%>/hiera/data
7
+ :hierarchy:
8
+ - %{::fqdn}
9
+ - %{::deploy_environment}
10
+ - common
11
+ :logger: console
@@ -0,0 +1,5 @@
1
+ node <%= node.hostname %> {
2
+
3
+ include roles::fundamental
4
+
5
+ }
@@ -0,0 +1,15 @@
1
+ # This file associates nodes with roles
2
+ # Example:
3
+ # node node0.server1.test {
4
+ # include roles::role_1
5
+ # }
6
+ # The roles and profiles pattern recommends to associate one node with
7
+ # one and only one role.
8
+ # The role can be set to the node manually or through the
9
+ # 'bebox node set_role' command.
10
+
11
+ <% nodes.each do |node| %>
12
+ node <%= node.hostname %> {
13
+ include roles::fundamental
14
+ }
15
+ <% end %>
@@ -0,0 +1,11 @@
1
+ Andreas Loupasakis
2
+ Chiel Kunkels
3
+ Fabio Rehm
4
+ Jason Gill
5
+ Jonathan Owens
6
+ LStuker
7
+ Marcello Barnaba
8
+ Mislav Marohnić
9
+ Nic Benders
10
+ Stratos Pavlakis
11
+ emyl
@@ -0,0 +1,70 @@
1
+ # Changelog
2
+
3
+ ## 1.2.0
4
+
5
+ - Pass --disable-install-doc configure option by default to rbenv::compile (by Jonathan Owens)
6
+ - Use cache folder for rbenv installations to benefit from
7
+ https://github.com/sstephenson/ruby-build/pull/232
8
+
9
+ ## 1.1.0
10
+
11
+ - Use .profile as the default rc file and let the user override it.
12
+ (This choice is preferred than bashrc because login shells do not read .bashrc file.)
13
+ - Fix the usage of ruby interpreter during gem execution environment in
14
+ rbenvgem provider.
15
+ - Use rbenv::gem to install bundler inside proper ruby environment.
16
+ - Fix class name for rbenv dependencies.
17
+
18
+ ## 1.0.0
19
+
20
+ - Support for installation of rbenv plugins (Special thanks to @fgrehm - Fabio
21
+ Rehm)
22
+ * Implemented rbenv::plugin
23
+ * Moved ruby-build to rbenv::plugin::rubybuild
24
+ * Implemented rbenv::plugin::rbenvvars
25
+ - Support for custom ruby build definitions (by Fabio Rehm)
26
+ - Refactored test suite related to the major changes (by Mislav Marohnic)
27
+ - Added bundle resource to bundle install inside a client directory (by
28
+ Marcello Barnaba)
29
+ - Added a client resource defining an user that shares an rbenv
30
+ installation. (by Marcello Barnaba)
31
+ - Major rewrite of the core parts (Special thanks to @vjt - Marcello
32
+ Barnaba)
33
+ * Rbenv class has been removed and replaced by defines for
34
+ installation, compilation etc.
35
+ * Refactor gem installation. Implemented rubygems provider, type etc.
36
+ - Added SuSE dependencies.
37
+ - Implemented gem installation capabilities (rbenv::gem first iteration by newrelic team).
38
+ - Support multiple users with different rbenvs (by newrelic guys).
39
+
40
+ ## 0.3.1
41
+
42
+ - Fix escape string for PATH environment variable [GH-11]
43
+
44
+ ## 0.3.0
45
+
46
+ - Add option to set group of the user [GH-9]
47
+ - Add option to set user home
48
+
49
+ ## 0.2.0
50
+
51
+ - CentOS, Redhat compatibility [GH-5]
52
+ - Allow per user installation (several users on a single machine can have rbenv
53
+ setup for them) [GH-5]
54
+ - Provide a more generic approach. Now the root user can be used, too.
55
+
56
+ ## 0.1.0
57
+
58
+ - Move install to a define and provide more parameterization.
59
+ WARNING! This is a major changeset and it is not compatible with previous
60
+ versions. This will be included in a new minor version.
61
+
62
+ ## 0.0.2
63
+
64
+ - Handle dependencies based on platform.
65
+ - Add specs and basic testing structures.
66
+
67
+ ## 0.0.1
68
+
69
+ - Hello World
70
+
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ version = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : ['>= 2.7']
4
+
5
+ gem 'puppet', version
6
+ gem 'rspec-puppet'
7
+ gem 'puppet-lint'
8
+ gem 'rake'
@@ -0,0 +1,28 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ diff-lcs (1.1.3)
5
+ facter (1.6.11)
6
+ puppet (2.7.18)
7
+ facter (~> 1.5)
8
+ puppet-lint (0.1.13)
9
+ rake (0.9.2.2)
10
+ rspec (2.11.0)
11
+ rspec-core (~> 2.11.0)
12
+ rspec-expectations (~> 2.11.0)
13
+ rspec-mocks (~> 2.11.0)
14
+ rspec-core (2.11.1)
15
+ rspec-expectations (2.11.2)
16
+ diff-lcs (~> 1.1.3)
17
+ rspec-mocks (2.11.1)
18
+ rspec-puppet (0.1.4)
19
+ rspec
20
+
21
+ PLATFORMS
22
+ ruby
23
+
24
+ DEPENDENCIES
25
+ puppet (>= 2.7)
26
+ puppet-lint
27
+ rake
28
+ rspec-puppet
@@ -0,0 +1,7 @@
1
+ name 'alup-rbenv'
2
+ version '1.2.0'
3
+ author 'alup'
4
+ license 'MIT'
5
+ summary 'rbenv Ruby Version Manager module'
6
+ description 'Puppet module for rbenv Ruby Version Manager'
7
+ project_page 'https://github.com/alup/puppet-rbenv'