agile_solo 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (371) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +22 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +20 -0
  5. data/README.md +90 -0
  6. data/Rakefile +1 -0
  7. data/agile_solo.gemspec +30 -0
  8. data/lib/agile_solo.rb +13 -0
  9. data/lib/agile_solo/application/solo.rb +20 -0
  10. data/lib/agile_solo/command.rb +17 -0
  11. data/lib/agile_solo/composite_command.rb +35 -0
  12. data/lib/agile_solo/config.rb +13 -0
  13. data/lib/agile_solo/consumer.rb +41 -0
  14. data/lib/agile_solo/server.rb +19 -0
  15. data/lib/agile_solo/version.rb +3 -0
  16. data/spec/agile_solo/command_spec.rb +15 -0
  17. data/spec/agile_solo/composite_command_spec.rb +31 -0
  18. data/spec/agile_solo/config_spec.rb +8 -0
  19. data/spec/agile_solo/consumer_spec.rb +52 -0
  20. data/spec/agile_solo/server_spec.rb +35 -0
  21. data/spec/chef_repo/.chef/knife.rb +6 -0
  22. data/spec/chef_repo/.gitignore +3 -0
  23. data/spec/chef_repo/.gitmodules +3 -0
  24. data/spec/chef_repo/.librarian/chef/config +3 -0
  25. data/spec/chef_repo/Cheffile +11 -0
  26. data/spec/chef_repo/Cheffile.lock +33 -0
  27. data/spec/chef_repo/README.md +92 -0
  28. data/spec/chef_repo/README_APP.md +23 -0
  29. data/spec/chef_repo/Rakefile +5 -0
  30. data/spec/chef_repo/chefignore +11 -0
  31. data/spec/chef_repo/cookbooks/apache/CHANGES.md +9 -0
  32. data/spec/chef_repo/cookbooks/apache/README.md +64 -0
  33. data/spec/chef_repo/cookbooks/apache/metadata.json +32 -0
  34. data/spec/chef_repo/cookbooks/apache/metadata.rb +11 -0
  35. data/spec/chef_repo/cookbooks/apache/providers/fastcgi.rb +116 -0
  36. data/spec/chef_repo/cookbooks/apache/recipes/default.rb +8 -0
  37. data/spec/chef_repo/cookbooks/apache/resources/fastcgi.rb +14 -0
  38. data/spec/chef_repo/cookbooks/apache/templates/default/fast-cgi-vhost.erb +41 -0
  39. data/spec/chef_repo/cookbooks/apache2/.gitignore +3 -0
  40. data/spec/chef_repo/cookbooks/apache2/CHANGELOG.md +158 -0
  41. data/spec/chef_repo/cookbooks/apache2/CONTRIBUTING.md +257 -0
  42. data/spec/chef_repo/cookbooks/apache2/Gemfile +10 -0
  43. data/spec/chef_repo/cookbooks/apache2/LICENSE +201 -0
  44. data/spec/chef_repo/cookbooks/apache2/README.md +581 -0
  45. data/spec/chef_repo/cookbooks/apache2/attributes/default.rb +153 -0
  46. data/spec/chef_repo/cookbooks/apache2/attributes/mod_auth_cas.rb +2 -0
  47. data/spec/chef_repo/cookbooks/apache2/attributes/mod_auth_openid.rb +32 -0
  48. data/spec/chef_repo/cookbooks/apache2/attributes/mod_ssl.rb +19 -0
  49. data/spec/chef_repo/cookbooks/apache2/definitions/apache_conf.rb +26 -0
  50. data/spec/chef_repo/cookbooks/apache2/definitions/apache_module.rb +53 -0
  51. data/spec/chef_repo/cookbooks/apache2/definitions/apache_site.rb +43 -0
  52. data/spec/chef_repo/cookbooks/apache2/definitions/web_app.rb +50 -0
  53. data/spec/chef_repo/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +41 -0
  54. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/default_test.rb +77 -0
  55. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/god_monitor_test.rb +34 -0
  56. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/mod_apreq2_test.rb +19 -0
  57. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/mod_auth_cas_test.rb +11 -0
  58. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/mod_auth_openid_test.rb +37 -0
  59. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/mod_cgi_test.rb +13 -0
  60. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/mod_dav_svn_test.rb +14 -0
  61. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/mod_fastcgi.rb +11 -0
  62. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/mod_include_test.rb +15 -0
  63. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/mod_perl_test.rb +18 -0
  64. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/mod_php5_test.rb +13 -0
  65. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/mod_python_test.rb +10 -0
  66. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/mod_ssl_test.rb +28 -0
  67. data/spec/chef_repo/cookbooks/apache2/files/default/tests/minitest/support/helpers.rb +65 -0
  68. data/spec/chef_repo/cookbooks/apache2/metadata.json +527 -0
  69. data/spec/chef_repo/cookbooks/apache2/metadata.rb +213 -0
  70. data/spec/chef_repo/cookbooks/apache2/recipes/default.rb +223 -0
  71. data/spec/chef_repo/cookbooks/apache2/recipes/god_monitor.rb +33 -0
  72. data/spec/chef_repo/cookbooks/apache2/recipes/iptables.rb +20 -0
  73. data/spec/chef_repo/cookbooks/apache2/recipes/logrotate.rb +31 -0
  74. data/spec/chef_repo/cookbooks/apache2/recipes/mod_alias.rb +22 -0
  75. data/spec/chef_repo/cookbooks/apache2/recipes/mod_apreq2.rb +54 -0
  76. data/spec/chef_repo/cookbooks/apache2/recipes/mod_auth_basic.rb +20 -0
  77. data/spec/chef_repo/cookbooks/apache2/recipes/mod_auth_cas.rb +59 -0
  78. data/spec/chef_repo/cookbooks/apache2/recipes/mod_auth_digest.rb +20 -0
  79. data/spec/chef_repo/cookbooks/apache2/recipes/mod_auth_openid.rb +125 -0
  80. data/spec/chef_repo/cookbooks/apache2/recipes/mod_authn_file.rb +20 -0
  81. data/spec/chef_repo/cookbooks/apache2/recipes/mod_authnz_ldap.rb +20 -0
  82. data/spec/chef_repo/cookbooks/apache2/recipes/mod_authz_default.rb +20 -0
  83. data/spec/chef_repo/cookbooks/apache2/recipes/mod_authz_groupfile.rb +20 -0
  84. data/spec/chef_repo/cookbooks/apache2/recipes/mod_authz_host.rb +20 -0
  85. data/spec/chef_repo/cookbooks/apache2/recipes/mod_authz_user.rb +20 -0
  86. data/spec/chef_repo/cookbooks/apache2/recipes/mod_autoindex.rb +22 -0
  87. data/spec/chef_repo/cookbooks/apache2/recipes/mod_cgi.rb +20 -0
  88. data/spec/chef_repo/cookbooks/apache2/recipes/mod_dav.rb +20 -0
  89. data/spec/chef_repo/cookbooks/apache2/recipes/mod_dav_fs.rb +21 -0
  90. data/spec/chef_repo/cookbooks/apache2/recipes/mod_dav_svn.rb +41 -0
  91. data/spec/chef_repo/cookbooks/apache2/recipes/mod_deflate.rb +22 -0
  92. data/spec/chef_repo/cookbooks/apache2/recipes/mod_dir.rb +22 -0
  93. data/spec/chef_repo/cookbooks/apache2/recipes/mod_env.rb +20 -0
  94. data/spec/chef_repo/cookbooks/apache2/recipes/mod_expires.rb +20 -0
  95. data/spec/chef_repo/cookbooks/apache2/recipes/mod_fastcgi.rb +26 -0
  96. data/spec/chef_repo/cookbooks/apache2/recipes/mod_fcgid.rb +55 -0
  97. data/spec/chef_repo/cookbooks/apache2/recipes/mod_headers.rb +20 -0
  98. data/spec/chef_repo/cookbooks/apache2/recipes/mod_include.rb +22 -0
  99. data/spec/chef_repo/cookbooks/apache2/recipes/mod_ldap.rb +20 -0
  100. data/spec/chef_repo/cookbooks/apache2/recipes/mod_log_config.rb +24 -0
  101. data/spec/chef_repo/cookbooks/apache2/recipes/mod_logio.rb +24 -0
  102. data/spec/chef_repo/cookbooks/apache2/recipes/mod_mime.rb +22 -0
  103. data/spec/chef_repo/cookbooks/apache2/recipes/mod_negotiation.rb +22 -0
  104. data/spec/chef_repo/cookbooks/apache2/recipes/mod_perl.rb +44 -0
  105. data/spec/chef_repo/cookbooks/apache2/recipes/mod_php5.rb +78 -0
  106. data/spec/chef_repo/cookbooks/apache2/recipes/mod_proxy.rb +22 -0
  107. data/spec/chef_repo/cookbooks/apache2/recipes/mod_proxy_ajp.rb +21 -0
  108. data/spec/chef_repo/cookbooks/apache2/recipes/mod_proxy_balancer.rb +20 -0
  109. data/spec/chef_repo/cookbooks/apache2/recipes/mod_proxy_connect.rb +20 -0
  110. data/spec/chef_repo/cookbooks/apache2/recipes/mod_proxy_http.rb +20 -0
  111. data/spec/chef_repo/cookbooks/apache2/recipes/mod_python.rb +37 -0
  112. data/spec/chef_repo/cookbooks/apache2/recipes/mod_rewrite.rb +20 -0
  113. data/spec/chef_repo/cookbooks/apache2/recipes/mod_setenvif.rb +22 -0
  114. data/spec/chef_repo/cookbooks/apache2/recipes/mod_ssl.rb +46 -0
  115. data/spec/chef_repo/cookbooks/apache2/recipes/mod_status.rb +22 -0
  116. data/spec/chef_repo/cookbooks/apache2/recipes/mod_wsgi.rb +38 -0
  117. data/spec/chef_repo/cookbooks/apache2/recipes/mod_xsendfile.rb +38 -0
  118. data/spec/chef_repo/cookbooks/apache2/templates/default/a2dismod.erb +22 -0
  119. data/spec/chef_repo/cookbooks/apache2/templates/default/a2dissite.erb +29 -0
  120. data/spec/chef_repo/cookbooks/apache2/templates/default/a2enmod.erb +37 -0
  121. data/spec/chef_repo/cookbooks/apache2/templates/default/a2ensite.erb +38 -0
  122. data/spec/chef_repo/cookbooks/apache2/templates/default/apache2.conf.erb +238 -0
  123. data/spec/chef_repo/cookbooks/apache2/templates/default/apache2.god.erb +19 -0
  124. data/spec/chef_repo/cookbooks/apache2/templates/default/charset.erb +6 -0
  125. data/spec/chef_repo/cookbooks/apache2/templates/default/default-site.erb +57 -0
  126. data/spec/chef_repo/cookbooks/apache2/templates/default/etc-sysconfig-httpd.erb +31 -0
  127. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/README +2 -0
  128. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/alias.conf.erb +24 -0
  129. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/auth_cas.conf.erb +1 -0
  130. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/auth_cas.load.erb +1 -0
  131. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/authopenid.load.erb +1 -0
  132. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/autoindex.conf.erb +101 -0
  133. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/deflate.conf.erb +16 -0
  134. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/dir.conf.erb +5 -0
  135. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/fastcgi.conf.erb +5 -0
  136. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/fcgid.conf.erb +10 -0
  137. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/include.conf.erb +4 -0
  138. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/include.erb +4 -0
  139. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/mime.conf.erb +198 -0
  140. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/negotiation.conf.erb +18 -0
  141. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/php5.conf.erb +16 -0
  142. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/proxy.conf.erb +19 -0
  143. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/setenvif.conf.erb +28 -0
  144. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/ssl.conf.erb +77 -0
  145. data/spec/chef_repo/cookbooks/apache2/templates/default/mods/status.conf.erb +26 -0
  146. data/spec/chef_repo/cookbooks/apache2/templates/default/port_apache.erb +3 -0
  147. data/spec/chef_repo/cookbooks/apache2/templates/default/ports.conf.erb +6 -0
  148. data/spec/chef_repo/cookbooks/apache2/templates/default/security.erb +50 -0
  149. data/spec/chef_repo/cookbooks/apache2/templates/default/web_app.conf.erb +47 -0
  150. data/spec/chef_repo/cookbooks/apt/.gitignore +14 -0
  151. data/spec/chef_repo/cookbooks/apt/.kitchen.yml +33 -0
  152. data/spec/chef_repo/cookbooks/apt/Berksfile +8 -0
  153. data/spec/chef_repo/cookbooks/apt/CHANGELOG.md +79 -0
  154. data/spec/chef_repo/cookbooks/apt/CONTRIBUTING +29 -0
  155. data/spec/chef_repo/cookbooks/apt/LICENSE +201 -0
  156. data/spec/chef_repo/cookbooks/apt/README.md +238 -0
  157. data/spec/chef_repo/cookbooks/apt/TESTING.md +25 -0
  158. data/spec/chef_repo/cookbooks/apt/attributes/default.rb +3 -0
  159. data/spec/chef_repo/cookbooks/apt/files/default/apt-proxy-v2.conf +50 -0
  160. data/spec/chef_repo/cookbooks/apt/metadata.json +34 -0
  161. data/spec/chef_repo/cookbooks/apt/metadata.rb +14 -0
  162. data/spec/chef_repo/cookbooks/apt/providers/preference.rb +61 -0
  163. data/spec/chef_repo/cookbooks/apt/providers/repository.rb +138 -0
  164. data/spec/chef_repo/cookbooks/apt/recipes/cacher-client.rb +59 -0
  165. data/spec/chef_repo/cookbooks/apt/recipes/cacher-ng.rb +38 -0
  166. data/spec/chef_repo/cookbooks/apt/recipes/default.rb +68 -0
  167. data/spec/chef_repo/cookbooks/apt/resources/preference.rb +30 -0
  168. data/spec/chef_repo/cookbooks/apt/resources/repository.rb +40 -0
  169. data/spec/chef_repo/cookbooks/apt/templates/default/01proxy.erb +2 -0
  170. data/spec/chef_repo/cookbooks/apt/templates/default/acng.conf.erb +276 -0
  171. data/spec/chef_repo/cookbooks/apt/templates/ubuntu-10.04/acng.conf.erb +270 -0
  172. data/spec/chef_repo/cookbooks/build-essential/.gitignore +4 -0
  173. data/spec/chef_repo/cookbooks/build-essential/.kitchen.yml +42 -0
  174. data/spec/chef_repo/cookbooks/build-essential/Berksfile +3 -0
  175. data/spec/chef_repo/cookbooks/build-essential/CHANGELOG.md +42 -0
  176. data/spec/chef_repo/cookbooks/build-essential/CONTRIBUTING +29 -0
  177. data/spec/chef_repo/cookbooks/build-essential/LICENSE +201 -0
  178. data/spec/chef_repo/cookbooks/build-essential/README.md +139 -0
  179. data/spec/chef_repo/cookbooks/build-essential/TESTING.md +25 -0
  180. data/spec/chef_repo/cookbooks/build-essential/attributes/default.rb +33 -0
  181. data/spec/chef_repo/cookbooks/build-essential/metadata.json +44 -0
  182. data/spec/chef_repo/cookbooks/build-essential/metadata.rb +16 -0
  183. data/spec/chef_repo/cookbooks/build-essential/recipes/debian.rb +45 -0
  184. data/spec/chef_repo/cookbooks/build-essential/recipes/default.rb +24 -0
  185. data/spec/chef_repo/cookbooks/build-essential/recipes/fedora.rb +36 -0
  186. data/spec/chef_repo/cookbooks/build-essential/recipes/mac_os_x.rb +40 -0
  187. data/spec/chef_repo/cookbooks/build-essential/recipes/rhel.rb +43 -0
  188. data/spec/chef_repo/cookbooks/build-essential/recipes/smartos.rb +36 -0
  189. data/spec/chef_repo/cookbooks/build-essential/recipes/solaris2.rb +42 -0
  190. data/spec/chef_repo/cookbooks/build-essential/recipes/suse.rb +36 -0
  191. data/spec/chef_repo/cookbooks/install_from/README.md +51 -0
  192. data/spec/chef_repo/cookbooks/install_from/attributes/default.rb +2 -0
  193. data/spec/chef_repo/cookbooks/install_from/metadata.json +46 -0
  194. data/spec/chef_repo/cookbooks/install_from/metadata.rb +19 -0
  195. data/spec/chef_repo/cookbooks/install_from/providers/release.rb +143 -0
  196. data/spec/chef_repo/cookbooks/install_from/recipes/default.rb +26 -0
  197. data/spec/chef_repo/cookbooks/install_from/resources/release.rb +121 -0
  198. data/spec/chef_repo/cookbooks/metachef/.rspec +3 -0
  199. data/spec/chef_repo/cookbooks/metachef/.watchr +20 -0
  200. data/spec/chef_repo/cookbooks/metachef/Gemfile +15 -0
  201. data/spec/chef_repo/cookbooks/metachef/README.md +97 -0
  202. data/spec/chef_repo/cookbooks/metachef/attributes/default.rb +18 -0
  203. data/spec/chef_repo/cookbooks/metachef/definitions/daemon_user.rb +68 -0
  204. data/spec/chef_repo/cookbooks/metachef/definitions/kill_old_service.rb +35 -0
  205. data/spec/chef_repo/cookbooks/metachef/definitions/standard_dirs.rb +54 -0
  206. data/spec/chef_repo/cookbooks/metachef/libraries/aspect.rb +125 -0
  207. data/spec/chef_repo/cookbooks/metachef/libraries/aspects.rb +170 -0
  208. data/spec/chef_repo/cookbooks/metachef/libraries/attr_struct.rb +160 -0
  209. data/spec/chef_repo/cookbooks/metachef/libraries/component.rb +164 -0
  210. data/spec/chef_repo/cookbooks/metachef/libraries/cookbook_utils.rb +69 -0
  211. data/spec/chef_repo/cookbooks/metachef/libraries/discovery.rb +124 -0
  212. data/spec/chef_repo/cookbooks/metachef/libraries/discovery_lol.rb +55 -0
  213. data/spec/chef_repo/cookbooks/metachef/libraries/dump_aspects.rb +83 -0
  214. data/spec/chef_repo/cookbooks/metachef/libraries/metachef.rb +18 -0
  215. data/spec/chef_repo/cookbooks/metachef/libraries/node_utils.rb +91 -0
  216. data/spec/chef_repo/cookbooks/metachef/metadata.json +102 -0
  217. data/spec/chef_repo/cookbooks/metachef/metadata.rb +39 -0
  218. data/spec/chef_repo/cookbooks/metachef/recipes/default.rb +22 -0
  219. data/spec/chef_repo/cookbooks/nginx/.gitignore +9 -0
  220. data/spec/chef_repo/cookbooks/nginx/.kitchen.yml +62 -0
  221. data/spec/chef_repo/cookbooks/nginx/Berksfile +7 -0
  222. data/spec/chef_repo/cookbooks/nginx/CHANGELOG.md +158 -0
  223. data/spec/chef_repo/cookbooks/nginx/CONTRIBUTING.md +257 -0
  224. data/spec/chef_repo/cookbooks/nginx/LICENSE +201 -0
  225. data/spec/chef_repo/cookbooks/nginx/README.md +398 -0
  226. data/spec/chef_repo/cookbooks/nginx/TESTING.md +25 -0
  227. data/spec/chef_repo/cookbooks/nginx/attributes/default.rb +89 -0
  228. data/spec/chef_repo/cookbooks/nginx/attributes/echo.rb +10 -0
  229. data/spec/chef_repo/cookbooks/nginx/attributes/geoip.rb +30 -0
  230. data/spec/chef_repo/cookbooks/nginx/attributes/headers_more.rb +22 -0
  231. data/spec/chef_repo/cookbooks/nginx/attributes/naxsi.rb +24 -0
  232. data/spec/chef_repo/cookbooks/nginx/attributes/repo.rb +30 -0
  233. data/spec/chef_repo/cookbooks/nginx/attributes/source.rb +41 -0
  234. data/spec/chef_repo/cookbooks/nginx/attributes/upload_progress.rb +23 -0
  235. data/spec/chef_repo/cookbooks/nginx/chefignore +96 -0
  236. data/spec/chef_repo/cookbooks/nginx/definitions/nginx_site.rb +41 -0
  237. data/spec/chef_repo/cookbooks/nginx/files/default/mime.types +74 -0
  238. data/spec/chef_repo/cookbooks/nginx/files/default/naxsi_core.rules +82 -0
  239. data/spec/chef_repo/cookbooks/nginx/files/default/tests/minitest/default_test.rb +12 -0
  240. data/spec/chef_repo/cookbooks/nginx/files/default/tests/minitest/source_test.rb +9 -0
  241. data/spec/chef_repo/cookbooks/nginx/files/default/tests/minitest/support/helpers.rb +7 -0
  242. data/spec/chef_repo/cookbooks/nginx/metadata.json +315 -0
  243. data/spec/chef_repo/cookbooks/nginx/metadata.rb +113 -0
  244. data/spec/chef_repo/cookbooks/nginx/recipes/authorized_ips.rb +37 -0
  245. data/spec/chef_repo/cookbooks/nginx/recipes/commons.rb +23 -0
  246. data/spec/chef_repo/cookbooks/nginx/recipes/commons_conf.rb +40 -0
  247. data/spec/chef_repo/cookbooks/nginx/recipes/commons_dir.rb +41 -0
  248. data/spec/chef_repo/cookbooks/nginx/recipes/commons_script.rb +28 -0
  249. data/spec/chef_repo/cookbooks/nginx/recipes/default.rb +46 -0
  250. data/spec/chef_repo/cookbooks/nginx/recipes/headers_more_module.rb +54 -0
  251. data/spec/chef_repo/cookbooks/nginx/recipes/http_echo_module.rb +46 -0
  252. data/spec/chef_repo/cookbooks/nginx/recipes/http_geoip_module.rb +116 -0
  253. data/spec/chef_repo/cookbooks/nginx/recipes/http_gzip_static_module.rb +23 -0
  254. data/spec/chef_repo/cookbooks/nginx/recipes/http_realip_module.rb +42 -0
  255. data/spec/chef_repo/cookbooks/nginx/recipes/http_ssl_module.rb +23 -0
  256. data/spec/chef_repo/cookbooks/nginx/recipes/http_stub_status_module.rb +36 -0
  257. data/spec/chef_repo/cookbooks/nginx/recipes/ipv6.rb +22 -0
  258. data/spec/chef_repo/cookbooks/nginx/recipes/naxsi_module.rb +53 -0
  259. data/spec/chef_repo/cookbooks/nginx/recipes/ohai_plugin.rb +39 -0
  260. data/spec/chef_repo/cookbooks/nginx/recipes/passenger.rb +81 -0
  261. data/spec/chef_repo/cookbooks/nginx/recipes/repo.rb +42 -0
  262. data/spec/chef_repo/cookbooks/nginx/recipes/source.rb +204 -0
  263. data/spec/chef_repo/cookbooks/nginx/recipes/upload_progress_module.rb +46 -0
  264. data/spec/chef_repo/cookbooks/nginx/templates/debian/nginx.init.erb +97 -0
  265. data/spec/chef_repo/cookbooks/nginx/templates/default/default-site.erb +11 -0
  266. data/spec/chef_repo/cookbooks/nginx/templates/default/modules/authorized_ip.erb +6 -0
  267. data/spec/chef_repo/cookbooks/nginx/templates/default/modules/http_geoip.conf.erb +4 -0
  268. data/spec/chef_repo/cookbooks/nginx/templates/default/modules/http_realip.conf.erb +4 -0
  269. data/spec/chef_repo/cookbooks/nginx/templates/default/modules/nginx_status.erb +14 -0
  270. data/spec/chef_repo/cookbooks/nginx/templates/default/modules/passenger.conf.erb +10 -0
  271. data/spec/chef_repo/cookbooks/nginx/templates/default/nginx-upstart.conf.erb +40 -0
  272. data/spec/chef_repo/cookbooks/nginx/templates/default/nginx.conf.erb +69 -0
  273. data/spec/chef_repo/cookbooks/nginx/templates/default/nginx.init.erb +111 -0
  274. data/spec/chef_repo/cookbooks/nginx/templates/default/nginx.pill.erb +15 -0
  275. data/spec/chef_repo/cookbooks/nginx/templates/default/nginx.sysconfig.erb +1 -0
  276. data/spec/chef_repo/cookbooks/nginx/templates/default/nxdissite.erb +29 -0
  277. data/spec/chef_repo/cookbooks/nginx/templates/default/nxensite.erb +38 -0
  278. data/spec/chef_repo/cookbooks/nginx/templates/default/plugins/nginx.rb.erb +66 -0
  279. data/spec/chef_repo/cookbooks/nginx/templates/default/sv-nginx-log-run.erb +2 -0
  280. data/spec/chef_repo/cookbooks/nginx/templates/default/sv-nginx-run.erb +3 -0
  281. data/spec/chef_repo/cookbooks/nginx/templates/gentoo/nginx.init.erb +87 -0
  282. data/spec/chef_repo/cookbooks/nginx/templates/ubuntu/nginx.init.erb +97 -0
  283. data/spec/chef_repo/cookbooks/ohai/CHANGELOG.md +27 -0
  284. data/spec/chef_repo/cookbooks/ohai/CONTRIBUTING +29 -0
  285. data/spec/chef_repo/cookbooks/ohai/LICENSE +201 -0
  286. data/spec/chef_repo/cookbooks/ohai/README.md +49 -0
  287. data/spec/chef_repo/cookbooks/ohai/attributes/default.rb +29 -0
  288. data/spec/chef_repo/cookbooks/ohai/files/default/plugins/README +1 -0
  289. data/spec/chef_repo/cookbooks/ohai/metadata.json +60 -0
  290. data/spec/chef_repo/cookbooks/ohai/metadata.rb +23 -0
  291. data/spec/chef_repo/cookbooks/ohai/recipes/default.rb +54 -0
  292. data/spec/chef_repo/cookbooks/redis/README.md +76 -0
  293. data/spec/chef_repo/cookbooks/redis/attributes/default.rb +51 -0
  294. data/spec/chef_repo/cookbooks/redis/metadata.json +304 -0
  295. data/spec/chef_repo/cookbooks/redis/metadata.rb +112 -0
  296. data/spec/chef_repo/cookbooks/redis/recipes/client.rb +23 -0
  297. data/spec/chef_repo/cookbooks/redis/recipes/default.rb +34 -0
  298. data/spec/chef_repo/cookbooks/redis/recipes/install_from_package.rb +26 -0
  299. data/spec/chef_repo/cookbooks/redis/recipes/install_from_release.rb +30 -0
  300. data/spec/chef_repo/cookbooks/redis/recipes/server.rb +42 -0
  301. data/spec/chef_repo/cookbooks/redis/templates/default/redis.conf.erb +136 -0
  302. data/spec/chef_repo/cookbooks/redis/templates/default/sv-redis_server-log-run.erb +2 -0
  303. data/spec/chef_repo/cookbooks/redis/templates/default/sv-redis_server-run.erb +6 -0
  304. data/spec/chef_repo/cookbooks/runit/.gitignore +17 -0
  305. data/spec/chef_repo/cookbooks/runit/.kitchen.yml +53 -0
  306. data/spec/chef_repo/cookbooks/runit/Berksfile +12 -0
  307. data/spec/chef_repo/cookbooks/runit/CHANGELOG.md +97 -0
  308. data/spec/chef_repo/cookbooks/runit/CONTRIBUTING.md +257 -0
  309. data/spec/chef_repo/cookbooks/runit/Gemfile +8 -0
  310. data/spec/chef_repo/cookbooks/runit/LICENSE +201 -0
  311. data/spec/chef_repo/cookbooks/runit/README.md +448 -0
  312. data/spec/chef_repo/cookbooks/runit/Rakefile +17 -0
  313. data/spec/chef_repo/cookbooks/runit/attributes/default.rb +77 -0
  314. data/spec/chef_repo/cookbooks/runit/files/default/runit-2.1.1.tar.gz +0 -0
  315. data/spec/chef_repo/cookbooks/runit/files/default/runit.seed +1 -0
  316. data/spec/chef_repo/cookbooks/runit/files/default/runsvdir +0 -0
  317. data/spec/chef_repo/cookbooks/runit/files/ubuntu-6.10/runsvdir +6 -0
  318. data/spec/chef_repo/cookbooks/runit/files/ubuntu-7.04/runsvdir +7 -0
  319. data/spec/chef_repo/cookbooks/runit/files/ubuntu-7.10/runsvdir +7 -0
  320. data/spec/chef_repo/cookbooks/runit/files/ubuntu-8.04/runsvdir +7 -0
  321. data/spec/chef_repo/cookbooks/runit/libraries/default.rb +0 -0
  322. data/spec/chef_repo/cookbooks/runit/libraries/provider_runit_service.rb +428 -0
  323. data/spec/chef_repo/cookbooks/runit/libraries/resource_runit_service.rb +185 -0
  324. data/spec/chef_repo/cookbooks/runit/metadata.rb +16 -0
  325. data/spec/chef_repo/cookbooks/runit/recipes/default.rb +124 -0
  326. data/spec/chef_repo/cookbooks/runit/templates/debian/init.d.erb +66 -0
  327. data/spec/chef_repo/cookbooks/runit/templates/gentoo/runit-start.sh.erb +32 -0
  328. data/spec/chef_repo/cookbooks/yum/.gitignore +14 -0
  329. data/spec/chef_repo/cookbooks/yum/.kitchen.yml +22 -0
  330. data/spec/chef_repo/cookbooks/yum/Berksfile +7 -0
  331. data/spec/chef_repo/cookbooks/yum/CHANGELOG.md +97 -0
  332. data/spec/chef_repo/cookbooks/yum/CONTRIBUTING.md +257 -0
  333. data/spec/chef_repo/cookbooks/yum/LICENSE +201 -0
  334. data/spec/chef_repo/cookbooks/yum/README.md +270 -0
  335. data/spec/chef_repo/cookbooks/yum/attributes/default.rb +30 -0
  336. data/spec/chef_repo/cookbooks/yum/attributes/elrepo.rb +24 -0
  337. data/spec/chef_repo/cookbooks/yum/attributes/epel.rb +39 -0
  338. data/spec/chef_repo/cookbooks/yum/attributes/remi.rb +30 -0
  339. data/spec/chef_repo/cookbooks/yum/files/default/tests/minitest/default_test.rb +28 -0
  340. data/spec/chef_repo/cookbooks/yum/files/default/tests/minitest/support/helpers.rb +37 -0
  341. data/spec/chef_repo/cookbooks/yum/files/default/tests/minitest/test_test.rb +66 -0
  342. data/spec/chef_repo/cookbooks/yum/metadata.json +100 -0
  343. data/spec/chef_repo/cookbooks/yum/metadata.rb +37 -0
  344. data/spec/chef_repo/cookbooks/yum/providers/key.rb +79 -0
  345. data/spec/chef_repo/cookbooks/yum/providers/repository.rb +124 -0
  346. data/spec/chef_repo/cookbooks/yum/recipes/default.rb +18 -0
  347. data/spec/chef_repo/cookbooks/yum/recipes/elrepo.rb +31 -0
  348. data/spec/chef_repo/cookbooks/yum/recipes/epel.rb +35 -0
  349. data/spec/chef_repo/cookbooks/yum/recipes/ius.rb +42 -0
  350. data/spec/chef_repo/cookbooks/yum/recipes/remi.rb +35 -0
  351. data/spec/chef_repo/cookbooks/yum/recipes/repoforge.rb +41 -0
  352. data/spec/chef_repo/cookbooks/yum/recipes/test.rb +39 -0
  353. data/spec/chef_repo/cookbooks/yum/recipes/yum.rb +23 -0
  354. data/spec/chef_repo/cookbooks/yum/resources/key.rb +29 -0
  355. data/spec/chef_repo/cookbooks/yum/resources/repository.rb +41 -0
  356. data/spec/chef_repo/cookbooks/yum/templates/default/repo.erb +38 -0
  357. data/spec/chef_repo/cookbooks/yum/templates/default/yum-rhel5.conf.erb +33 -0
  358. data/spec/chef_repo/cookbooks/yum/templates/default/yum-rhel6.conf.erb +36 -0
  359. data/spec/chef_repo/data_bags/.gitkeep +0 -0
  360. data/spec/chef_repo/data_bags/sample/items.json +1 -0
  361. data/spec/chef_repo/roles/.gitkeep +0 -0
  362. data/spec/chef_repo/roles/dummy.json +14 -0
  363. data/spec/chef_repo/site-cookbooks/.gitkeep +0 -0
  364. data/spec/chef_repo/site-cookbooks/sample/CHANGELOG.md +12 -0
  365. data/spec/chef_repo/site-cookbooks/sample/README.md +68 -0
  366. data/spec/chef_repo/site-cookbooks/sample/metadata.rb +7 -0
  367. data/spec/chef_repo/site-cookbooks/sample/recipes/default.rb +18 -0
  368. data/spec/chef_repo/solo.rb +3 -0
  369. data/spec/fixtures/items.json +1 -0
  370. data/spec/spec_helper.rb +32 -0
  371. metadata +880 -0
@@ -0,0 +1,34 @@
1
+ #
2
+ # Author:: Joshua Timberman <joshua@opscode.com>
3
+ # Copyright:: Copyright (c) 2012, Opscode, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+
18
+ require File.expand_path('../support/helpers', __FILE__)
19
+
20
+ describe "apache2::god_monitor" do
21
+ include Helpers::Apache
22
+
23
+ it 'starts god service to supervise apache2' do
24
+ service("god").must_be_running
25
+ end
26
+
27
+ it 'creates the god service template for apache' do
28
+ file("/etc/god/conf.d/apache2.god").must_exist
29
+ end
30
+
31
+ it 'starts an apache2 service that works like a regular service' do
32
+ # to be implemented when COOK-744 is fixed
33
+ end
34
+ end
@@ -0,0 +1,19 @@
1
+ require File.expand_path('../support/helpers', __FILE__)
2
+
3
+ describe 'apache2::mod_apreq2' do
4
+ include Helpers::Apache
5
+
6
+ it 'enables apreq_module' do
7
+ apache_enabled_modules.must_include "apreq_module"
8
+ end
9
+
10
+ it 'symlinks the module on EL' do
11
+ skip unless %w{rhel fedora}.include?(node['platform_family'])
12
+ libdir = node['kernel']['machine'] == 'x86_64' ? "lib64" : "lib"
13
+ link(
14
+ "/usr/#{libdir}/httpd/modules/mod_apreq.so"
15
+ ).must_exist.with(
16
+ :link_type, :symbolic).and(:to, "/usr/#{libdir}/httpd/modules/mod_apreq2.so"
17
+ )
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ require File.expand_path('../support/helpers', __FILE__)
2
+
3
+ describe "apache2::mod_auth_cas" do
4
+ include Helpers::Apache
5
+
6
+ it 'enables auth_cas_module' do
7
+ skip if %w{rhel fedora}.include?(node['platform_family']) && node['platform_version'].to_f > 6.0
8
+ apache_enabled_modules.must_include "auth_cas_module"
9
+ end
10
+
11
+ end
@@ -0,0 +1,37 @@
1
+ require File.expand_path('../support/helpers', __FILE__)
2
+ require 'pathname'
3
+
4
+ describe 'apache2::mod_auth_openid' do
5
+ include Helpers::Apache
6
+
7
+ it "installs the opekele library" do
8
+ lib_dir = Pathname.new(node['apache']['lib_dir']).dirname.to_s
9
+ file("#{lib_dir}/libopkele.so").must_exist
10
+ end
11
+
12
+ it "does not add the module to httpd.conf" do
13
+ conffile = case node['platform']
14
+ when 'debian', 'ubuntu'
15
+ "apache2.conf"
16
+ when "redhat", "centos", "scientific", "fedora", "arch", "amazon"
17
+ "conf/httpd.conf"
18
+ when "freebsd"
19
+ "httpd.conf"
20
+ end
21
+ httpd_config = File.read(File.join(node['apache']['dir'], conffile))
22
+ refute_match /^LoadModule authopenid_module /, httpd_config
23
+ end
24
+
25
+ it "creates a cache directory for the module" do
26
+ directory(node['apache']['mod_auth_openid']['cache_dir']).must_exist.with(:owner, node['apache']['user'])
27
+ end
28
+
29
+ it "ensures the db file is writable by apache" do
30
+ file(node['apache']['mod_auth_openid']['dblocation']).must_exist.with(:owner, node['apache']['user']).and(:mode, "644")
31
+ end
32
+
33
+ it 'enables authopenid_module' do
34
+ apache_enabled_modules.must_include "authopenid_module"
35
+ end
36
+
37
+ end
@@ -0,0 +1,13 @@
1
+ require File.expand_path('../support/helpers', __FILE__)
2
+
3
+ describe 'apache2::mod_cgi' do
4
+ include Helpers::Apache
5
+
6
+ # the cgi module can be either cgi or cgid
7
+ it 'enables cgi or cgid_module' do
8
+ assert(apache_enabled_modules.include?('cgi_module') ||
9
+ apache_enabled_modules.include?('cgid_module')
10
+ )
11
+ end
12
+
13
+ end
@@ -0,0 +1,14 @@
1
+ require File.expand_path('../support/helpers', __FILE__)
2
+
3
+ describe 'apache2::mod_dav_svn' do
4
+ include Helpers::Apache
5
+
6
+ it 'enables dav_svn_module' do
7
+ apache_enabled_modules.must_include "dav_svn_module"
8
+ end
9
+
10
+ it 'enables dav_module' do
11
+ apache_enabled_modules.must_include "dav_module"
12
+ end
13
+
14
+ end
@@ -0,0 +1,11 @@
1
+ require File.expand_path('../support/helpers', __FILE__)
2
+
3
+ describe "apache2::mod_fastcgi" do
4
+ include Helpers::Apache
5
+
6
+ it 'enables fastcgi_module' do
7
+ skip if %w{rhel fedora}.include?(node['platform_family'])
8
+ apache_enabled_modules.must_include "fastcgi_module"
9
+ end
10
+
11
+ end
@@ -0,0 +1,15 @@
1
+ require File.expand_path('../support/helpers', __FILE__)
2
+
3
+ describe 'apache2::mod_include' do
4
+ include Helpers::Apache
5
+
6
+ it 'enables include_module' do
7
+ apache_enabled_modules.must_include "include_module"
8
+ end
9
+
10
+ it 'drops off the include module configuration' do
11
+ assert_match(/AddType text\/html .shtml/, File.read("#{node['apache']['dir']}/mods-enabled/include.conf"))
12
+ assert_match(/AddOutputFilter INCLUDES .shtml/, File.read("#{node['apache']['dir']}/mods-enabled/include.conf"))
13
+ end
14
+
15
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path('../support/helpers', __FILE__)
2
+
3
+ describe 'apache2::mod_perl' do
4
+ include Helpers::Apache
5
+
6
+ it 'enables perl_module' do
7
+ apache_enabled_modules.must_include "perl_module"
8
+ end
9
+
10
+ it 'installs the apache request library' do
11
+ req_pkg = case node['platform']
12
+ when 'debian', 'ubuntu' then 'libapache2-request-perl'
13
+ else 'perl-libapreq2'
14
+ end
15
+ package(req_pkg).must_be_installed
16
+ end
17
+
18
+ end
@@ -0,0 +1,13 @@
1
+ require File.expand_path('../support/helpers', __FILE__)
2
+
3
+ describe 'apache2::mod_php5' do
4
+ include Helpers::Apache
5
+
6
+ it 'enables php5_module' do
7
+ apache_enabled_modules.must_include "php5_module"
8
+ end
9
+
10
+ it "deletes the packaged php config if any" do
11
+ file("#{node['apache']['dir']}/conf.d/php.conf").wont_exist
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ require File.expand_path('../support/helpers', __FILE__)
2
+
3
+ describe 'apache2::mod_python' do
4
+ include Helpers::Apache
5
+
6
+ it 'enables python_module' do
7
+ apache_enabled_modules.must_include "python_module"
8
+ end
9
+
10
+ end
@@ -0,0 +1,28 @@
1
+ require File.expand_path('../support/helpers', __FILE__)
2
+
3
+ describe 'apache2::mod_ssl' do
4
+ include Helpers::Apache
5
+
6
+ it 'installs the mod_ssl package on RHEL distributions' do
7
+ skip unless ["rhel", "fedora"].include? node['platform_family']
8
+ package("mod_ssl").must_be_installed
9
+ end
10
+
11
+ it 'enables ssl_module' do
12
+ apache_enabled_modules.must_include "ssl_module"
13
+ end
14
+
15
+ it 'does not store SSL config in conf.d' do
16
+ file("#{node['apache']['dir']}/conf.d/ssl.conf").wont_exist
17
+ end
18
+
19
+ it "is configured to listen on port 443" do
20
+ apache_configured_ports.must_include(443)
21
+ end
22
+
23
+ it 'configures SSLCiphersuit from an attribute' do
24
+ assert_match(/^SSLCipherSuite #{node['apache']['mod_ssl']['cipher_suite']}$/,
25
+ File.read("#{node['apache']['dir']}/mods-enabled/ssl.conf"))
26
+ end
27
+
28
+ end
@@ -0,0 +1,65 @@
1
+ module Helpers
2
+ module Apache
3
+ require 'chef/mixin/shell_out'
4
+ include Chef::Mixin::ShellOut
5
+ include MiniTest::Chef::Assertions
6
+ include MiniTest::Chef::Context
7
+ include MiniTest::Chef::Resources
8
+
9
+ def apache_config_parses?
10
+ acp = shell_out("#{node['apache']['binary']} -t")
11
+ acp.exitstatus == 0
12
+ end
13
+
14
+ def apache_configured_ports
15
+ port_config = File.read("#{node['apache']['dir']}/ports.conf")
16
+ port_config.scan(/^Listen ([0-9]+)/).flatten.map { |p| p.to_i }
17
+ end
18
+
19
+ def apache_enabled_modules
20
+ apache_modules = shell_out("#{node['apache']['binary']} -M")
21
+ apache_modules.send(
22
+ if node['platform_family'] == 'rhel' && node['platform_version'].to_f < 6.0
23
+ :stderr
24
+ else
25
+ :stdout
26
+ end
27
+ ).split.select! { |i| i =~ /_module$/ }
28
+ end
29
+
30
+ def apache_service
31
+ service(
32
+ case node['platform']
33
+ when "debian", "ubuntu" then "apache2"
34
+ when "freebsd" then "apache22"
35
+ else "httpd"
36
+ end
37
+ )
38
+ end
39
+
40
+ def config
41
+ file(
42
+ case node['platform']
43
+ when "debian", "ubuntu" then "#{node['apache']['dir']}/apache2.conf"
44
+ when "freebsd" then "#{node['apache']['dir']}/httpd.conf"
45
+ else "#{node['apache']['dir']}/conf/httpd.conf"
46
+ end
47
+ )
48
+ end
49
+
50
+ def ran_recipe?(recipe)
51
+ if Chef::VERSION < "11.0"
52
+ seen_recipes = node.run_state[:seen_recipes]
53
+ recipes = seen_recipes.keys.each { |i| i }
54
+ else
55
+ recipes = run_context.loaded_recipes
56
+ end
57
+ if recipes.empty? and Chef::Config[:solo]
58
+ #If you have roles listed in your run list they are NOT expanded
59
+ recipes = node.run_list.map {|item| item.name if item.type == :recipe }
60
+ end
61
+ recipes.include?(recipe)
62
+ end
63
+
64
+ end
65
+ end
@@ -0,0 +1,527 @@
1
+ {
2
+ "name": "apache2",
3
+ "description": "Installs and configures all aspects of apache2 using Debian style symlinks with helper definitions",
4
+ "long_description": "Description\n===========\n\nThis cookbook provides a complete Debian/Ubuntu style Apache HTTPD\nconfiguration. Non-Debian based distributions such as Red Hat/CentOS,\nArchLinux and others supported by this cookbook will have a\nconfiguration that mimics Debian/Ubuntu style as it is easier to\nmanage with Chef.\n\nDebian-style Apache configuration uses scripts to manage modules and\nsites (vhosts). The scripts are:\n\n* a2ensite\n* a2dissite\n* a2enmod\n* a2dismod\n\nThis cookbook ships with templates of these scripts for non\nDebian/Ubuntu platforms. The scripts are used in the __Definitions__\nbelow.\n\nRequirements\n============\n\n## Ohai and Chef:\n\n* Ohai: 0.6.12+\n* Chef: 0.10.10+\n\nAs of v1.2.0, this cookbook makes use of `node['platform_family']` to\nsimplify platform selection logic. This attribute was introduced in\nOhai v0.6.12. The recipe methods were introduced in Chef v0.10.10. If\nyou must run an older version of Chef or Ohai, use [version 1.1.16 of\nthis cookbook](http://community.opscode.com/cookbooks/apache2/versions/1_1_16/downloads).\n\n## Cookbooks:\n\nThis cookbook doesn't have direct dependencies on other cookbooks, as\nnone are needed for the default recipe or the general use cases.\n\nDepending on your OS configuration and security policy, you may need\nadditional recipes or cookbooks for this cookbook's recipes to\nconverge on the node. In particular, the following Operating System\nsettings may affect the behavior of this cookbook:\n\n* apt cache outdated\n* SELinux enabled\n* IPtables\n* Compile tools\n* 3rd party repositories\n\nOn Ubuntu/Debian, use Opscode's `apt` cookbook to ensure the package\ncache is updated so Chef can install packages, or consider putting\napt-get in your bootstrap process or\n[knife bootstrap template](http://wiki.opscode.com/display/chef/Knife+Bootstrap).\n\nOn RHEL, SELinux is enabled by default. The `selinux` cookbook\ncontains a `permissive` recipe that can be used to set SELinux to\n\"Permissive\" state. Otherwise, additional recipes need to be created\nby the user to address SELinux permissions.\n\nThe easiest but **certainly not ideal way** to deal with IPtables is\nto flush all rules. Opscode does provide an `iptables` cookbook but is\nmigrating from the approach used there to a more robust solution\nutilizing a general \"firewall\" LWRP that would have an \"iptables\"\nprovider. Alternately, you can use ufw, with Opscode's `ufw` and\n`firewall` cookbooks to set up rules. See those cookbooks' READMEs for\ndocumentation.\n\nBuild/compile tools may not be installed on the system by default.\nSome recipes (e.g., `apache2::mod_auth_openid`) build the module from\nsource. Use Opscode's `build-essential` cookbook to get essential\nbuild packages installed.\n\nOn ArchLinux, if you are using the `apache2::mod_auth_openid` recipe,\nyou also need the `pacman` cookbook for the `pacman_aur` LWRP. Put\n`recipe[pacman]` on the node's expanded run list (on the node or in a\nrole). This is not an explicit dependency because it is only required\nfor this single recipe and platform; the pacman default recipe\nperforms `pacman -Sy` to keep pacman's package cache updated.\n\nThe `apache2::god_monitor` recipe uses a definition from the `god`\ncookbook. Include `recipe[god]` in the node's expanded run list to\nensure that the cookbook is available to the node, and to set up `god`.\n\n## Platforms:\n\nThe following platforms and versions are tested and supported using\nOpscode's [test-kitchen](http://github.com/opscode/test-kitchen).\n\n* Ubuntu 10.04, 12.04\n* CentOS 5.8, 6.3\n\nThe following platform families are supported in the code, and are\nassumed to work based on the successful testing on Ubuntu and CentOS.\n\n* Debian\n* Red Hat (rhel)\n* Fedora\n* Amazon Linux\n\nThe following platforms are also supported in the code, have been\ntested manually but are not tested under test-kitchen.\n\n* SUSE/OpenSUSE\n* ArchLinux\n* FreeBSD\n\n### Notes for RHEL Family:\n\nOn Red Hat Enterprise Linux and derivatives, the EPEL repository may\nbe necessary to install packages used in certain recipes. The\n`apache2::default` recipe, however, does not require any additional\nrepositories. Opscode's `yum` cookbook contains a recipe to add the\nEPEL repository. See __Examples__ for more information.\n\n### Notes for FreeBSD:\n\nThe `apache2::mod_php5` recipe depends on the `freebsd` cookbook,\nwhich it uses to set the correct options for compiling the `php5` port\nfrom sources. You need to ensure the `freebsd` is in the expanded run\nlist, or this recipe will fail. We don't set an explicit dependency\nbecause we feel the `freebsd` cookbook is something users would want\non their nodes, and due to the generality of this cookbook we don't\nwant additional specific dependencies.\n\nTests\n=====\n\nThis cookbook in the\n[source repository](https://github.com/opscode-cookbooks/apache2)\ncontains minitest and cucumber tests. This is an initial proof of\nconcept that will be fleshed out with more supporting infrastructure\nat a future time.\n\nPlease see the CONTRIBUTING file for information on how to add tests\nfor your contributions.\n\nAttributes\n==========\n\nThis cookbook uses many attributes, broken up into a few different\nkinds.\n\nPlatform specific\n-----------------\n\nIn order to support the broadest number of platforms, several\nattributes are determined based on the node's platform. See the\nattributes/default.rb file for default values in the case statement at\nthe top of the file.\n\n* `node['apache']['dir']` - Location for the Apache configuration\n* `node['apache']['log_dir']` - Location for Apache logs\n* `node['apache']['user']` - User Apache runs as\n* `node['apache']['group']` - Group Apache runs as\n* `node['apache']['binary']` - Apache httpd server daemon\n* `node['apache']['icondir']` - Location for icons\n* `node['apache']['cache_dir']` - Location for cached files used by Apache itself or recipes\n* `node['apache']['pid_file']` - Location of the PID file for Apache httpd\n* `node['apache']['lib_dir']` - Location for shared libraries\n* `node['apache']['default_site_enabled']` - Default site enabled. Defaults to true on redhat-family platforms\n* `node['apache']['ext_status']` - if true, enables ExtendedStatus for `mod_status`\n\nGeneral settings\n----------------\n\nThese are general settings used in recipes and templates. Default\nvalues are noted.\n\n* `node['apache']['listen_ports']` - Ports that httpd should listen on. Default is port 80.\n* `node['apache']['contact']` - Value for ServerAdmin directive. Default \"ops@example.com\".\n* `node['apache']['timeout']` - Value for the Timeout directive. Default is 300.\n* `node['apache']['keepalive']` - Value for the KeepAlive directive. Default is On.\n* `node['apache']['keepaliverequests']` - Value for MaxKeepAliveRequests. Default is 100.\n* `node['apache']['keepalivetimeout']` - Value for the KeepAliveTimeout directive. Default is 5.\n* `node['apache']['default_modules']` - Array of module names. Can take \"mod_FOO\" or \"FOO\" as names, where FOO is the apache module, e.g. \"`mod_status`\" or \"`status`\".\n\nThe modules listed in `default_modules` will be included as recipes in `recipe[apache::default]`.\n\nPrefork attributes\n------------------\n\nPrefork attributes are used for tuning the Apache HTTPD prefork MPM\nconfiguration.\n\n* `node['apache']['prefork']['startservers']` - initial number of server processes to start. Default is 16.\n* `node['apache']['prefork']['minspareservers']` - minimum number of spare server processes. Default 16.\n* `node['apache']['prefork']['maxspareservers']` - maximum number of spare server processes. Default 32.\n* `node['apache']['prefork']['serverlimit']` - upper limit on configurable server processes. Default 400.\n* `node['apache']['prefork']['maxclients']` - Maximum number of simultaneous connections.\n* `node['apache']['prefork']['maxrequestsperchild']` - Maximum number of request a child process will handle. Default 10000.\n\nWorker attributes\n-----------------\n\nWorker attributes are used for tuning the Apache HTTPD worker MPM\nconfiguration.\n\n* `node['apache']['worker']['startservers']` - Initial number of server processes to start. Default 4\n* `node['apache']['worker']['serverlimit']` - upper limit on configurable server processes. Default 16.\n* `node['apache']['worker']['maxclients']` - Maximum number of simultaneous connections. Default 1024.\n* `node['apache']['worker']['minsparethreads']` - Minimum number of spare worker threads. Default 64\n* `node['apache']['worker']['maxsparethreads']` - Maximum number of spare worker threads. Default 192.\n* `node['apache']['worker']['maxrequestsperchild']` - Maximum number of requests a child process will handle.\n\nmod\\_auth\\_openid attributes\n----------------------------\n\nThe following attributes are in the `attributes/mod_auth_openid.rb`\nfile. Like all Chef attributes files, they are loaded as well, but\nthey're logistically unrelated to the others, being specific to the\n`mod_auth_openid` recipe.\n\n* `node['apache']['mod_auth_openid']['checksum']` - sha256sum of the tarball containing the source.\n* `node['apache']['mod_auth_openid']['ref']` - Any sha, tag, or branch found from https://github.com/bmuller/mod_auth_openid\n* `node['apache']['mod_auth_openid']['cache_dir']` - the cache directory is where the sqlite3 database is stored. It is separate so it can be managed as a directory resource.\n* `node['apache']['mod_auth_openid']['dblocation']` - filename of the sqlite3 database used for directive `AuthOpenIDDBLocation`, stored in the `cache_dir` by default.\n* `node['apache']['mod_auth_openid']['configure_flags']` - optional array of configure flags passed to the `./configure` step in the compilation of the module.\n\nmod\\_ssl attributes\n-------------------\n\n* `node['apache']['mod_ssl']['cipher_suite']` - sets the\n SSLCiphersuite value to the specified string. The default is\n considered \"sane\" but you may need to change it for your local\n security policy, e.g. if you have PCI-DSS requirements. Additional\n commentary on the\n [original pull request](https://github.com/opscode-cookbooks/apache2/pull/15#commitcomment-1605406).\n\nRecipes\n=======\n\nMost of the recipes in the cookbook are for enabling Apache modules.\nWhere additional configuration or behavior is used, it is documented\nbelow in more detail.\n\nThe following recipes merely enable the specified module: `mod_alias`,\n`mod_basic`, `mod_digest`, `mod_authn_file`, `mod_authnz_ldap`,\n`mod_authz_default`, `mod_authz_groupfile`, `mod_authz_host`,\n`mod_authz_user`, `mod_autoindex`, `mod_cgi`, `mod_dav_fs`,\n`mod_dav_svn`, `mod_deflate`, `mod_dir`, `mod_env`, `mod_expires`,\n`mod_headers`, `mod_ldap`, `mod_log_config`, `mod_mime`,\n`mod_negotiation`, `mod_proxy`, `mod_proxy_ajp`, `mod_proxy_balancer`,\n`mod_proxy_connect`, `mod_proxy_http`, `mod_python`, `mod_rewrite`,\n`mod_setenvif`, `mod_status`, `mod_wsgi`, `mod_xsendfile`.\n\nOn RHEL Family distributions, certain modules ship with a config file\nwith the package. The recipes here may delete those configuration\nfiles to ensure they don't conflict with the settings from the\ncookbook, which will use per-module configuration in\n`/etc/httpd/mods-enabled`.\n\ndefault\n-------\n\nThe default recipe does a number of things to set up Apache HTTPd. It\nalso includes a number of modules based on the attribute\n`node['apache']['default_modules']` as recipes.\n\nlogrotate\n---------\n\nLogrotate adds a logrotate entry for your apache2 logs. This recipe\nrequires the `logrotate` cookbook; ensure that `recipe[logrotate]` is\nin the node's expanded run list.\n\nmod\\_auth\\_cas\n--------------\n\nThis recipe installs the proper package and enables the `auth_cas`\nmodule. It can install from source or package. Package is the default,\nset the attribute `node['apache']['mod_auth_cas']['from_source']` to\ntrue to enable source installation. Modify the version to install by\nchanging the attribute\n`node['apache']['mod_auth_cas']['source_revision']`. It is a version\ntag by default, but could be master, or another tag, or branch.\n\nThe module configuration is written out with the `CASCookiePath` set,\notherwise an error loading the module may cause Apache to not start.\n\n**Note**: This recipe does not work on EL 6 platforms unless\nepel-testing repository is enabled (outside the scope of this\ncookbook), or the package version 1.0.8.1-3.el6 or higher is otherwise\navailable to the system due to this bug:\n\nhttps://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=708550\n\nmod\\_auth\\_openid\n-----------------\n\n**Changed via COOK-915**\n\nThis recipe compiles the module from source. In addition to\n`build-essential`, some other packages are included for installation\nlike the GNU C++ compiler and development headers.\n\nTo use the module in your own cookbooks to authenticate systems using\nOpenIDs, specify an array of OpenIDs that are allowed to authenticate\nwith the attribute `node['apache']['allowed_openids']`. Use the\nfollowing in a vhost to protect with OpenID authentication:\n\n AuthType OpenID require user <%= node['apache']['allowed_openids'].join(' ') %>\n AuthOpenIDDBLocation <%= node['apache']['mod_auth_openid']['dblocation'] %>\n\nChange the DBLocation with the attribute as required; this file is in\na different location than previous versions, see below. It should be a\nsane default for most platforms, though, see\n`attributes/mod_auth_openid.rb`.\n\n### Changes from COOK-915:\n\n* `AuthType OpenID` instead of `AuthOpenIDEnabled On`.\n* `require user` instead of `AuthOpenIDUserProgram`.\n* A bug(?) in `mod_auth_openid` causes it to segfault when attempting\n to update the database file if the containing directory is not\n writable by the HTTPD process owner (e.g., www-data), even if the\n file is writable. In order to not interfere with other settings from\n the default recipe in this cookbook, the db file is moved.\n\nmod\\_fastcgi\n------------\n\nInstall the fastcgi package and enable the module.\n\nOnly work on Debian/Ubuntu\n\nmod\\_fcgid\n----------\n\nInstalls the fcgi package and enables the module. Requires EPEL on\nRHEL family.\n\nOn RHEL family, this recipe will delete the fcgid.conf and on version\n6+, create the /var/run/httpd/mod_fcgid` directory, which prevents the\nemergency error:\n\n [emerg] (2)No such file or directory: mod_fcgid: Can't create shared memory for size XX bytes\n\nmod\\_php5\n--------\n\nSimply installs the appropriate package on Debian, Ubuntu and\nArchLinux.\n\nOn Red Hat family distributions including Fedora, the php.conf that\ncomes with the package is removed. On RHEL platforms less than v6, the\n`php53` package is used.\n\nmod\\_ssl\n--------\n\nBesides installing and enabling `mod_ssl`, this recipe will append\nport 443 to the `node['apache']['listen_ports']` attribute array and\nupdate the ports.conf.\n\ngod\\_monitor\n------------\n\nSets up a `god` monitor for Apache. External requirements are the\n`god` and `runit` cookbooks from Opscode. When using this recipe,\ninclude `recipe[god]` in the node's expanded run list to ensure the\nclient downloads it; `god` depends on runit so that will also be\ndownloaded.\n\n**Note** This recipe is not tested under test-kitchen yet and is\n pending fix in COOK-744.\n\nDefinitions\n===========\n\nThe cookbook provides a few definitions. At some point in the future\nthese definitions may be refactored into lightweight resources and\nproviders as suggested by\n[foodcritic rule FC015](http://acrmp.github.com/foodcritic/#FC015).\n\napache\\_conf\n------------\n\nSets up configuration file for an Apache module from a template. The\ntemplate should be in the same cookbook where the definition is used.\nThis is used by the `apache_module` definition and is not often used\ndirectly.\n\nThis will use a template resource to write the module's configuration\nfile in the `mods-available` under the Apache configuration directory\n(`node['apache']['dir']`). This is a platform-dependent location. See\n__apache\\_module__.\n\n### Parameters:\n\n* `name` - Name of the template. When used from the `apache_module`,\n it will use the same name as the module.\n\n### Examples:\n\nCreate `#{node['apache']['dir']}/mods-available/alias.conf`.\n\n apache_conf \"alias\"\n\napache\\_module\n--------------\n\nEnable or disable an Apache module in\n`#{node['apache']['dir']}/mods-available` by calling `a2enmod` or\n`a2dismod` to manage the symbolic link in\n`#{node['apache']['dir']}/mods-enabled`. If the module has a\nconfiguration file, a template should be created in the cookbook where\nthe definition is used. See __Examples__.\n\n### Parameters:\n\n* `name` - Name of the module enabled or disabled with the `a2enmod` or `a2dismod` scripts.\n* `enable` - Default true, which uses `a2enmod` to enable the module. If false, the module will be disabled with `a2dismod`.\n* `conf` - Default false. Set to true if the module has a config file, which will use `apache_conf` for the file.\n* `filename` - specify the full name of the file, e.g.\n\n### Examples:\n\nEnable the ssl module, which also has a configuration template in `templates/default/ssl.conf.erb`.\n\n apache_module \"ssl\" do\n conf true\n end\n\nEnable the php5 module, which has a different filename than the module default:\n\n apache_module \"php5\" do\n filename \"libphp5.so\"\n end\n\nDisable a module:\n\n apache_module \"disabled_module\" do\n enable false\n end\n\nSee the recipes directory for many more examples of `apache_module`.\n\napache\\_site\n------------\n\nEnable or disable a VirtualHost in\n`#{node['apache']['dir']}/sites-available` by calling a2ensite or\na2dissite to manage the symbolic link in\n`#{node['apache']['dir']}/sites-enabled`.\n\nThe template for the site must be managed as a separate resource. To\ncombine the template with enabling a site, see `web_app`.\n\n### Parameters:\n\n* `name` - Name of the site.\n* `enable` - Default true, which uses `a2ensite` to enable the site. If false, the site will be disabled with `a2dissite`.\n\nweb\\_app\n--------\n\nManage a template resource for a VirtualHost site, and enable it with\n`apache_site`. This is commonly done for managing web applications\nsuch as Ruby on Rails, PHP or Django, and the default behavior\nreflects that. However it is flexible.\n\nThis definition includes some recipes to make sure the system is\nconfigured to have Apache and some sane default modules:\n\n* `apache2`\n* `apache2::mod_rewrite`\n* `apache2::mod_deflate`\n* `apache2::mod_headers`\n\nIt will then configure the template (see __Parameters__ and\n__Examples__ below), and enable or disable the site per the `enable`\nparameter.\n\n### Parameters:\n\nCurrent parameters used by the definition:\n\n* `name` - The name of the site. The template will be written to\n `#{node['apache']['dir']}/sites-available/#{params['name']}.conf`\n* `cookbook` - Optional. Cookbook where the source template is. If\n this is not defined, Chef will use the named template in the\n cookbook where the definition is used.\n* `template` - Default `web_app.conf.erb`, source template file.\n* `enable` - Default true. Passed to the `apache_site` definition.\n\nAdditional parameters can be defined when the definition is called in\na recipe, see __Examples__.\n\n### Examples:\n\nAll parameters are passed into the template. You can use whatever you\nlike. The apache2 cookbook comes with a `web_app.conf.erb` template as\nan example. The following parameters are used in the template:\n\n* `server_name` - ServerName directive.\n* `server_aliases` - ServerAlias directive. Must be an array of aliases.\n* `docroot` - DocumentRoot directive.\n* `application_name` - Used in RewriteLog directive. Will be set to the `name` parameter.\n* `directory_index` - Allow overriding the default DirectoryIndex setting, optional\n* `directory_options` - Override Options on the docroot, for example to add parameters like Includes or Indexes, optional.\n* `allow_override` - Modify the AllowOverride directive on the docroot to support apps that need .htaccess to modify configuration or require authentication.\n\nTo use the default web_app, for example:\n\n web_app \"my_site\" do\n server_name node['hostname']\n server_aliases [node['fqdn'], \"my-site.example.com\"]\n docroot \"/srv/www/my_site\"\n end\n\nThe parameters specified will be used as:\n\n* `@params[:server_name]`\n* `@params[:server_aliases]`\n* `@params[:docroot]`\n\nIn the template. When you write your own, the `@` is significant.\n\nFor more information about Definitions and parameters, see the\n[Chef Wiki](http://wiki.opscode.com/display/chef/Definitions)\n\nUsage\n=====\n\nUsing this cookbook is relatively straightforward. Add the desired\nrecipes to the run list of a node, or create a role. Depending on your\nenvironment, you may have multiple roles that use different recipes\nfrom this cookbook. Adjust any attributes as desired. For example, to\ncreate a basic role for web servers that provide both HTTP and HTTPS:\n\n % cat roles/webserver.rb\n name \"webserver\"\n description \"Systems that serve HTTP and HTTPS\"\n run_list(\n \"recipe[apache2]\",\n \"recipe[apache2::mod_ssl]\"\n )\n default_attributes(\n \"apache\" => {\n \"listen_ports\" => [\"80\", \"443\"]\n }\n )\n\nFor examples of using the definitions in your own recipes, see their\nrespective sections above.\n\nLicense and Authors\n===================\n\n* Author:: Adam Jacob <adam@opscode.com>\n* Author:: Joshua Timberman <joshua@opscode.com>\n* Author:: Bryan McLellan <bryanm@widemile.com>\n* Author:: Dave Esposito <esposito@espolinux.corpnet.local>\n* Author:: David Abdemoulaie <github@hobodave.com>\n* Author:: Edmund Haselwanter <edmund@haselwanter.com>\n* Author:: Eric Rochester <err8n@virginia.edu>\n* Author:: Jim Browne <jbrowne@42lines.net>\n* Author:: Matthew Kent <mkent@magoazul.com>\n* Author:: Nathen Harvey <nharvey@customink.com>\n* Author:: Ringo De Smet <ringo.de.smet@amplidata.com>\n* Author:: Sean OMeara <someara@opscode.com>\n* Author:: Seth Chisamore <schisamo@opscode.com>\n* Author:: Gilles Devaux <gilles@peerpong.com>\n\n* Copyright:: 2009-2012, Opscode, Inc\n* Copyright:: 2011, Atriso\n* Copyright:: 2011, CustomInk, LLC.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
5
+ "maintainer": "Opscode, Inc.",
6
+ "maintainer_email": "cookbooks@opscode.com",
7
+ "license": "Apache 2.0",
8
+ "platforms": {
9
+ "redhat": ">= 0.0.0",
10
+ "centos": ">= 0.0.0",
11
+ "scientific": ">= 0.0.0",
12
+ "fedora": ">= 0.0.0",
13
+ "debian": ">= 0.0.0",
14
+ "ubuntu": ">= 0.0.0",
15
+ "arch": ">= 0.0.0",
16
+ "freebsd": ">= 0.0.0",
17
+ "amazon": ">= 0.0.0"
18
+ },
19
+ "dependencies": {
20
+ },
21
+ "recommendations": {
22
+ },
23
+ "suggestions": {
24
+ },
25
+ "conflicting": {
26
+ },
27
+ "providing": {
28
+ },
29
+ "replacing": {
30
+ },
31
+ "attributes": {
32
+ "apache": {
33
+ "display_name": "Apache Hash",
34
+ "description": "Hash of Apache attributes",
35
+ "type": "hash",
36
+ "choice": [
37
+
38
+ ],
39
+ "calculated": false,
40
+ "required": "optional",
41
+ "recipes": [
42
+
43
+ ]
44
+ },
45
+ "apache/dir": {
46
+ "display_name": "Apache Directory",
47
+ "description": "Location for Apache configuration",
48
+ "default": "/etc/apache2",
49
+ "choice": [
50
+
51
+ ],
52
+ "calculated": false,
53
+ "type": "string",
54
+ "required": "optional",
55
+ "recipes": [
56
+
57
+ ]
58
+ },
59
+ "apache/log_dir": {
60
+ "display_name": "Apache Log Directory",
61
+ "description": "Location for Apache logs",
62
+ "default": "/etc/apache2",
63
+ "choice": [
64
+
65
+ ],
66
+ "calculated": false,
67
+ "type": "string",
68
+ "required": "optional",
69
+ "recipes": [
70
+
71
+ ]
72
+ },
73
+ "apache/user": {
74
+ "display_name": "Apache User",
75
+ "description": "User Apache runs as",
76
+ "default": "www-data",
77
+ "choice": [
78
+
79
+ ],
80
+ "calculated": false,
81
+ "type": "string",
82
+ "required": "optional",
83
+ "recipes": [
84
+
85
+ ]
86
+ },
87
+ "apache/binary": {
88
+ "display_name": "Apache Binary",
89
+ "description": "Apache server daemon program",
90
+ "default": "/usr/sbin/apache2",
91
+ "choice": [
92
+
93
+ ],
94
+ "calculated": false,
95
+ "type": "string",
96
+ "required": "optional",
97
+ "recipes": [
98
+
99
+ ]
100
+ },
101
+ "apache/icondir": {
102
+ "display_name": "Apache Icondir",
103
+ "description": "Directory location for icons",
104
+ "default": "/usr/share/apache2/icons",
105
+ "choice": [
106
+
107
+ ],
108
+ "calculated": false,
109
+ "type": "string",
110
+ "required": "optional",
111
+ "recipes": [
112
+
113
+ ]
114
+ },
115
+ "apache/listen_ports": {
116
+ "display_name": "Apache Listen Ports",
117
+ "description": "Ports that Apache should listen on",
118
+ "type": "array",
119
+ "default": [
120
+ "80",
121
+ "443"
122
+ ],
123
+ "choice": [
124
+
125
+ ],
126
+ "calculated": false,
127
+ "required": "optional",
128
+ "recipes": [
129
+
130
+ ]
131
+ },
132
+ "apache/contact": {
133
+ "display_name": "Apache Contact",
134
+ "description": "Email address of webmaster",
135
+ "default": "ops@example.com",
136
+ "choice": [
137
+
138
+ ],
139
+ "calculated": false,
140
+ "type": "string",
141
+ "required": "optional",
142
+ "recipes": [
143
+
144
+ ]
145
+ },
146
+ "apache/timeout": {
147
+ "display_name": "Apache Timeout",
148
+ "description": "Connection timeout value",
149
+ "default": "300",
150
+ "choice": [
151
+
152
+ ],
153
+ "calculated": false,
154
+ "type": "string",
155
+ "required": "optional",
156
+ "recipes": [
157
+
158
+ ]
159
+ },
160
+ "apache/keepalive": {
161
+ "display_name": "Apache Keepalive",
162
+ "description": "HTTP persistent connections",
163
+ "default": "On",
164
+ "choice": [
165
+
166
+ ],
167
+ "calculated": false,
168
+ "type": "string",
169
+ "required": "optional",
170
+ "recipes": [
171
+
172
+ ]
173
+ },
174
+ "apache/keepaliverequests": {
175
+ "display_name": "Apache Keepalive Requests",
176
+ "description": "Number of requests allowed on a persistent connection",
177
+ "default": "100",
178
+ "choice": [
179
+
180
+ ],
181
+ "calculated": false,
182
+ "type": "string",
183
+ "required": "optional",
184
+ "recipes": [
185
+
186
+ ]
187
+ },
188
+ "apache/keepalivetimeout": {
189
+ "display_name": "Apache Keepalive Timeout",
190
+ "description": "Time to wait for requests on persistent connection",
191
+ "default": "5",
192
+ "choice": [
193
+
194
+ ],
195
+ "calculated": false,
196
+ "type": "string",
197
+ "required": "optional",
198
+ "recipes": [
199
+
200
+ ]
201
+ },
202
+ "apache/servertokens": {
203
+ "display_name": "Apache Server Tokens",
204
+ "description": "Server response header",
205
+ "default": "Prod",
206
+ "choice": [
207
+
208
+ ],
209
+ "calculated": false,
210
+ "type": "string",
211
+ "required": "optional",
212
+ "recipes": [
213
+
214
+ ]
215
+ },
216
+ "apache/serversignature": {
217
+ "display_name": "Apache Server Signature",
218
+ "description": "Configure footer on server-generated documents",
219
+ "default": "On",
220
+ "choice": [
221
+
222
+ ],
223
+ "calculated": false,
224
+ "type": "string",
225
+ "required": "optional",
226
+ "recipes": [
227
+
228
+ ]
229
+ },
230
+ "apache/traceenable": {
231
+ "display_name": "Apache Trace Enable",
232
+ "description": "Determine behavior of TRACE requests",
233
+ "default": "On",
234
+ "choice": [
235
+
236
+ ],
237
+ "calculated": false,
238
+ "type": "string",
239
+ "required": "optional",
240
+ "recipes": [
241
+
242
+ ]
243
+ },
244
+ "apache/allowed_openids": {
245
+ "display_name": "Apache Allowed OpenIDs",
246
+ "description": "Array of OpenIDs allowed to authenticate",
247
+ "default": "",
248
+ "choice": [
249
+
250
+ ],
251
+ "calculated": false,
252
+ "type": "string",
253
+ "required": "optional",
254
+ "recipes": [
255
+
256
+ ]
257
+ },
258
+ "apache/prefork": {
259
+ "display_name": "Apache Prefork",
260
+ "description": "Hash of Apache prefork tuning attributes.",
261
+ "type": "hash",
262
+ "choice": [
263
+
264
+ ],
265
+ "calculated": false,
266
+ "required": "optional",
267
+ "recipes": [
268
+
269
+ ]
270
+ },
271
+ "apache/prefork/startservers": {
272
+ "display_name": "Apache Prefork MPM StartServers",
273
+ "description": "Number of MPM servers to start",
274
+ "default": "16",
275
+ "choice": [
276
+
277
+ ],
278
+ "calculated": false,
279
+ "type": "string",
280
+ "required": "optional",
281
+ "recipes": [
282
+
283
+ ]
284
+ },
285
+ "apache/prefork/minspareservers": {
286
+ "display_name": "Apache Prefork MPM MinSpareServers",
287
+ "description": "Minimum number of spare server processes",
288
+ "default": "16",
289
+ "choice": [
290
+
291
+ ],
292
+ "calculated": false,
293
+ "type": "string",
294
+ "required": "optional",
295
+ "recipes": [
296
+
297
+ ]
298
+ },
299
+ "apache/prefork/maxspareservers": {
300
+ "display_name": "Apache Prefork MPM MaxSpareServers",
301
+ "description": "Maximum number of spare server processes",
302
+ "default": "32",
303
+ "choice": [
304
+
305
+ ],
306
+ "calculated": false,
307
+ "type": "string",
308
+ "required": "optional",
309
+ "recipes": [
310
+
311
+ ]
312
+ },
313
+ "apache/prefork/serverlimit": {
314
+ "display_name": "Apache Prefork MPM ServerLimit",
315
+ "description": "Upper limit on configurable server processes",
316
+ "default": "400",
317
+ "choice": [
318
+
319
+ ],
320
+ "calculated": false,
321
+ "type": "string",
322
+ "required": "optional",
323
+ "recipes": [
324
+
325
+ ]
326
+ },
327
+ "apache/prefork/maxclients": {
328
+ "display_name": "Apache Prefork MPM MaxClients",
329
+ "description": "Maximum number of simultaneous connections",
330
+ "default": "400",
331
+ "choice": [
332
+
333
+ ],
334
+ "calculated": false,
335
+ "type": "string",
336
+ "required": "optional",
337
+ "recipes": [
338
+
339
+ ]
340
+ },
341
+ "apache/prefork/maxrequestsperchild": {
342
+ "display_name": "Apache Prefork MPM MaxRequestsPerChild",
343
+ "description": "Maximum number of request a child process will handle",
344
+ "default": "10000",
345
+ "choice": [
346
+
347
+ ],
348
+ "calculated": false,
349
+ "type": "string",
350
+ "required": "optional",
351
+ "recipes": [
352
+
353
+ ]
354
+ },
355
+ "apache/worker": {
356
+ "display_name": "Apache Worker",
357
+ "description": "Hash of Apache prefork tuning attributes.",
358
+ "type": "hash",
359
+ "choice": [
360
+
361
+ ],
362
+ "calculated": false,
363
+ "required": "optional",
364
+ "recipes": [
365
+
366
+ ]
367
+ },
368
+ "apache/worker/startservers": {
369
+ "display_name": "Apache Worker MPM StartServers",
370
+ "description": "Initial number of server processes to start",
371
+ "default": "4",
372
+ "choice": [
373
+
374
+ ],
375
+ "calculated": false,
376
+ "type": "string",
377
+ "required": "optional",
378
+ "recipes": [
379
+
380
+ ]
381
+ },
382
+ "apache/worker/maxclients": {
383
+ "display_name": "Apache Worker MPM MaxClients",
384
+ "description": "Maximum number of simultaneous connections",
385
+ "default": "1024",
386
+ "choice": [
387
+
388
+ ],
389
+ "calculated": false,
390
+ "type": "string",
391
+ "required": "optional",
392
+ "recipes": [
393
+
394
+ ]
395
+ },
396
+ "apache/worker/minsparethreads": {
397
+ "display_name": "Apache Worker MPM MinSpareThreads",
398
+ "description": "Minimum number of spare worker threads",
399
+ "default": "64",
400
+ "choice": [
401
+
402
+ ],
403
+ "calculated": false,
404
+ "type": "string",
405
+ "required": "optional",
406
+ "recipes": [
407
+
408
+ ]
409
+ },
410
+ "apache/worker/maxsparethreads": {
411
+ "display_name": "Apache Worker MPM MaxSpareThreads",
412
+ "description": "Maximum number of spare worker threads",
413
+ "default": "192",
414
+ "choice": [
415
+
416
+ ],
417
+ "calculated": false,
418
+ "type": "string",
419
+ "required": "optional",
420
+ "recipes": [
421
+
422
+ ]
423
+ },
424
+ "apache/worker/threadsperchild": {
425
+ "display_name": "Apache Worker MPM ThreadsPerChild",
426
+ "description": "Constant number of worker threads in each server process",
427
+ "default": "64",
428
+ "choice": [
429
+
430
+ ],
431
+ "calculated": false,
432
+ "type": "string",
433
+ "required": "optional",
434
+ "recipes": [
435
+
436
+ ]
437
+ },
438
+ "apache/worker/maxrequestsperchild": {
439
+ "display_name": "Apache Worker MPM MaxRequestsPerChild",
440
+ "description": "Maximum number of request a child process will handle",
441
+ "default": "0",
442
+ "choice": [
443
+
444
+ ],
445
+ "calculated": false,
446
+ "type": "string",
447
+ "required": "optional",
448
+ "recipes": [
449
+
450
+ ]
451
+ },
452
+ "apache/default_modules": {
453
+ "display_name": "Apache Default Modules",
454
+ "description": "Default modules to enable via recipes",
455
+ "default": "status alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex dir env mime negotiation setenvif",
456
+ "choice": [
457
+
458
+ ],
459
+ "calculated": false,
460
+ "type": "string",
461
+ "required": "optional",
462
+ "recipes": [
463
+
464
+ ]
465
+ },
466
+ "apache/mod_ssl/cipher_suite": {
467
+ "display_name": "Apache mod_ssl Cipher Suite",
468
+ "description": "String of SSL ciphers to use for SSLCipherSuite",
469
+ "default": "RC4-SHA:HIGH:!ADH",
470
+ "choice": [
471
+
472
+ ],
473
+ "calculated": false,
474
+ "type": "string",
475
+ "required": "optional",
476
+ "recipes": [
477
+
478
+ ]
479
+ }
480
+ },
481
+ "groupings": {
482
+ },
483
+ "recipes": {
484
+ "apache2": "Main Apache configuration",
485
+ "apache2::logrotate": "Rotate apache2 logs. Requires logrotate cookbook",
486
+ "apache2::mod_alias": "Apache module 'alias' with config file",
487
+ "apache2::mod_apreq2": "Apache module 'apreq'",
488
+ "apache2::mod_auth_basic": "Apache module 'auth_basic'",
489
+ "apache2::mod_auth_digest": "Apache module 'auth_digest'",
490
+ "apache2::mod_auth_openid": "Apache module 'authopenid'",
491
+ "apache2::mod_authn_file": "Apache module 'authn_file'",
492
+ "apache2::mod_authnz_ldap": "Apache module 'authnz_ldap'",
493
+ "apache2::mod_authz_default": "Apache module 'authz_default'",
494
+ "apache2::mod_authz_groupfile": "Apache module 'authz_groupfile'",
495
+ "apache2::mod_authz_host": "Apache module 'authz_host'",
496
+ "apache2::mod_authz_user": "Apache module 'authz_user'",
497
+ "apache2::mod_autoindex": "Apache module 'autoindex' with config file",
498
+ "apache2::mod_cgi": "Apache module 'cgi'",
499
+ "apache2::mod_dav": "Apache module 'dav'",
500
+ "apache2::mod_dav_svn": "Apache module 'dav_svn'",
501
+ "apache2::mod_deflate": "Apache module 'deflate' with config file",
502
+ "apache2::mod_dir": "Apache module 'dir' with config file",
503
+ "apache2::mod_env": "Apache module 'env'",
504
+ "apache2::mod_expires": "Apache module 'expires'",
505
+ "apache2::mod_fcgid": "Apache module 'fcgid', package on ubuntu/debian, rhel/centos, compile source on suse; with config file",
506
+ "apache2::mod_headers": "Apache module 'headers'",
507
+ "apache2::mod_include": "Apache module 'include'",
508
+ "apache2::mod_ldap": "Apache module 'ldap'",
509
+ "apache2::mod_log_config": "Apache module 'log_config'",
510
+ "apache2::mod_mime": "Apache module 'mime' with config file",
511
+ "apache2::mod_negotiation": "Apache module 'negotiation' with config file",
512
+ "apache2::mod_perl": "Apache module 'perl'",
513
+ "apache2::mod_php5": "Apache module 'php5'",
514
+ "apache2::mod_proxy": "Apache module 'proxy' with config file",
515
+ "apache2::mod_proxy_ajp": "Apache module 'proxy_ajp'",
516
+ "apache2::mod_proxy_balancer": "Apache module 'proxy_balancer'",
517
+ "apache2::mod_proxy_connect": "Apache module 'proxy_connect'",
518
+ "apache2::mod_proxy_http": "Apache module 'proxy_http'",
519
+ "apache2::mod_python": "Apache module 'python'",
520
+ "apache2::mod_rewrite": "Apache module 'rewrite'",
521
+ "apache2::mod_setenvif": "Apache module 'setenvif' with config file",
522
+ "apache2::mod_ssl": "Apache module 'ssl' with config file, adds port 443 to listen_ports",
523
+ "apache2::mod_status": "Apache module 'status' with config file",
524
+ "apache2::mod_xsendfile": "Apache module 'xsendfile'"
525
+ },
526
+ "version": "1.6.2"
527
+ }