freighthop 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (322) hide show
  1. data/Puppetfile +4 -3
  2. data/Puppetfile.lock +14 -2
  3. data/Vagrantfile +5 -1
  4. data/data/common.json +4 -3
  5. data/freighthop.gemspec +1 -1
  6. data/lib/freighthop/cli/checks.rb +12 -0
  7. data/lib/freighthop/cli/help.rb +7 -0
  8. data/lib/freighthop/cli/init.rb +35 -0
  9. data/lib/freighthop/cli/ssh.rb +1 -0
  10. data/lib/freighthop/cli/vagrant.rb +1 -0
  11. data/lib/freighthop/cli.rb +5 -17
  12. data/lib/freighthop/config.rb +5 -1
  13. data/lib/freighthop/version.rb +1 -1
  14. data/lib/freighthop.rb +6 -1
  15. data/local_modules/freighthop/manifests/database/mysql/grant.pp +11 -0
  16. data/local_modules/freighthop/manifests/database/mysql.pp +5 -15
  17. data/local_modules/freighthop/manifests/database/postgres.pp +2 -2
  18. data/local_modules/freighthop/manifests/database.pp +3 -3
  19. data/local_modules/freighthop/manifests/init.pp +6 -23
  20. data/local_modules/freighthop/manifests/language/ruby.pp +5 -25
  21. data/local_modules/freighthop/manifests/language.pp +1 -4
  22. data/local_modules/freighthop/manifests/packages.pp +2 -12
  23. data/local_modules/freighthop/manifests/params.pp +19 -11
  24. data/local_modules/freighthop/manifests/web/apache.pp +60 -0
  25. data/local_modules/freighthop/manifests/web/nginx.pp +22 -0
  26. data/local_modules/freighthop/manifests/web/ssl.pp +13 -0
  27. data/local_modules/freighthop/manifests/web.pp +25 -21
  28. data/local_modules/freighthop/templates/apache/passenger.conf.erb +18 -0
  29. data/local_modules/freighthop/templates/nginx/vagrant-rails.conf.erb +5 -3
  30. data/modules/apache/CHANGELOG.md +172 -0
  31. data/modules/apache/CONTRIBUTING.md +234 -0
  32. data/modules/apache/Gemfile +25 -0
  33. data/modules/apache/LICENSE +15 -0
  34. data/modules/apache/Modulefile +12 -0
  35. data/modules/apache/README.md +1515 -0
  36. data/modules/apache/README.passenger.md +93 -0
  37. data/modules/apache/Rakefile +1 -0
  38. data/modules/apache/files/httpd +24 -0
  39. data/modules/apache/lib/puppet/provider/a2mod/a2mod.rb +35 -0
  40. data/modules/apache/lib/puppet/provider/a2mod/gentoo.rb +116 -0
  41. data/modules/apache/lib/puppet/provider/a2mod/modfix.rb +12 -0
  42. data/modules/apache/lib/puppet/provider/a2mod/redhat.rb +60 -0
  43. data/modules/apache/lib/puppet/provider/a2mod.rb +34 -0
  44. data/modules/apache/lib/puppet/type/a2mod.rb +30 -0
  45. data/modules/apache/manifests/balancer.pp +80 -0
  46. data/modules/apache/manifests/balancermember.pp +52 -0
  47. data/modules/apache/manifests/confd/no_accf.pp +10 -0
  48. data/modules/apache/manifests/default_confd_files.pp +12 -0
  49. data/modules/apache/manifests/default_mods/load.pp +8 -0
  50. data/modules/apache/manifests/default_mods.pp +108 -0
  51. data/modules/apache/manifests/dev.pp +11 -0
  52. data/modules/apache/manifests/init.pp +329 -0
  53. data/modules/apache/manifests/listen.pp +9 -0
  54. data/modules/apache/manifests/mod/alias.pp +17 -0
  55. data/modules/apache/manifests/mod/auth_basic.pp +3 -0
  56. data/modules/apache/manifests/mod/auth_kerb.pp +5 -0
  57. data/modules/apache/manifests/mod/authnz_ldap.pp +19 -0
  58. data/modules/apache/manifests/mod/autoindex.pp +12 -0
  59. data/modules/apache/manifests/mod/cache.pp +3 -0
  60. data/modules/apache/manifests/mod/cgi.pp +4 -0
  61. data/modules/apache/manifests/mod/cgid.pp +23 -0
  62. data/modules/apache/manifests/mod/dav.pp +3 -0
  63. data/modules/apache/manifests/mod/dav_fs.pp +20 -0
  64. data/modules/apache/manifests/mod/dav_svn.pp +5 -0
  65. data/modules/apache/manifests/mod/deflate.pp +12 -0
  66. data/modules/apache/manifests/mod/dev.pp +5 -0
  67. data/modules/apache/manifests/mod/dir.pp +21 -0
  68. data/modules/apache/manifests/mod/disk_cache.pp +24 -0
  69. data/modules/apache/manifests/mod/event.pp +54 -0
  70. data/modules/apache/manifests/mod/expires.pp +3 -0
  71. data/modules/apache/manifests/mod/fastcgi.pp +24 -0
  72. data/modules/apache/manifests/mod/fcgid.pp +3 -0
  73. data/modules/apache/manifests/mod/headers.pp +3 -0
  74. data/modules/apache/manifests/mod/include.pp +3 -0
  75. data/modules/apache/manifests/mod/info.pp +14 -0
  76. data/modules/apache/manifests/mod/itk.pp +64 -0
  77. data/modules/apache/manifests/mod/ldap.pp +12 -0
  78. data/modules/apache/manifests/mod/mime.pp +21 -0
  79. data/modules/apache/manifests/mod/mime_magic.pp +14 -0
  80. data/modules/apache/manifests/mod/negotiation.pp +12 -0
  81. data/modules/apache/manifests/mod/nss.pp +25 -0
  82. data/modules/apache/manifests/mod/passenger.pp +38 -0
  83. data/modules/apache/manifests/mod/perl.pp +3 -0
  84. data/modules/apache/manifests/mod/peruser.pp +73 -0
  85. data/modules/apache/manifests/mod/php.pp +26 -0
  86. data/modules/apache/manifests/mod/prefork.pp +74 -0
  87. data/modules/apache/manifests/mod/proxy.pp +15 -0
  88. data/modules/apache/manifests/mod/proxy_ajp.pp +4 -0
  89. data/modules/apache/manifests/mod/proxy_balancer.pp +10 -0
  90. data/modules/apache/manifests/mod/proxy_html.pp +28 -0
  91. data/modules/apache/manifests/mod/proxy_http.pp +4 -0
  92. data/modules/apache/manifests/mod/python.pp +5 -0
  93. data/modules/apache/manifests/mod/reqtimeout.pp +12 -0
  94. data/modules/apache/manifests/mod/rewrite.pp +4 -0
  95. data/modules/apache/manifests/mod/rpaf.pp +20 -0
  96. data/modules/apache/manifests/mod/setenvif.pp +12 -0
  97. data/modules/apache/manifests/mod/ssl.pp +26 -0
  98. data/modules/apache/manifests/mod/status.pp +42 -0
  99. data/modules/apache/manifests/mod/suphp.pp +14 -0
  100. data/modules/apache/manifests/mod/userdir.pp +17 -0
  101. data/modules/apache/manifests/mod/vhost_alias.pp +3 -0
  102. data/modules/apache/manifests/mod/worker.pp +75 -0
  103. data/modules/apache/manifests/mod/wsgi.pp +21 -0
  104. data/modules/apache/manifests/mod/xsendfile.pp +4 -0
  105. data/modules/apache/manifests/mod.pp +120 -0
  106. data/modules/apache/manifests/namevirtualhost.pp +9 -0
  107. data/modules/apache/manifests/package.pp +48 -0
  108. data/modules/apache/manifests/params.pp +207 -0
  109. data/modules/apache/manifests/peruser/multiplexer.pp +17 -0
  110. data/modules/apache/manifests/peruser/processor.pp +17 -0
  111. data/modules/apache/manifests/php.pp +18 -0
  112. data/modules/apache/manifests/proxy.pp +15 -0
  113. data/modules/apache/manifests/python.pp +18 -0
  114. data/modules/apache/manifests/service.pp +35 -0
  115. data/modules/apache/manifests/ssl.pp +18 -0
  116. data/modules/apache/manifests/vhost.pp +516 -0
  117. data/modules/apache/spec/acceptance/basic_spec.rb +12 -0
  118. data/modules/apache/spec/acceptance/class_spec.rb +58 -0
  119. data/modules/apache/spec/acceptance/default_mods_spec.rb +97 -0
  120. data/modules/apache/spec/acceptance/itk_spec.rb +35 -0
  121. data/modules/apache/spec/acceptance/mod_php_spec.rb +52 -0
  122. data/modules/apache/spec/acceptance/mod_suphp_spec.rb +44 -0
  123. data/modules/apache/spec/acceptance/nodesets/centos-64-x64.yml +8 -0
  124. data/modules/apache/spec/acceptance/nodesets/default.yml +8 -0
  125. data/modules/apache/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml +8 -0
  126. data/modules/apache/spec/acceptance/nodesets/vagrant.key +27 -0
  127. data/modules/apache/spec/acceptance/prefork_worker_spec.rb +81 -0
  128. data/modules/apache/spec/acceptance/service_spec.rb +19 -0
  129. data/modules/apache/spec/acceptance/vhost_spec.rb +290 -0
  130. data/modules/apache/spec/classes/apache_spec.rb +464 -0
  131. data/modules/apache/spec/classes/dev_spec.rb +38 -0
  132. data/modules/apache/spec/classes/mod/auth_kerb_spec.rb +41 -0
  133. data/modules/apache/spec/classes/mod/authnz_ldap_spec.rb +65 -0
  134. data/modules/apache/spec/classes/mod/dav_svn_spec.rb +41 -0
  135. data/modules/apache/spec/classes/mod/dev_spec.rb +23 -0
  136. data/modules/apache/spec/classes/mod/dir_spec.rb +88 -0
  137. data/modules/apache/spec/classes/mod/event_spec.rb +17 -0
  138. data/modules/apache/spec/classes/mod/fastcgi_spec.rb +32 -0
  139. data/modules/apache/spec/classes/mod/fcgid_spec.rb +41 -0
  140. data/modules/apache/spec/classes/mod/info_spec.rb +99 -0
  141. data/modules/apache/spec/classes/mod/itk_spec.rb +31 -0
  142. data/modules/apache/spec/classes/mod/mime_magic_spec.rb +93 -0
  143. data/modules/apache/spec/classes/mod/passenger_spec.rb +112 -0
  144. data/modules/apache/spec/classes/mod/perl_spec.rb +41 -0
  145. data/modules/apache/spec/classes/mod/peruser_spec.rb +17 -0
  146. data/modules/apache/spec/classes/mod/php_spec.rb +99 -0
  147. data/modules/apache/spec/classes/mod/prefork_spec.rb +47 -0
  148. data/modules/apache/spec/classes/mod/proxy_html_spec.rb +45 -0
  149. data/modules/apache/spec/classes/mod/python_spec.rb +41 -0
  150. data/modules/apache/spec/classes/mod/rpaf_spec.rb +77 -0
  151. data/modules/apache/spec/classes/mod/ssl_spec.rb +53 -0
  152. data/modules/apache/spec/classes/mod/status_spec.rb +166 -0
  153. data/modules/apache/spec/classes/mod/suphp_spec.rb +27 -0
  154. data/modules/apache/spec/classes/mod/worker_spec.rb +44 -0
  155. data/modules/apache/spec/classes/mod/wsgi_spec.rb +54 -0
  156. data/modules/apache/spec/classes/params_spec.rb +21 -0
  157. data/modules/apache/spec/classes/service_spec.rb +109 -0
  158. data/modules/apache/spec/defines/mod_spec.rb +105 -0
  159. data/modules/apache/spec/defines/vhost_spec.rb +1152 -0
  160. data/modules/apache/spec/fixtures/modules/site_apache/templates/fake.conf.erb +1 -0
  161. data/modules/apache/spec/spec.opts +4 -0
  162. data/modules/apache/spec/spec_helper.rb +1 -0
  163. data/modules/apache/spec/spec_helper_acceptance.rb +27 -0
  164. data/modules/apache/spec/unit/provider/a2mod/gentoo_spec.rb +184 -0
  165. data/modules/apache/templates/confd/no-accf.conf.erb +4 -0
  166. data/modules/apache/templates/httpd.conf.erb +92 -0
  167. data/modules/apache/templates/listen.erb +6 -0
  168. data/modules/apache/templates/mod/alias.conf.erb +9 -0
  169. data/modules/apache/templates/mod/authnz_ldap.conf.erb +5 -0
  170. data/modules/apache/templates/mod/autoindex.conf.erb +56 -0
  171. data/modules/apache/templates/mod/cgid.conf.erb +1 -0
  172. data/modules/apache/templates/mod/dav_fs.conf.erb +1 -0
  173. data/modules/apache/templates/mod/deflate.conf.erb +4 -0
  174. data/modules/apache/templates/mod/dir.conf.erb +1 -0
  175. data/modules/apache/templates/mod/disk_cache.conf.erb +8 -0
  176. data/modules/apache/templates/mod/event.conf.erb +9 -0
  177. data/modules/apache/templates/mod/fastcgi.conf.erb +6 -0
  178. data/modules/apache/templates/mod/info.conf.erb +6 -0
  179. data/modules/apache/templates/mod/itk.conf.erb +8 -0
  180. data/modules/apache/templates/mod/ldap.conf.erb +7 -0
  181. data/modules/apache/templates/mod/mime.conf.erb +36 -0
  182. data/modules/apache/templates/mod/mime_magic.conf.erb +1 -0
  183. data/modules/apache/templates/mod/mpm_event.conf.erb +9 -0
  184. data/modules/apache/templates/mod/negotiation.conf.erb +2 -0
  185. data/modules/apache/templates/mod/nss.conf.erb +228 -0
  186. data/modules/apache/templates/mod/passenger.conf.erb +30 -0
  187. data/modules/apache/templates/mod/peruser.conf.erb +12 -0
  188. data/modules/apache/templates/mod/php5.conf.erb +30 -0
  189. data/modules/apache/templates/mod/prefork.conf.erb +8 -0
  190. data/modules/apache/templates/mod/proxy.conf.erb +23 -0
  191. data/modules/apache/templates/mod/proxy_html.conf.erb +24 -0
  192. data/modules/apache/templates/mod/reqtimeout.conf.erb +2 -0
  193. data/modules/apache/templates/mod/rpaf.conf.erb +15 -0
  194. data/modules/apache/templates/mod/setenvif.conf.erb +34 -0
  195. data/modules/apache/templates/mod/ssl.conf.erb +24 -0
  196. data/modules/apache/templates/mod/status.conf.erb +12 -0
  197. data/modules/apache/templates/mod/suphp.conf.erb +19 -0
  198. data/modules/apache/templates/mod/userdir.conf.erb +19 -0
  199. data/modules/apache/templates/mod/worker.conf.erb +9 -0
  200. data/modules/apache/templates/mod/wsgi.conf.erb +13 -0
  201. data/modules/apache/templates/namevirtualhost.erb +8 -0
  202. data/modules/apache/templates/ports_header.erb +5 -0
  203. data/modules/apache/templates/vhost/_aliases.erb +12 -0
  204. data/modules/apache/templates/vhost/_block.erb +10 -0
  205. data/modules/apache/templates/vhost/_custom_fragment.erb +5 -0
  206. data/modules/apache/templates/vhost/_directories.erb +143 -0
  207. data/modules/apache/templates/vhost/_error_document.erb +7 -0
  208. data/modules/apache/templates/vhost/_fastcgi.erb +18 -0
  209. data/modules/apache/templates/vhost/_itk.erb +28 -0
  210. data/modules/apache/templates/vhost/_php_admin.erb +12 -0
  211. data/modules/apache/templates/vhost/_proxy.erb +20 -0
  212. data/modules/apache/templates/vhost/_rack.erb +7 -0
  213. data/modules/apache/templates/vhost/_redirect.erb +12 -0
  214. data/modules/apache/templates/vhost/_requestheader.erb +10 -0
  215. data/modules/apache/templates/vhost/_rewrite.erb +40 -0
  216. data/modules/apache/templates/vhost/_scriptalias.erb +24 -0
  217. data/modules/apache/templates/vhost/_serveralias.erb +7 -0
  218. data/modules/apache/templates/vhost/_setenv.erb +12 -0
  219. data/modules/apache/templates/vhost/_ssl.erb +41 -0
  220. data/modules/apache/templates/vhost/_suphp.erb +11 -0
  221. data/modules/apache/templates/vhost/_wsgi.erb +15 -0
  222. data/modules/apache/templates/vhost.conf.erb +63 -0
  223. data/modules/apache/tests/apache.pp +6 -0
  224. data/modules/apache/tests/dev.pp +1 -0
  225. data/modules/apache/tests/init.pp +1 -0
  226. data/modules/apache/tests/mod_load_params.pp +11 -0
  227. data/modules/apache/tests/mods.pp +9 -0
  228. data/modules/apache/tests/mods_custom.pp +16 -0
  229. data/modules/apache/tests/php.pp +4 -0
  230. data/modules/apache/tests/vhost.pp +237 -0
  231. data/modules/apache/tests/vhost_directories.pp +30 -0
  232. data/modules/apache/tests/vhost_ip_based.pp +25 -0
  233. data/modules/apache/tests/vhost_ssl.pp +23 -0
  234. data/modules/apache/tests/vhosts_without_listen.pp +53 -0
  235. data/modules/freighthop/manifests/database/mysql/grant.pp +11 -0
  236. data/modules/freighthop/manifests/database/mysql.pp +5 -15
  237. data/modules/freighthop/manifests/database/postgres.pp +2 -2
  238. data/modules/freighthop/manifests/database.pp +3 -3
  239. data/modules/freighthop/manifests/init.pp +6 -23
  240. data/modules/freighthop/manifests/language/ruby.pp +5 -25
  241. data/modules/freighthop/manifests/language.pp +1 -4
  242. data/modules/freighthop/manifests/packages.pp +2 -12
  243. data/modules/freighthop/manifests/params.pp +19 -11
  244. data/modules/freighthop/manifests/web/apache.pp +60 -0
  245. data/modules/freighthop/manifests/web/nginx.pp +22 -0
  246. data/modules/freighthop/manifests/web/ssl.pp +13 -0
  247. data/modules/freighthop/manifests/web.pp +25 -21
  248. data/modules/freighthop/templates/apache/passenger.conf.erb +18 -0
  249. data/modules/freighthop/templates/nginx/vagrant-rails.conf.erb +5 -3
  250. data/modules/rbenv/AUTHORS +11 -0
  251. data/modules/rbenv/CHANGELOG.md +70 -0
  252. data/modules/rbenv/Gemfile +5 -10
  253. data/modules/rbenv/Gemfile.lock +16 -58
  254. data/modules/rbenv/Modulefile +7 -7
  255. data/modules/rbenv/README.md +156 -20
  256. data/modules/rbenv/Rakefile +18 -24
  257. data/modules/rbenv/TODO +10 -0
  258. data/modules/rbenv/bin/autospec +16 -0
  259. data/modules/rbenv/bin/facter +16 -0
  260. data/modules/rbenv/bin/filebucket +16 -0
  261. data/modules/rbenv/bin/hiera +16 -0
  262. data/modules/rbenv/bin/htmldiff +16 -0
  263. data/modules/rbenv/bin/ldiff +16 -0
  264. data/modules/rbenv/bin/pi +16 -0
  265. data/modules/rbenv/bin/puppet +16 -0
  266. data/modules/rbenv/bin/puppet-lint +16 -0
  267. data/modules/rbenv/bin/puppet-module +16 -0
  268. data/modules/rbenv/bin/puppetca +16 -0
  269. data/modules/rbenv/bin/puppetd +16 -0
  270. data/modules/rbenv/bin/puppetdoc +16 -0
  271. data/modules/rbenv/bin/puppetmasterd +16 -0
  272. data/modules/rbenv/bin/puppetqd +16 -0
  273. data/modules/rbenv/bin/puppetrun +16 -0
  274. data/modules/rbenv/bin/rake +16 -0
  275. data/modules/rbenv/bin/ralsh +16 -0
  276. data/modules/rbenv/bin/rspec +16 -0
  277. data/modules/rbenv/bin/rspec-puppet-init +16 -0
  278. data/modules/rbenv/lib/puppet/provider/rbenvgem/default.rb +50 -0
  279. data/modules/rbenv/lib/puppet/type/rbenvgem.rb +62 -0
  280. data/modules/rbenv/manifests/bundle.pp +36 -0
  281. data/modules/rbenv/manifests/client.pp +48 -0
  282. data/modules/rbenv/manifests/compile.pp +102 -0
  283. data/modules/rbenv/manifests/definition.pp +31 -0
  284. data/modules/rbenv/manifests/dependencies/centos.pp +25 -0
  285. data/modules/rbenv/manifests/dependencies/suse.pp +28 -0
  286. data/modules/rbenv/manifests/dependencies/ubuntu.pp +17 -0
  287. data/modules/rbenv/manifests/dependencies.pp +8 -0
  288. data/modules/rbenv/manifests/gem.pp +29 -0
  289. data/modules/rbenv/manifests/install.pp +55 -0
  290. data/modules/rbenv/manifests/plugin/rbenvvars.pp +16 -0
  291. data/modules/rbenv/manifests/plugin/rubybuild.pp +16 -0
  292. data/modules/rbenv/manifests/plugin.pp +40 -0
  293. data/modules/rbenv/metadata.json +99 -31
  294. data/modules/rbenv/spec/classes/dependencies_spec.rb +20 -0
  295. data/modules/rbenv/spec/defines/rbenv__compile_spec.rb +34 -0
  296. data/modules/rbenv/spec/defines/rbenv__definition_spec.rb +40 -0
  297. data/modules/rbenv/spec/defines/rbenv__install_spec.rb +24 -0
  298. data/modules/rbenv/spec/defines/rbenv__plugin__rbenvvars_spec.rb +14 -0
  299. data/modules/rbenv/spec/defines/rbenv__plugin__rubybuild_spec.rb +14 -0
  300. data/modules/rbenv/spec/defines/rbenv__plugin_spec.rb +31 -0
  301. data/modules/rbenv/spec/fixtures/manifests/site.pp +0 -0
  302. data/modules/rbenv/spec/spec_helper.rb +6 -1
  303. data/modules/rbenv/templates/Gemfile.erb +5 -0
  304. data/modules/rbenv/templates/dot.rbenvrc.erb +8 -0
  305. metadata +271 -23
  306. data/modules/rbenv/CHANGELOG +0 -33
  307. data/modules/rbenv/LICENSE +0 -20
  308. data/modules/rbenv/manifests/alias.pp +0 -32
  309. data/modules/rbenv/manifests/global.pp +0 -22
  310. data/modules/rbenv/manifests/init.pp +0 -30
  311. data/modules/rbenv/manifests/params.pp +0 -16
  312. data/modules/rbenv/manifests/rehash.pp +0 -28
  313. data/modules/rbenv/manifests/version.pp +0 -63
  314. data/modules/rbenv/spec/classes/rbenv__global_spec.rb +0 -31
  315. data/modules/rbenv/spec/classes/rbenv_spec.rb +0 -30
  316. data/modules/rbenv/spec/defines/rbenv__alias_spec.rb +0 -22
  317. data/modules/rbenv/spec/defines/rbenv__rehash_spec.rb +0 -22
  318. data/modules/rbenv/spec/defines/rbenv__version_spec.rb +0 -60
  319. data/modules/rbenv/spec/spec_helper_system.rb +0 -16
  320. data/modules/rbenv/spec/system/basic_spec.rb +0 -13
  321. data/modules/rbenv/templates/etc/profile.d/rbenv.sh.erb +0 -2
  322. data/modules/rbenv/tests/init.pp +0 -12
@@ -0,0 +1,13 @@
1
+ class freighthop::web::ssl(
2
+ $server_name,
3
+ $ssl_cert_path,
4
+ $ssl_key_path,
5
+ ){
6
+ $cert_subject = "/C=US/ST=IL/L=Chicago/O=Freighthop/CN=${server_name}"
7
+
8
+ exec { 'generate-self-signed-ssl-cert':
9
+ command => "openssl req -x509 -nodes -days 3650 -subj '${cert_subject}' -newkey rsa:1024 -keyout ${ssl_key_path} -out ${ssl_cert_path}",
10
+ path => ['/usr/bin'],
11
+ creates => $ssl_cert_path,
12
+ }
13
+ }
@@ -1,28 +1,32 @@
1
1
  class freighthop::web(
2
- $upstream_web_port,
3
- $server_name,
4
- $web_root,
5
- $ssl_cert_path,
6
- $ssl_key_path,
2
+ $servers = $freighthop::params::web_servers,
3
+ $server_name = $freighthop::params::server_name,
4
+ $ssl = $freighthop::params::ssl,
5
+ $ssl_cert_path = $freighthop::params::ssl_cert_path,
6
+ $ssl_key_path = $freighthop::params::ssl_key_path,
7
7
  ) {
8
- $cert_subject = "/C=US/ST=IL/L=Chicago/O=Freighthop/CN=${server_name}"
9
-
10
- class {'::nginx':
11
- confd_purge => true
8
+ if $ssl {
9
+ class { 'freighthop::web::ssl':
10
+ ssl_cert_path => $ssl_cert_path,
11
+ ssl_key_path => $ssl_key_path,
12
+ server_name => $server_name,
13
+ }
12
14
  }
13
15
 
14
- exec { 'generate-self-signed-ssl-cert':
15
- command => "openssl req -x509 -nodes -days 3650 -subj '${cert_subject}' -newkey rsa:1024 -keyout ${ssl_key_path} -out ${ssl_cert_path}",
16
- path => ['/usr/bin'],
17
- creates => $ssl_cert_path,
16
+ if member($servers, 'nginx') {
17
+ class { 'freighthop::web::nginx':
18
+ ssl => $ssl,
19
+ ssl_cert_path => $ssl_cert_path,
20
+ ssl_key_path => $ssl_key_path,
21
+ server_name => $server_name,
22
+ }
18
23
  }
19
-
20
- file { '/etc/nginx/conf.d/vagrant-rails.conf':
21
- owner => 'root',
22
- group => 'root',
23
- mode => '0644',
24
- content => template('freighthop/nginx/vagrant-rails.conf.erb'),
25
- notify => Service['nginx'],
26
- require => Exec['generate-self-signed-ssl-cert'],
24
+ if member($servers, 'apache') {
25
+ class { 'freighthop::web::apache':
26
+ ssl => $ssl,
27
+ ssl_cert_path => $ssl_cert_path,
28
+ ssl_key_path => $ssl_key_path,
29
+ server_name => $server_name,
30
+ }
27
31
  }
28
32
  }
@@ -0,0 +1,18 @@
1
+ # Managed by Puppet; changes will be overwritten.
2
+ <IfModule mod_passenger.c>
3
+ # PassengerRoot comes straight from the phusion libapache2-mod-passenger
4
+ # package's stock config
5
+ PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
6
+
7
+ # Points to the ruby interpreter that will be used to run applications
8
+ PassengerDefaultRuby /home/vagrant/.rbenv/shims/ruby
9
+
10
+ # Send uploads directly to Rack application without buffering them first.
11
+ # Allows application to deal in streams for large uploads.
12
+ # Requires Passenger 4.0.26 or higher; defaults to Off
13
+ <% if @passenger_buffer_upload -%>
14
+ PassengerBufferUpload On
15
+ <% else -%>
16
+ PassengerBufferUpload Off
17
+ <% end -%>
18
+ </IfModule>
@@ -1,9 +1,9 @@
1
1
  upstream app_server {
2
- server localhost:<%= upstream_web_port %> fail_timeout=0;
2
+ server localhost:<%= upstream_port %> fail_timeout=0;
3
3
  }
4
4
 
5
5
  server {
6
- listen 80 default deferred; # for Linux
6
+ listen <%= port %> default deferred; # for Linux
7
7
 
8
8
  client_max_body_size 4G;
9
9
  server_name <%= server_name %>;
@@ -42,8 +42,9 @@ server {
42
42
  }
43
43
  }
44
44
 
45
+ <% if ssl -%>
45
46
  server {
46
- listen 443;
47
+ listen <%= ssl_port %>;
47
48
  client_max_body_size 4G;
48
49
  server_name <%= server_name %>;
49
50
 
@@ -84,3 +85,4 @@ server {
84
85
  root <%= web_root %>;
85
86
  }
86
87
  }
88
+ <% 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
+
@@ -1,13 +1,8 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
- # Versions can be overridden with environment variables for matrix testing.
4
- # Travis will remove Gemfile.lock before installing deps.
3
+ version = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : ['>= 2.7']
5
4
 
6
- gem 'puppet', ENV['PUPPET_VERSION'] || '~> 3.2.0'
7
-
8
- gem 'rake'
9
- gem 'puppet-lint'
5
+ gem 'puppet', version
10
6
  gem 'rspec-puppet'
11
- gem 'rspec-system-puppet'
12
- gem 'puppetlabs_spec_helper'
13
- gem 'puppet-syntax'
7
+ gem 'puppet-lint'
8
+ gem 'rake'
@@ -1,70 +1,28 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- builder (3.2.2)
5
- diff-lcs (1.2.4)
6
- facter (1.7.1)
7
- hiera (1.2.1)
8
- json_pure
9
- json_pure (1.8.0)
10
- kwalify (0.7.2)
11
- metaclass (0.0.1)
12
- mocha (0.14.0)
13
- metaclass (~> 0.0.1)
14
- net-scp (1.1.1)
15
- net-ssh (>= 2.6.5)
16
- net-ssh (2.6.7)
17
- nokogiri (1.5.10)
18
- puppet (3.2.2)
19
- facter (~> 1.6)
20
- hiera (~> 1.0)
21
- rgen (~> 0.6)
22
- puppet-lint (0.3.2)
23
- puppet-syntax (0.0.4)
24
- puppet (>= 2.7.0)
25
- rake
26
- puppetlabs_spec_helper (0.4.1)
27
- mocha (>= 0.10.5)
28
- rake
29
- rspec (>= 2.9.0)
30
- rspec-puppet (>= 0.1.1)
31
- rake (10.0.4)
32
- rbvmomi (1.6.0)
33
- builder
34
- nokogiri (>= 1.4.1)
35
- trollop
36
- rgen (0.6.5)
37
- rspec (2.13.0)
38
- rspec-core (~> 2.13.0)
39
- rspec-expectations (~> 2.13.0)
40
- rspec-mocks (~> 2.13.0)
41
- rspec-core (2.13.1)
42
- rspec-expectations (2.13.0)
43
- diff-lcs (>= 1.1.3, < 2.0)
44
- rspec-mocks (2.13.1)
45
- rspec-puppet (0.1.6)
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)
46
19
  rspec
47
- rspec-system (2.1.0)
48
- kwalify (~> 0.7.2)
49
- net-scp (~> 1.1)
50
- net-ssh (~> 2.6)
51
- nokogiri (~> 1.5.9)
52
- rbvmomi (~> 1.6)
53
- rspec (~> 2.13)
54
- systemu (~> 2.5)
55
- rspec-system-puppet (2.0.0)
56
- rspec-system (~> 2.0)
57
- systemu (2.5.2)
58
- trollop (2.0)
59
20
 
60
21
  PLATFORMS
61
22
  ruby
62
23
 
63
24
  DEPENDENCIES
64
- puppet (~> 3.2.0)
25
+ puppet (>= 2.7)
65
26
  puppet-lint
66
- puppet-syntax
67
- puppetlabs_spec_helper
68
27
  rake
69
28
  rspec-puppet
70
- rspec-system-puppet
@@ -1,7 +1,7 @@
1
- name 'gdsoperations-rbenv'
2
- version '1.0.1'
3
- source 'https://github.com/gds-operations/puppet-rbenv'
4
- author 'Government Digital Service'
5
- license 'MIT'
6
- summary 'System wide rbenv'
7
- project_page 'https://github.com/gds-operations/puppet-rbenv'
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'
@@ -1,37 +1,173 @@
1
- # rbenv
1
+ # Puppet-Rbenv
2
2
 
3
- Manage a single system installation of rbenv and Rubies.
3
+ [![Build Status](https://secure.travis-ci.org/alup/puppet-rbenv.png?branch=master)](http://travis-ci.org/alup/puppet-rbenv)
4
+ [![endorse](http://api.coderwall.com/alup/endorsecount.png)](http://coderwall.com/alup)
4
5
 
5
- This differs from existing `puppet-rbenv` modules in that it uses system
6
- packages for *everything*. It will never call `git clone` or `rbenv
7
- install` (normally provided by [ruby-build](https://github.com/sstephenson/ruby-build)).
6
+ ## About
8
7
 
9
- This ensures that every install is consistent on every server. This is
10
- particularly important for Ruby, which will link to whatever libraries and
11
- headers are available on the system which it is compiled.
8
+ This project provides powerful manifests for the installation of
9
+ [rbenv](https://github.com/sstephenson/rbenv) (Ruby Version Management).
10
+ In a nutshell, it supports the following conveniences:
12
11
 
13
- Examples of these packages can be seen at:
12
+ * Defined resources for the installation of rbenvs for one or more users, shared or standalone.
13
+ * Resources for the compilation of ruby interpreters (one or many, custom or predefined ruby build definitions), under specific rbenvs, users.
14
+ * Tools for the installation of arbitrary gems under specific rbenvs.
15
+ * Infrastructure to support rbenv plugins. We have already included [ruby-build](https://github.com/sstephenson/ruby-build) and [rbenv-vars](https://github.com/sstephenson/rbenv-vars) plugins.
16
+ * Resource for handling `bundler`.
14
17
 
15
- - https://github.com/alphagov/packager
16
- - https://launchpad.net/~gds/+archive/govuk/+packages?field.name_filter=rbenv
18
+ ## Rbenv installation
17
19
 
18
- ## Example usage
20
+ You can use the module in your manifest with the following code:
19
21
 
20
- Include:
21
22
  ```
22
- include rbenv
23
+ rbenv::install { "someuser":
24
+ group => 'project',
25
+ home => '/project'
26
+ }
23
27
  ```
24
28
 
25
- Setup a version of Ruby:
29
+ This will apply an rbenv installation under "someuser" home dir
30
+ and place it into ".rbenv". You can change the resource title to
31
+ your taste, and pass the user on which install rbenv using the
32
+ `user` parameter.
33
+
34
+ The rbenv directory can be changed by passing the "root" parameter,
35
+ that must be an absolute path.
36
+
37
+ ## Ruby compilation
38
+
39
+ To compile a ruby interpreter, you use `rbenv::compile` as follows:
40
+
26
41
  ```
27
- rbenv::version { '1.9.3-p392':
28
- bundler_version => '1.3.5'
42
+ rbenv::compile { "1.9.3-p327":
43
+ user => "someuser",
44
+ home => "/project",
29
45
  }
30
- rbenv::alias { '1.9.3':
31
- to_version => '1.9.3-p392',
46
+ ```
47
+
48
+ The resource title is used as the ruby version, but if you have
49
+ multiple rubies under multiple users, you'll have to define them
50
+ explicitly:
51
+
52
+ ```
53
+ rbenv::compile { "foo/1.8.7":
54
+ user => "foo",
55
+ ruby => "1.8.7-p370",
56
+ }
57
+
58
+ rbenv::compile { "bar/1.8.7":
59
+ user => bar",
60
+ ruby => "1.8.7-p370",
32
61
  }
33
62
  ```
34
63
 
64
+ `rbenv rehash` is performed each time a new ruby or a new gem is
65
+ installed.
66
+
67
+ You can use the `global => true` parameter to set an interpreter as the
68
+ default (`rbenv global`) one for the given user. Please note that only one global
69
+ is allowed, duplicate resources will be defined if you specify
70
+ multiple global ruby version.
71
+
72
+ You can also provide a custom build definition to ruby-build by
73
+ specifying a `source` that can either be a `puppet:` source or
74
+ a file to be downloaded using `wget`:
75
+
76
+ ```
77
+ rbenv::compile { "patched-ree":
78
+ user => "someuser",
79
+ home => "/project",
80
+ source => "puppet://path-to-definition"
81
+ }
82
+ ```
83
+
84
+ ## Gem installation
85
+
86
+ You can install and keep gems updated for a specific ruby interpreter:
87
+
88
+ ```
89
+ rbenv::gem { "unicorn":
90
+ user => "foobarbaz",
91
+ ruby => "1.9.3-p327",
92
+ }
93
+ ```
94
+
95
+ Gems are handled using a custom Package provider that handles gems,
96
+ somewhat inspired by Puppet's Package one - thus `absent` and `latest`
97
+ work as expected.
98
+
99
+ ## rbenv plugins
100
+
101
+ To add a plugin to a rbenv installation, you use `rbenv::plugin` as follows:
102
+
103
+ ```
104
+ rbenv::plugin { "my-plugin":
105
+ user => "someuser",
106
+ source => "git://github.com/user/my-plugin.git"
107
+ }
108
+ ```
109
+
110
+ There's also a built-in resource to add [rbenv-vars](https://github.com/sstephenson/rbenv-vars)
111
+ for a user:
112
+
113
+ ```
114
+ rbenv::plugin::rbenvvars { "someuser":
115
+ # Optional:
116
+ # source => "git://path-to-your/custom/rbenv-vars.git"
117
+ }
118
+ ```
119
+
120
+ *NOTICE: `rbenv::install` automatically requires [ruby-build](https://github.com/sstephenson/ruby-build)
121
+ to compile rubies, if you want to use a different repository, you can specify
122
+ the resource on a separate manifest:*
123
+
124
+ ```
125
+ rbenv::plugin::rubybuild { "someuser":
126
+ source => "git://path-to-your/git/repo"
127
+ }
128
+ ```
129
+
130
+ ## Install module from puppet forge
131
+
132
+ You can install the latest release of this module by using the following
133
+ command:
134
+
135
+ ```
136
+ puppet module install alup-rbenv
137
+ ```
138
+
139
+ ## Usage with Vagrant
140
+
141
+ A simple way to test this module is by using the
142
+ [Vagrant](http://http://vagrantup.com/) library.
143
+
144
+ An example of a Vagrantfile:
145
+
146
+ ```
147
+ Vagrant::Config.run do |config|
148
+ config.vm.box = "lucid32"
149
+ config.vm.provision :puppet, :facter => { "osfamily" => "debian" }, :module_path => "modules" do |puppet|
150
+ puppet.manifests_path = "manifests"
151
+ puppet.manifest_file = "base.pp"
152
+ puppet.options = %w[ --libdir=\\$modulepath/rbenv/lib ]
153
+ end
154
+ end
155
+ ```
156
+
157
+ The `--libdir=\\$modulepath/rbenv/lib` argument is important to make
158
+ puppet aware of the rbenvgem custom provider and type.
159
+
160
+
161
+ ## Supported Platforms
162
+
163
+ * CentOS
164
+ * Debian
165
+ * RHEL
166
+ * SuSE
167
+ * Ubuntu
168
+
35
169
  ## License
36
170
 
37
- See [LICENSE](LICENSE) file.
171
+ MIT License.
172
+
173
+ Copyright 2012 Andreas Loupasakis, Marcello Barnaba <vjt@openssl.it>, Fabio Rehm
@@ -1,28 +1,22 @@
1
- require 'puppetlabs_spec_helper/rake_tasks'
2
- require 'puppet-lint/tasks/puppet-lint'
3
- require 'puppet-syntax/tasks/puppet-syntax'
4
- require 'rspec-system/rake_task'
1
+ require 'rake'
5
2
 
6
- PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}"
7
- PuppetLint.configuration.fail_on_warnings = true
3
+ begin
4
+ require 'rspec/core/rake_task'
5
+ require 'puppet-lint/tasks/puppet-lint'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ retry
9
+ end
8
10
 
9
- # Forsake support for Puppet 2.6.2 for the benefit of cleaner code.
10
- # http://puppet-lint.com/checks/class_parameter_defaults/
11
- PuppetLint.configuration.send('disable_class_parameter_defaults')
12
- # http://puppet-lint.com/checks/class_inherits_from_params_class/
13
- PuppetLint.configuration.send('disable_class_inherits_from_params_class')
11
+ RSpec::Core::RakeTask.new(:spec) do |t|
12
+ t.pattern = 'spec/*/*_spec.rb'
13
+ end
14
14
 
15
- exclude_paths = [
16
- "pkg/**/*",
17
- "vendor/**/*",
18
- "spec/**/*",
19
- ]
20
- PuppetLint.configuration.ignore_paths = exclude_paths
21
- PuppetSyntax.exclude_paths = exclude_paths
15
+ task :test => :spec
22
16
 
23
- desc "Run syntax, lint, and spec tests."
24
- task :test => [
25
- :syntax,
26
- :lint,
27
- :spec,
28
- ]
17
+ task :default => :test
18
+
19
+ desc "Update AUTHORS file"
20
+ task :authors do
21
+ sh "git shortlog -s | awk '{ print $2 \" \" $3 }' > AUTHORS"
22
+ end
@@ -0,0 +1,10 @@
1
+ * Provide option for system level setup
2
+ * Make global ruby installation optional
3
+ * Provide Vagrant integration instruction.
4
+
5
+ * Allow multiple user installations. ✔
6
+ * Remove hardcoded paths etc. ✔
7
+ * Provide instruction on how to use it ✔
8
+ * Decouple ruby-build etc. ✔
9
+ * Testing, testing, testing ... ✔
10
+ * Remove deprecated stuff ✔
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'autospec' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('rspec-core', 'autospec')
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'facter' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('facter', 'facter')
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'filebucket' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('puppet', 'filebucket')
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'hiera' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('hiera', 'hiera')
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'htmldiff' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('diff-lcs', 'htmldiff')