ciborg 0.0.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ciborg might be problematic. Click here for more details.

Files changed (727) hide show
  1. data/.gitignore +9 -16
  2. data/.gitmodules +3 -0
  3. data/.pairs +17 -0
  4. data/.rspec +2 -0
  5. data/.rvmrc +1 -0
  6. data/.travis.yml +5 -0
  7. data/Gemfile +3 -1
  8. data/Guardfile +10 -0
  9. data/LICENSE.txt +17 -18
  10. data/README.md +152 -17
  11. data/Rakefile +16 -1
  12. data/Vagrantfile +18 -0
  13. data/bin/ciborg +5 -0
  14. data/chef/cookbooks/pivotal_ci/.gitignore +4 -0
  15. data/chef/cookbooks/pivotal_ci/Gemfile +3 -0
  16. data/chef/cookbooks/pivotal_ci/README.md +3 -0
  17. data/chef/cookbooks/pivotal_ci/attributes/git.rb +4 -0
  18. data/chef/cookbooks/pivotal_ci/attributes/jenkins.rb +3 -0
  19. data/chef/cookbooks/pivotal_ci/attributes/nginx.rb +1 -0
  20. data/chef/cookbooks/pivotal_ci/attributes/ssl.rb +5 -0
  21. data/chef/cookbooks/pivotal_ci/files/default/jenkins-ci.org.key +112 -0
  22. data/chef/cookbooks/pivotal_ci/files/default/tests/minitest/default_test.rb +75 -0
  23. data/chef/cookbooks/pivotal_ci/metadata.rb +32 -0
  24. data/chef/cookbooks/pivotal_ci/recipes/default.rb +6 -0
  25. data/chef/cookbooks/pivotal_ci/recipes/fonts.rb +5 -0
  26. data/chef/cookbooks/pivotal_ci/recipes/git_config.rb +17 -0
  27. data/chef/cookbooks/pivotal_ci/recipes/id_rsa.rb +32 -0
  28. data/chef/cookbooks/pivotal_ci/recipes/jenkins.rb +26 -0
  29. data/chef/cookbooks/pivotal_ci/recipes/jenkins_config.rb +48 -0
  30. data/chef/cookbooks/pivotal_ci/recipes/limited_travis_ci_environment.rb +39 -0
  31. data/chef/cookbooks/pivotal_ci/recipes/nginx.rb +19 -0
  32. data/chef/cookbooks/pivotal_ci/recipes/ssl_certificate.rb +44 -0
  33. data/chef/cookbooks/pivotal_ci/recipes/teamcity.rb +42 -0
  34. data/chef/cookbooks/pivotal_ci/templates/default/jenkins-job-config.xml.erb +79 -0
  35. data/chef/cookbooks/pivotal_ci/templates/default/nginx-conf.erb +58 -0
  36. data/chef/cookbooks/pivotal_ci/templates/default/nginx-htaccess.erb +3 -0
  37. data/chef/cookbooks/pivotal_ci/templates/default/org.jenkinsci.plugins.xvfb.XvfbBuildWrapper.xml.erb +11 -0
  38. data/chef/cookbooks/pivotal_ci/templates/default/teamcity-initd.erb +44 -0
  39. data/chef/cookbooks/pivotal_ci/test/kitchen/Kitchenfile +4 -0
  40. data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/attributes/default.rb +2 -0
  41. data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/metadata.rb +10 -0
  42. data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/recipes/bootstrap.rb +41 -0
  43. data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/recipes/default.rb +1 -0
  44. data/chef/travis-cookbooks/.gitignore +7 -0
  45. data/chef/travis-cookbooks/LICENSE +23 -0
  46. data/chef/travis-cookbooks/README.md +28 -0
  47. data/chef/travis-cookbooks/ci_environment/.gitignore +1 -0
  48. data/chef/travis-cookbooks/ci_environment/ant/README.md +51 -0
  49. data/chef/travis-cookbooks/ci_environment/ant/metadata.rb +14 -0
  50. data/chef/travis-cookbooks/ci_environment/ant/recipes/default.rb +41 -0
  51. data/chef/travis-cookbooks/ci_environment/apt/README.md +109 -0
  52. data/chef/travis-cookbooks/ci_environment/apt/attributes/default.rb +1 -0
  53. data/chef/travis-cookbooks/ci_environment/apt/files/default/apt-cacher +9 -0
  54. data/chef/travis-cookbooks/ci_environment/apt/files/default/apt-cacher.conf +144 -0
  55. data/chef/travis-cookbooks/ci_environment/apt/files/default/apt-proxy-v2.conf +50 -0
  56. data/chef/travis-cookbooks/ci_environment/apt/metadata.json +34 -0
  57. data/chef/travis-cookbooks/ci_environment/apt/metadata.rb +13 -0
  58. data/chef/travis-cookbooks/ci_environment/apt/providers/repository.rb +73 -0
  59. data/chef/travis-cookbooks/ci_environment/apt/recipes/cacher-client.rb +37 -0
  60. data/chef/travis-cookbooks/ci_environment/apt/recipes/cacher.rb +45 -0
  61. data/chef/travis-cookbooks/ci_environment/apt/recipes/default.rb +55 -0
  62. data/chef/travis-cookbooks/ci_environment/apt/resources/repository.rb +31 -0
  63. data/chef/travis-cookbooks/ci_environment/apt/templates/ubuntu-10.04/sources.list.erb +31 -0
  64. data/chef/travis-cookbooks/ci_environment/apt/templates/ubuntu-11.04/sources.list.erb +31 -0
  65. data/chef/travis-cookbooks/ci_environment/apt/templates/ubuntu-11.10/sources.list.erb +31 -0
  66. data/chef/travis-cookbooks/ci_environment/apt/templates/ubuntu-12.04/sources.list.erb +54 -0
  67. data/chef/travis-cookbooks/ci_environment/bazaar/recipes/default.rb +26 -0
  68. data/chef/travis-cookbooks/ci_environment/bison/attributes/default.rb +7 -0
  69. data/chef/travis-cookbooks/ci_environment/bison/recipes/default.rb +48 -0
  70. data/chef/travis-cookbooks/ci_environment/build-essential/README.md +24 -0
  71. data/chef/travis-cookbooks/ci_environment/build-essential/metadata.rb +10 -0
  72. data/chef/travis-cookbooks/ci_environment/build-essential/recipes/default.rb +47 -0
  73. data/chef/travis-cookbooks/ci_environment/cassandra/attributes/default.rb +28 -0
  74. data/chef/travis-cookbooks/ci_environment/cassandra/recipes/datastax.rb +43 -0
  75. data/chef/travis-cookbooks/ci_environment/cassandra/recipes/package.rb +43 -0
  76. data/chef/travis-cookbooks/ci_environment/cassandra/recipes/tarball.rb +158 -0
  77. data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra-cli.erb +60 -0
  78. data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra-env.sh.erb +159 -0
  79. data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra-limits.conf.erb +2 -0
  80. data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra.init.erb +158 -0
  81. data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra.yaml.erb +567 -0
  82. data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/log4j-server.properties.yml +43 -0
  83. data/chef/travis-cookbooks/ci_environment/chromium/recipes/default.rb +26 -0
  84. data/chef/travis-cookbooks/ci_environment/clang/attributes/tarball.rb +6 -0
  85. data/chef/travis-cookbooks/ci_environment/clang/metadata.rb +11 -0
  86. data/chef/travis-cookbooks/ci_environment/clang/recipes/default.rb +26 -0
  87. data/chef/travis-cookbooks/ci_environment/clang/recipes/tarball.rb +73 -0
  88. data/chef/travis-cookbooks/ci_environment/cmake/README.md +21 -0
  89. data/chef/travis-cookbooks/ci_environment/cmake/metadata.rb +10 -0
  90. data/chef/travis-cookbooks/ci_environment/cmake/recipes/default.rb +23 -0
  91. data/chef/travis-cookbooks/ci_environment/composer/recipes/default.rb +21 -0
  92. data/chef/travis-cookbooks/ci_environment/composer/templates/default/composer.erb +3 -0
  93. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/default.rb +33 -0
  94. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ppa.rb +37 -0
  95. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu-12.04.rb +39 -0
  96. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1110_ppa.rb +27 -0
  97. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1204_ppa.rb +27 -0
  98. data/chef/travis-cookbooks/ci_environment/doxygen/recipes/default.rb +24 -0
  99. data/chef/travis-cookbooks/ci_environment/elasticsearch/attributes/default.rb +6 -0
  100. data/chef/travis-cookbooks/ci_environment/elasticsearch/recipes/default.rb +67 -0
  101. data/chef/travis-cookbooks/ci_environment/emacs/metadata.rb +11 -0
  102. data/chef/travis-cookbooks/ci_environment/emacs/recipes/default.rb +21 -0
  103. data/chef/travis-cookbooks/ci_environment/emacs/recipes/nox.rb +32 -0
  104. data/chef/travis-cookbooks/ci_environment/erlang/attributes/default.rb +1 -0
  105. data/chef/travis-cookbooks/ci_environment/erlang/metadata.rb +11 -0
  106. data/chef/travis-cookbooks/ci_environment/erlang/recipes/default.rb +27 -0
  107. data/chef/travis-cookbooks/ci_environment/firefox/recipes/default.rb +29 -0
  108. data/chef/travis-cookbooks/ci_environment/git/README.rdoc +37 -0
  109. data/chef/travis-cookbooks/ci_environment/git/files/default/git_1.7.5.4-1+github5_amd64.deb +0 -0
  110. data/chef/travis-cookbooks/ci_environment/git/files/default/git_1.7.5.4-1+github5_i386.deb +0 -0
  111. data/chef/travis-cookbooks/ci_environment/git/metadata.rb +15 -0
  112. data/chef/travis-cookbooks/ci_environment/git/recipes/custom.git +65 -0
  113. data/chef/travis-cookbooks/ci_environment/git/recipes/default.rb +23 -0
  114. data/chef/travis-cookbooks/ci_environment/git/recipes/ppa.rb +37 -0
  115. data/chef/travis-cookbooks/ci_environment/git/templates/default/sv-git-daemon-log-run.erb +2 -0
  116. data/chef/travis-cookbooks/ci_environment/git/templates/default/sv-git-daemon-run.erb +3 -0
  117. data/chef/travis-cookbooks/ci_environment/golang/README.md +35 -0
  118. data/chef/travis-cookbooks/ci_environment/golang/attributes/default.rb +11 -0
  119. data/chef/travis-cookbooks/ci_environment/golang/recipes/default.rb +20 -0
  120. data/chef/travis-cookbooks/ci_environment/golang/recipes/multi.rb +55 -0
  121. data/chef/travis-cookbooks/ci_environment/golang/recipes/ppa.rb +32 -0
  122. data/chef/travis-cookbooks/ci_environment/gradle/README.md +33 -0
  123. data/chef/travis-cookbooks/ci_environment/gradle/attributes/tarball.rb +9 -0
  124. data/chef/travis-cookbooks/ci_environment/gradle/files/default/etc/profile.d/gradle.sh +1 -0
  125. data/chef/travis-cookbooks/ci_environment/gradle/recipes/tarball.rb +65 -0
  126. data/chef/travis-cookbooks/ci_environment/gvm/files/ubuntu/gvm.sh +3 -0
  127. data/chef/travis-cookbooks/ci_environment/gvm/recipes/default.rb +44 -0
  128. data/chef/travis-cookbooks/ci_environment/haskell/attributes/ghc.rb +4 -0
  129. data/chef/travis-cookbooks/ci_environment/haskell/attributes/platform.rb +5 -0
  130. data/chef/travis-cookbooks/ci_environment/haskell/files/default/cabal.sh +3 -0
  131. data/chef/travis-cookbooks/ci_environment/haskell/recipes/default.rb +38 -0
  132. data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_package.rb +28 -0
  133. data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_source.rb +78 -0
  134. data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_package.rb +52 -0
  135. data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_ppa.rb +68 -0
  136. data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_source.rb +67 -0
  137. data/chef/travis-cookbooks/ci_environment/haskell/recipes/source.rb +25 -0
  138. data/chef/travis-cookbooks/ci_environment/hbase/recipes/cdh4.rb +49 -0
  139. data/chef/travis-cookbooks/ci_environment/htop/recipes/default.rb +4 -0
  140. data/chef/travis-cookbooks/ci_environment/imagemagick/README.rdoc +33 -0
  141. data/chef/travis-cookbooks/ci_environment/imagemagick/metadata.rb +12 -0
  142. data/chef/travis-cookbooks/ci_environment/imagemagick/recipes/default.rb +37 -0
  143. data/chef/travis-cookbooks/ci_environment/iptables/files/default/iptables_rules +13 -0
  144. data/chef/travis-cookbooks/ci_environment/iptables/metadata.rb +10 -0
  145. data/chef/travis-cookbooks/ci_environment/iptables/recipes/default.rb +48 -0
  146. data/chef/travis-cookbooks/ci_environment/iptables/templates/default/iptables_load.erb +3 -0
  147. data/chef/travis-cookbooks/ci_environment/java/README.md +102 -0
  148. data/chef/travis-cookbooks/ci_environment/java/attributes/default.rb +43 -0
  149. data/chef/travis-cookbooks/ci_environment/java/files/ubuntu/java.seed +14 -0
  150. data/chef/travis-cookbooks/ci_environment/java/files/ubuntu/load_jdk_switcher.sh +7 -0
  151. data/chef/travis-cookbooks/ci_environment/java/files/ubuntu/oraclejdk7.jinfo +44 -0
  152. data/chef/travis-cookbooks/ci_environment/java/files/ubuntu/oraclejdk8.jinfo +44 -0
  153. data/chef/travis-cookbooks/ci_environment/java/files/ubuntu/startssl_root_ca_installer.sh +48 -0
  154. data/chef/travis-cookbooks/ci_environment/java/metadata.rb +16 -0
  155. data/chef/travis-cookbooks/ci_environment/java/recipes/default.rb +30 -0
  156. data/chef/travis-cookbooks/ci_environment/java/recipes/multi.rb +30 -0
  157. data/chef/travis-cookbooks/ci_environment/java/recipes/openjdk6.rb +27 -0
  158. data/chef/travis-cookbooks/ci_environment/java/recipes/openjdk7.rb +27 -0
  159. data/chef/travis-cookbooks/ci_environment/java/recipes/oraclejdk7.rb +83 -0
  160. data/chef/travis-cookbooks/ci_environment/java/recipes/oraclejdk8.rb +71 -0
  161. data/chef/travis-cookbooks/ci_environment/java/templates/ubuntu/etc/profile.d/java_home.sh.erb +3 -0
  162. data/chef/travis-cookbooks/ci_environment/jpackage/CHANGELOG.md +7 -0
  163. data/chef/travis-cookbooks/ci_environment/jpackage/CONTRIBUTING +29 -0
  164. data/chef/travis-cookbooks/ci_environment/jpackage/LICENSE +201 -0
  165. data/chef/travis-cookbooks/ci_environment/jpackage/README.md +52 -0
  166. data/chef/travis-cookbooks/ci_environment/jpackage/attributes/default.rb +20 -0
  167. data/chef/travis-cookbooks/ci_environment/jpackage/metadata.rb +14 -0
  168. data/chef/travis-cookbooks/ci_environment/jpackage/recipes/default.rb +58 -0
  169. data/chef/travis-cookbooks/ci_environment/jpackage/templates/default/jpackage.repo.erb +49 -0
  170. data/chef/travis-cookbooks/ci_environment/jpackage/templates/fedora/jpackage.repo.erb +49 -0
  171. data/chef/travis-cookbooks/ci_environment/kerl/README.md +3 -0
  172. data/chef/travis-cookbooks/ci_environment/kerl/attributes/default.rb +1 -0
  173. data/chef/travis-cookbooks/ci_environment/kerl/attributes/source.rb +2 -0
  174. data/chef/travis-cookbooks/ci_environment/kerl/files/default/erlang.cookie +1 -0
  175. data/chef/travis-cookbooks/ci_environment/kerl/metadata.rb +6 -0
  176. data/chef/travis-cookbooks/ci_environment/kerl/recipes/default.rb +19 -0
  177. data/chef/travis-cookbooks/ci_environment/kerl/recipes/source.rb +104 -0
  178. data/chef/travis-cookbooks/ci_environment/kestrel/attributes/tarball.rb +15 -0
  179. data/chef/travis-cookbooks/ci_environment/kestrel/files/default/config/development.scala +33 -0
  180. data/chef/travis-cookbooks/ci_environment/kestrel/recipes/tarball.rb +134 -0
  181. data/chef/travis-cookbooks/ci_environment/kestrel/templates/ubuntu/kestrel-limits.conf.erb +2 -0
  182. data/chef/travis-cookbooks/ci_environment/kestrel/templates/ubuntu/kestrel.init.erb +208 -0
  183. data/chef/travis-cookbooks/ci_environment/leiningen/README.rdoc +5 -0
  184. data/chef/travis-cookbooks/ci_environment/leiningen/attributes/default.rb +5 -0
  185. data/chef/travis-cookbooks/ci_environment/leiningen/files/default/profiles.clj +1 -0
  186. data/chef/travis-cookbooks/ci_environment/leiningen/metadata.json +32 -0
  187. data/chef/travis-cookbooks/ci_environment/leiningen/metadata.rb +8 -0
  188. data/chef/travis-cookbooks/ci_environment/leiningen/recipes/default.rb +23 -0
  189. data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein1x.rb +68 -0
  190. data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein2x.rb +82 -0
  191. data/chef/travis-cookbooks/ci_environment/libffi/recipes/default.rb +34 -0
  192. data/chef/travis-cookbooks/ci_environment/libgdbm/recipes/default.rb +27 -0
  193. data/chef/travis-cookbooks/ci_environment/libncurses/recipes/default.rb +31 -0
  194. data/chef/travis-cookbooks/ci_environment/libossp-uuid/recipes/default.rb +27 -0
  195. data/chef/travis-cookbooks/ci_environment/libqt4/recipes/default.rb +5 -0
  196. data/chef/travis-cookbooks/ci_environment/libreadline/recipes/default.rb +34 -0
  197. data/chef/travis-cookbooks/ci_environment/libssl/recipes/098.rb +28 -0
  198. data/chef/travis-cookbooks/ci_environment/libssl/recipes/default.rb +24 -0
  199. data/chef/travis-cookbooks/ci_environment/libxml/recipes/default.rb +30 -0
  200. data/chef/travis-cookbooks/ci_environment/libyaml/recipes/default.rb +6 -0
  201. data/chef/travis-cookbooks/ci_environment/lighttpd/attributes/default.rb +3 -0
  202. data/chef/travis-cookbooks/ci_environment/lighttpd/recipes/default.rb +39 -0
  203. data/chef/travis-cookbooks/ci_environment/lighttpd/templates/default/lighttpd.conf.erb +166 -0
  204. data/chef/travis-cookbooks/ci_environment/maven3/attributes/default.rb +3 -0
  205. data/chef/travis-cookbooks/ci_environment/maven3/files/default/settings.xml +136 -0
  206. data/chef/travis-cookbooks/ci_environment/maven3/recipes/default.rb +56 -0
  207. data/chef/travis-cookbooks/ci_environment/maven3/recipes/package.rb +27 -0
  208. data/chef/travis-cookbooks/ci_environment/maven3/recipes/ppa.rb +44 -0
  209. data/chef/travis-cookbooks/ci_environment/maven3/recipes/tarball.rb +37 -0
  210. data/chef/travis-cookbooks/ci_environment/maven3/templates/ubuntu-11.04/install_maven3.sh.erb +32 -0
  211. data/chef/travis-cookbooks/ci_environment/memcached/README.rdoc +52 -0
  212. data/chef/travis-cookbooks/ci_environment/memcached/attributes/default.rb +5 -0
  213. data/chef/travis-cookbooks/ci_environment/memcached/attributes/ppa.rb +3 -0
  214. data/chef/travis-cookbooks/ci_environment/memcached/definitions/memcached_instance.rb +32 -0
  215. data/chef/travis-cookbooks/ci_environment/memcached/metadata.rb +33 -0
  216. data/chef/travis-cookbooks/ci_environment/memcached/recipes/default.rb +60 -0
  217. data/chef/travis-cookbooks/ci_environment/memcached/recipes/ppa.rb +34 -0
  218. data/chef/travis-cookbooks/ci_environment/memcached/templates/default/memcached.conf.erb +54 -0
  219. data/chef/travis-cookbooks/ci_environment/memcached/templates/default/memcached.default.erb +2 -0
  220. data/chef/travis-cookbooks/ci_environment/memcached/templates/default/sv-memcached-log-run.erb +2 -0
  221. data/chef/travis-cookbooks/ci_environment/memcached/templates/default/sv-memcached-run.erb +3 -0
  222. data/chef/travis-cookbooks/ci_environment/mercurial/recipes/default.rb +26 -0
  223. data/chef/travis-cookbooks/ci_environment/mercurial/recipes/ppa.rb +36 -0
  224. data/chef/travis-cookbooks/ci_environment/mingw32/README.md +21 -0
  225. data/chef/travis-cookbooks/ci_environment/mingw32/metadata.rb +10 -0
  226. data/chef/travis-cookbooks/ci_environment/mingw32/recipes/default.rb +23 -0
  227. data/chef/travis-cookbooks/ci_environment/mongodb/.gitignore +1 -0
  228. data/chef/travis-cookbooks/ci_environment/mongodb/README.md +0 -0
  229. data/chef/travis-cookbooks/ci_environment/mongodb/attributes/mongodb.rb +67 -0
  230. data/chef/travis-cookbooks/ci_environment/mongodb/files/default/mongodb.list +1 -0
  231. data/chef/travis-cookbooks/ci_environment/mongodb/files/default/mongodb.sysvinit.sh +261 -0
  232. data/chef/travis-cookbooks/ci_environment/mongodb/metadata.rb +235 -0
  233. data/chef/travis-cookbooks/ci_environment/mongodb/recipes/apt.rb +65 -0
  234. data/chef/travis-cookbooks/ci_environment/mongodb/recipes/default.rb +23 -0
  235. data/chef/travis-cookbooks/ci_environment/mongodb/recipes/server.rb +44 -0
  236. data/chef/travis-cookbooks/ci_environment/mongodb/templates/default/mongod.upstart.erb +16 -0
  237. data/chef/travis-cookbooks/ci_environment/mongodb/templates/default/mongodb.conf.erb +5 -0
  238. data/chef/travis-cookbooks/ci_environment/mongodb/templates/default/mongodb.init.10gen.erb +74 -0
  239. data/chef/travis-cookbooks/ci_environment/mongodb/templates/default/mongodb.init.erb +268 -0
  240. data/chef/travis-cookbooks/ci_environment/mongodb/templates/default/mongodb.list.erb +1 -0
  241. data/chef/travis-cookbooks/ci_environment/mysql/README.md +141 -0
  242. data/chef/travis-cookbooks/ci_environment/mysql/attributes/default.rb +1 -0
  243. data/chef/travis-cookbooks/ci_environment/mysql/attributes/server.rb +69 -0
  244. data/chef/travis-cookbooks/ci_environment/mysql/attributes/server_on_ramfs.rb +1 -0
  245. data/chef/travis-cookbooks/ci_environment/mysql/libraries/database.rb +19 -0
  246. data/chef/travis-cookbooks/ci_environment/mysql/libraries/helpers.rb +33 -0
  247. data/chef/travis-cookbooks/ci_environment/mysql/metadata.rb +77 -0
  248. data/chef/travis-cookbooks/ci_environment/mysql/providers/database.rb +81 -0
  249. data/chef/travis-cookbooks/ci_environment/mysql/recipes/client.rb +60 -0
  250. data/chef/travis-cookbooks/ci_environment/mysql/recipes/default.rb +20 -0
  251. data/chef/travis-cookbooks/ci_environment/mysql/recipes/server.rb +125 -0
  252. data/chef/travis-cookbooks/ci_environment/mysql/recipes/server_on_ramfs.rb +88 -0
  253. data/chef/travis-cookbooks/ci_environment/mysql/resources/database.rb +27 -0
  254. data/chef/travis-cookbooks/ci_environment/mysql/templates/default/debian.cnf.erb +12 -0
  255. data/chef/travis-cookbooks/ci_environment/mysql/templates/default/grants.sql.erb +33 -0
  256. data/chef/travis-cookbooks/ci_environment/mysql/templates/default/init/mysql.conf.erb +49 -0
  257. data/chef/travis-cookbooks/ci_environment/mysql/templates/default/my.cnf.erb +182 -0
  258. data/chef/travis-cookbooks/ci_environment/mysql/templates/default/mysql-server.seed.erb +10 -0
  259. data/chef/travis-cookbooks/ci_environment/mysql/templates/default/port_mysql.erb +3 -0
  260. data/chef/travis-cookbooks/ci_environment/mysql/templates/default/ramfs/my.cnf.erb +175 -0
  261. data/chef/travis-cookbooks/ci_environment/neo4j-server/.gitignore +4 -0
  262. data/chef/travis-cookbooks/ci_environment/neo4j-server/README.md +47 -0
  263. data/chef/travis-cookbooks/ci_environment/neo4j-server/attributes/tarball.rb +43 -0
  264. data/chef/travis-cookbooks/ci_environment/neo4j-server/recipes/tarball.rb +164 -0
  265. data/chef/travis-cookbooks/ci_environment/neo4j-server/templates/default/neo4j-limits.conf.erb +2 -0
  266. data/chef/travis-cookbooks/ci_environment/neo4j-server/templates/default/neo4j-server.properties.erb +75 -0
  267. data/chef/travis-cookbooks/ci_environment/neo4j-server/templates/default/neo4j-wrapper.conf.erb +26 -0
  268. data/chef/travis-cookbooks/ci_environment/neo4j-server/templates/default/neo4j.init.erb +55 -0
  269. data/chef/travis-cookbooks/ci_environment/networking_basic/recipes/default.rb +39 -0
  270. data/chef/travis-cookbooks/ci_environment/nodejs/attributes/multi.rb +3 -0
  271. data/chef/travis-cookbooks/ci_environment/nodejs/files/default/nvm.sh +281 -0
  272. data/chef/travis-cookbooks/ci_environment/nodejs/files/default/profile_entry.sh +3 -0
  273. data/chef/travis-cookbooks/ci_environment/nodejs/recipes/multi.rb +79 -0
  274. data/chef/travis-cookbooks/ci_environment/nodejs/templates/default/nvm.sh.erb +3 -0
  275. data/chef/travis-cookbooks/ci_environment/openssh/files/default/ssh_init.sh +181 -0
  276. data/chef/travis-cookbooks/ci_environment/openssh/files/default/sshd_config +54 -0
  277. data/chef/travis-cookbooks/ci_environment/openssh/recipes/default.rb +42 -0
  278. data/chef/travis-cookbooks/ci_environment/openssl/README.md +37 -0
  279. data/chef/travis-cookbooks/ci_environment/openssl/libraries/secure_password.rb +37 -0
  280. data/chef/travis-cookbooks/ci_environment/openssl/metadata.rb +8 -0
  281. data/chef/travis-cookbooks/ci_environment/openssl/recipes/default.rb +19 -0
  282. data/chef/travis-cookbooks/ci_environment/perlbrew/attributes/default.rb +0 -0
  283. data/chef/travis-cookbooks/ci_environment/perlbrew/attributes/multi.rb +8 -0
  284. data/chef/travis-cookbooks/ci_environment/perlbrew/files/default/perlbrew.sh +7 -0
  285. data/chef/travis-cookbooks/ci_environment/perlbrew/metadata.rb +11 -0
  286. data/chef/travis-cookbooks/ci_environment/perlbrew/recipes/default.rb +26 -0
  287. data/chef/travis-cookbooks/ci_environment/perlbrew/recipes/multi.rb +41 -0
  288. data/chef/travis-cookbooks/ci_environment/phantomjs/attributes/default.rb +10 -0
  289. data/chef/travis-cookbooks/ci_environment/phantomjs/files/ubuntu/etc/profile.d/phantomjs.sh +1 -0
  290. data/chef/travis-cookbooks/ci_environment/phantomjs/metadata.rb +3 -0
  291. data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/default.rb +26 -0
  292. data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/tarball.rb +69 -0
  293. data/chef/travis-cookbooks/ci_environment/php/README.md +5 -0
  294. data/chef/travis-cookbooks/ci_environment/php/attributes/default.rb +47 -0
  295. data/chef/travis-cookbooks/ci_environment/php/metadata.rb +10 -0
  296. data/chef/travis-cookbooks/ci_environment/php/providers/pecl.rb +87 -0
  297. data/chef/travis-cookbooks/ci_environment/php/recipes/extensions.rb +26 -0
  298. data/chef/travis-cookbooks/ci_environment/php/recipes/multi.rb +26 -0
  299. data/chef/travis-cookbooks/ci_environment/php/resources/pecl.rb +11 -0
  300. data/chef/travis-cookbooks/ci_environment/phpbuild/attributes/default.rb +19 -0
  301. data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/after-install.d/phpunit.sh +58 -0
  302. data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.2.17 +18 -0
  303. data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.3.3 +6 -0
  304. data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.5.0beta1 +5 -0
  305. data/chef/travis-cookbooks/ci_environment/phpbuild/metadata.rb +5 -0
  306. data/chef/travis-cookbooks/ci_environment/phpbuild/providers/build.rb +56 -0
  307. data/chef/travis-cookbooks/ci_environment/phpbuild/recipes/default.rb +122 -0
  308. data/chef/travis-cookbooks/ci_environment/phpbuild/resources/build.rb +7 -0
  309. data/chef/travis-cookbooks/ci_environment/phpbuild/templates/default/default_configure_options.erb +42 -0
  310. data/chef/travis-cookbooks/ci_environment/phpbuild/templates/default/travis.ini.erb +9 -0
  311. data/chef/travis-cookbooks/ci_environment/phpenv/attributes/default.rb +6 -0
  312. data/chef/travis-cookbooks/ci_environment/phpenv/files/default/phpenv.sh +5 -0
  313. data/chef/travis-cookbooks/ci_environment/phpenv/metadata.rb +5 -0
  314. data/chef/travis-cookbooks/ci_environment/phpenv/recipes/default.rb +33 -0
  315. data/chef/travis-cookbooks/ci_environment/postgresql/README.rdoc +49 -0
  316. data/chef/travis-cookbooks/ci_environment/postgresql/attributes/default.rb +74 -0
  317. data/chef/travis-cookbooks/ci_environment/postgresql/metadata.rb +15 -0
  318. data/chef/travis-cookbooks/ci_environment/postgresql/recipes/client.rb +28 -0
  319. data/chef/travis-cookbooks/ci_environment/postgresql/recipes/default.rb +20 -0
  320. data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server.rb +83 -0
  321. data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server_debian.rb +73 -0
  322. data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server_on_ramfs.rb +32 -0
  323. data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server_redhat.rb +84 -0
  324. data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/30-shared-memory.conf.erb +2 -0
  325. data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/debian.pg_hba.conf.erb +83 -0
  326. data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/debian.postgresql.conf.erb +234 -0
  327. data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/ramfs.init.erb +50 -0
  328. data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/redhat.pg_hba.conf.erb +74 -0
  329. data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/redhat.postgresql.conf.erb +502 -0
  330. data/chef/travis-cookbooks/ci_environment/pypy/attributes/default.rb +21 -0
  331. data/chef/travis-cookbooks/ci_environment/pypy/files/default/etc/profile.d/pypy.sh +1 -0
  332. data/chef/travis-cookbooks/ci_environment/pypy/recipes/ppa.rb +39 -0
  333. data/chef/travis-cookbooks/ci_environment/pypy/recipes/tarball.rb +54 -0
  334. data/chef/travis-cookbooks/ci_environment/python/README.md +162 -0
  335. data/chef/travis-cookbooks/ci_environment/python/attributes/default.rb +22 -0
  336. data/chef/travis-cookbooks/ci_environment/python/files/default/virtualenv_settings.sh +1 -0
  337. data/chef/travis-cookbooks/ci_environment/python/metadata.json +52 -0
  338. data/chef/travis-cookbooks/ci_environment/python/metadata.rb +17 -0
  339. data/chef/travis-cookbooks/ci_environment/python/providers/pip.rb +146 -0
  340. data/chef/travis-cookbooks/ci_environment/python/providers/virtualenv.rb +79 -0
  341. data/chef/travis-cookbooks/ci_environment/python/recipes/default.rb +21 -0
  342. data/chef/travis-cookbooks/ci_environment/python/recipes/devshm.rb +10 -0
  343. data/chef/travis-cookbooks/ci_environment/python/recipes/multi.rb +188 -0
  344. data/chef/travis-cookbooks/ci_environment/python/recipes/package.rb +36 -0
  345. data/chef/travis-cookbooks/ci_environment/python/recipes/pip.rb +38 -0
  346. data/chef/travis-cookbooks/ci_environment/python/recipes/virtualenv.rb +32 -0
  347. data/chef/travis-cookbooks/ci_environment/python/resources/pip.rb +26 -0
  348. data/chef/travis-cookbooks/ci_environment/python/resources/virtualenv.rb +28 -0
  349. data/chef/travis-cookbooks/ci_environment/rabbitmq/README.md +86 -0
  350. data/chef/travis-cookbooks/ci_environment/rabbitmq/attributes/default.rb +11 -0
  351. data/chef/travis-cookbooks/ci_environment/rabbitmq/metadata.rb +63 -0
  352. data/chef/travis-cookbooks/ci_environment/rabbitmq/providers/user.rb +66 -0
  353. data/chef/travis-cookbooks/ci_environment/rabbitmq/providers/vhost.rb +34 -0
  354. data/chef/travis-cookbooks/ci_environment/rabbitmq/recipes/default.rb +67 -0
  355. data/chef/travis-cookbooks/ci_environment/rabbitmq/recipes/with_management_plugin.rb +13 -0
  356. data/chef/travis-cookbooks/ci_environment/rabbitmq/resources/user.rb +25 -0
  357. data/chef/travis-cookbooks/ci_environment/rabbitmq/resources/vhost.rb +22 -0
  358. data/chef/travis-cookbooks/ci_environment/rabbitmq/templates/default/doterlang.cookie.erb +1 -0
  359. data/chef/travis-cookbooks/ci_environment/rabbitmq/templates/default/rabbitmq-env.conf.erb +10 -0
  360. data/chef/travis-cookbooks/ci_environment/rabbitmq/templates/default/rabbitmq.config.erb +5 -0
  361. data/chef/travis-cookbooks/ci_environment/rabbitmq/templates/default/rabbitmq_cluster.config.erb +5 -0
  362. data/chef/travis-cookbooks/ci_environment/ragel/recipes/custom.rb +56 -0
  363. data/chef/travis-cookbooks/ci_environment/ragel/recipes/default.rb +28 -0
  364. data/chef/travis-cookbooks/ci_environment/ramfs/attributes/default.rb +1 -0
  365. data/chef/travis-cookbooks/ci_environment/ramfs/recipes/default.rb +27 -0
  366. data/chef/travis-cookbooks/ci_environment/rebar/README.md +3 -0
  367. data/chef/travis-cookbooks/ci_environment/rebar/attributes/default.rb +2 -0
  368. data/chef/travis-cookbooks/ci_environment/rebar/metadata.rb +7 -0
  369. data/chef/travis-cookbooks/ci_environment/rebar/recipes/default.rb +26 -0
  370. data/chef/travis-cookbooks/ci_environment/redis/attributes/default.rb +10 -0
  371. data/chef/travis-cookbooks/ci_environment/redis/recipes/default.rb +68 -0
  372. data/chef/travis-cookbooks/ci_environment/redis/recipes/ppa.rb +42 -0
  373. data/chef/travis-cookbooks/ci_environment/riak/.gitignore +1 -0
  374. data/chef/travis-cookbooks/ci_environment/riak/README.md +161 -0
  375. data/chef/travis-cookbooks/ci_environment/riak/attributes/api.rb +21 -0
  376. data/chef/travis-cookbooks/ci_environment/riak/attributes/bitcask.rb +22 -0
  377. data/chef/travis-cookbooks/ci_environment/riak/attributes/control.rb +23 -0
  378. data/chef/travis-cookbooks/ci_environment/riak/attributes/core.rb +41 -0
  379. data/chef/travis-cookbooks/ci_environment/riak/attributes/default.rb +33 -0
  380. data/chef/travis-cookbooks/ci_environment/riak/attributes/dets.rb +20 -0
  381. data/chef/travis-cookbooks/ci_environment/riak/attributes/eleveldb.rb +6 -0
  382. data/chef/travis-cookbooks/ci_environment/riak/attributes/erlang.rb +30 -0
  383. data/chef/travis-cookbooks/ci_environment/riak/attributes/err.rb +21 -0
  384. data/chef/travis-cookbooks/ci_environment/riak/attributes/innostore.rb +28 -0
  385. data/chef/travis-cookbooks/ci_environment/riak/attributes/kernel.rb +22 -0
  386. data/chef/travis-cookbooks/ci_environment/riak/attributes/kv.rb +62 -0
  387. data/chef/travis-cookbooks/ci_environment/riak/attributes/lager.rb +31 -0
  388. data/chef/travis-cookbooks/ci_environment/riak/attributes/merge.rb +22 -0
  389. data/chef/travis-cookbooks/ci_environment/riak/attributes/netdev.rb +22 -0
  390. data/chef/travis-cookbooks/ci_environment/riak/attributes/package.rb +30 -0
  391. data/chef/travis-cookbooks/ci_environment/riak/attributes/sasl.rb +25 -0
  392. data/chef/travis-cookbooks/ci_environment/riak/attributes/search.rb +19 -0
  393. data/chef/travis-cookbooks/ci_environment/riak/attributes/service.rb +20 -0
  394. data/chef/travis-cookbooks/ci_environment/riak/attributes/sysmon.rb +25 -0
  395. data/chef/travis-cookbooks/ci_environment/riak/libraries/riak_template_helper.rb +180 -0
  396. data/chef/travis-cookbooks/ci_environment/riak/metadata.rb +32 -0
  397. data/chef/travis-cookbooks/ci_environment/riak/providers/cluster.rb +80 -0
  398. data/chef/travis-cookbooks/ci_environment/riak/recipes/autoconf.rb +47 -0
  399. data/chef/travis-cookbooks/ci_environment/riak/recipes/config.rb +70 -0
  400. data/chef/travis-cookbooks/ci_environment/riak/recipes/default.rb +160 -0
  401. data/chef/travis-cookbooks/ci_environment/riak/recipes/innostore.rb +74 -0
  402. data/chef/travis-cookbooks/ci_environment/riak/recipes/iptables.rb +25 -0
  403. data/chef/travis-cookbooks/ci_environment/riak/resources/cluster.rb +27 -0
  404. data/chef/travis-cookbooks/ci_environment/riak/templates/default/app.config.erb +2 -0
  405. data/chef/travis-cookbooks/ci_environment/riak/templates/default/iptables.erb +13 -0
  406. data/chef/travis-cookbooks/ci_environment/riak/templates/default/vm.args.erb +2 -0
  407. data/chef/travis-cookbooks/ci_environment/runit/CHANGELOG.md +3 -0
  408. data/chef/travis-cookbooks/ci_environment/runit/CONTRIBUTING +29 -0
  409. data/chef/travis-cookbooks/ci_environment/runit/LICENSE +201 -0
  410. data/chef/travis-cookbooks/ci_environment/runit/README.md +226 -0
  411. data/chef/travis-cookbooks/ci_environment/runit/attributes/default.rb +31 -0
  412. data/chef/travis-cookbooks/ci_environment/runit/definitions/runit_service.rb +164 -0
  413. data/chef/travis-cookbooks/ci_environment/runit/files/default/runit.seed +1 -0
  414. data/chef/travis-cookbooks/ci_environment/runit/files/default/runsvdir +0 -0
  415. data/chef/travis-cookbooks/ci_environment/runit/files/ubuntu-6.10/runsvdir +6 -0
  416. data/chef/travis-cookbooks/ci_environment/runit/files/ubuntu-7.04/runsvdir +7 -0
  417. data/chef/travis-cookbooks/ci_environment/runit/files/ubuntu-7.10/runsvdir +7 -0
  418. data/chef/travis-cookbooks/ci_environment/runit/files/ubuntu-8.04/runsvdir +7 -0
  419. data/chef/travis-cookbooks/ci_environment/runit/metadata.json +102 -0
  420. data/chef/travis-cookbooks/ci_environment/runit/metadata.rb +37 -0
  421. data/chef/travis-cookbooks/ci_environment/runit/recipes/default.rb +72 -0
  422. data/chef/travis-cookbooks/ci_environment/runit/templates/gentoo/runit-start.sh.erb +32 -0
  423. data/chef/travis-cookbooks/ci_environment/rvm/attributes/default.rb +1 -0
  424. data/chef/travis-cookbooks/ci_environment/rvm/attributes/multi.rb +6 -0
  425. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/default.gems +1 -0
  426. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/global.gems +2 -0
  427. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/jruby/global.gems +4 -0
  428. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/2.0.0/global.gems +2 -0
  429. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/head/global.gems +2 -0
  430. data/chef/travis-cookbooks/ci_environment/rvm/files/default/rvm.sh +3 -0
  431. data/chef/travis-cookbooks/ci_environment/rvm/metadata.json +43 -0
  432. data/chef/travis-cookbooks/ci_environment/rvm/metadata.rb +25 -0
  433. data/chef/travis-cookbooks/ci_environment/rvm/recipes/default.rb +98 -0
  434. data/chef/travis-cookbooks/ci_environment/rvm/recipes/multi.rb +88 -0
  435. data/chef/travis-cookbooks/ci_environment/rvm/templates/default/bundler_config.yml.erb +2 -0
  436. data/chef/travis-cookbooks/ci_environment/rvm/templates/default/dot_rvmrc.sh.erb +3 -0
  437. data/chef/travis-cookbooks/ci_environment/sbt/CHANGELOG.md +20 -0
  438. data/chef/travis-cookbooks/ci_environment/sbt/LICENSE +201 -0
  439. data/chef/travis-cookbooks/ci_environment/sbt/README.md +79 -0
  440. data/chef/travis-cookbooks/ci_environment/sbt/attributes/default.rb +36 -0
  441. data/chef/travis-cookbooks/ci_environment/sbt/metadata.json +42 -0
  442. data/chef/travis-cookbooks/ci_environment/sbt/metadata.rb +15 -0
  443. data/chef/travis-cookbooks/ci_environment/sbt/recipes/default.rb +119 -0
  444. data/chef/travis-cookbooks/ci_environment/sbt/templates/default/jvmopts.erb +7 -0
  445. data/chef/travis-cookbooks/ci_environment/sbt/templates/default/sbtopts.erb +54 -0
  446. data/chef/travis-cookbooks/ci_environment/scons/recipes/default.rb +3 -0
  447. data/chef/travis-cookbooks/ci_environment/sphinx/README.md +0 -0
  448. data/chef/travis-cookbooks/ci_environment/sphinx/attributes/default.rb +8 -0
  449. data/chef/travis-cookbooks/ci_environment/sphinx/metadata.rb +17 -0
  450. data/chef/travis-cookbooks/ci_environment/sphinx/recipes/all.rb +64 -0
  451. data/chef/travis-cookbooks/ci_environment/sphinx/recipes/default.rb +24 -0
  452. data/chef/travis-cookbooks/ci_environment/sqlite/metadata.rb +11 -0
  453. data/chef/travis-cookbooks/ci_environment/sqlite/recipes/default.rb +30 -0
  454. data/chef/travis-cookbooks/ci_environment/sqlite/recipes/ppa.rb +34 -0
  455. data/chef/travis-cookbooks/ci_environment/subversion/recipes/default.rb +24 -0
  456. data/chef/travis-cookbooks/ci_environment/sweeper/recipes/default.rb +45 -0
  457. data/chef/travis-cookbooks/ci_environment/sysctl/attributes/default.rb +5 -0
  458. data/chef/travis-cookbooks/ci_environment/sysctl/recipes/default.rb +6 -0
  459. data/chef/travis-cookbooks/ci_environment/sysctl/templates/default/sysctl.conf.erb +2 -0
  460. data/chef/travis-cookbooks/ci_environment/timezone/attributes/default.rb +1 -0
  461. data/chef/travis-cookbooks/ci_environment/timezone/metadata.json +35 -0
  462. data/chef/travis-cookbooks/ci_environment/timezone/metadata.rb +9 -0
  463. data/chef/travis-cookbooks/ci_environment/timezone/recipes/._default.rb +0 -0
  464. data/chef/travis-cookbooks/ci_environment/timezone/recipes/default.rb +38 -0
  465. data/chef/travis-cookbooks/ci_environment/timezone/templates/default/timezone.conf.erb +1 -0
  466. data/chef/travis-cookbooks/ci_environment/travis_build_environment/attributes/default.rb +20 -0
  467. data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/ci_user/dot_erlang_dot_cookie +1 -0
  468. data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/ci_user/dot_gemrc.yml +1 -0
  469. data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/ci_user/known_hosts +1 -0
  470. data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/ci_user/travis_environment.sh +30 -0
  471. data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/etc/default/locale.sh +1 -0
  472. data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/etc/sudoers/env_keep +1 -0
  473. data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/root/recover_eth0.sh +8 -0
  474. data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/ci_user.rb +113 -0
  475. data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/default.rb +134 -0
  476. data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/root.rb +44 -0
  477. data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/ci_user/ci_environment_metadata.yml.erb +2 -0
  478. data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/ci_user/dot_bashrc.sh.erb +111 -0
  479. data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/apt/assumeyes.erb +1 -0
  480. data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/apt/timeouts.erb +3 -0
  481. data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/environment.sh.erb +11 -0
  482. data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/hostname.erb +12 -0
  483. data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/hosts.erb +30 -0
  484. data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/security/limits.conf.erb +62 -0
  485. data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/root/dot_bashrc.sh.erb +88 -0
  486. data/chef/travis-cookbooks/ci_environment/unarchivers/recipes/default.rb +29 -0
  487. data/chef/travis-cookbooks/ci_environment/util-linux/recipes/default.rb +5 -0
  488. data/chef/travis-cookbooks/ci_environment/vim/README.md +39 -0
  489. data/chef/travis-cookbooks/ci_environment/vim/attributes/default.rb +20 -0
  490. data/chef/travis-cookbooks/ci_environment/vim/metadata.rb +6 -0
  491. data/chef/travis-cookbooks/ci_environment/vim/recipes/default.rb +24 -0
  492. data/chef/travis-cookbooks/ci_environment/xserver/files/default/etc/init.d/xvfb.sh +24 -0
  493. data/chef/travis-cookbooks/ci_environment/xserver/metadata.rb +3 -0
  494. data/chef/travis-cookbooks/ci_environment/xserver/recipes/default.rb +37 -0
  495. data/chef/travis-cookbooks/ci_environment/zeromq/recipes/default.rb +27 -0
  496. data/chef/travis-cookbooks/ci_environment/zeromq/recipes/ppa.rb +33 -0
  497. data/chef/travis-cookbooks/ci_environment/zookeeper/recipes/cdh4.rb +51 -0
  498. data/chef/travis-cookbooks/worker_host/.gitignore +1 -0
  499. data/chef/travis-cookbooks/worker_host/ant/README.md +51 -0
  500. data/chef/travis-cookbooks/worker_host/ant/metadata.rb +12 -0
  501. data/chef/travis-cookbooks/worker_host/ant/recipes/default.rb +36 -0
  502. data/chef/travis-cookbooks/worker_host/apt/README.md +109 -0
  503. data/chef/travis-cookbooks/worker_host/apt/files/default/apt-cacher +9 -0
  504. data/chef/travis-cookbooks/worker_host/apt/files/default/apt-cacher.conf +144 -0
  505. data/chef/travis-cookbooks/worker_host/apt/files/default/apt-proxy-v2.conf +50 -0
  506. data/chef/travis-cookbooks/worker_host/apt/metadata.json +34 -0
  507. data/chef/travis-cookbooks/worker_host/apt/metadata.rb +13 -0
  508. data/chef/travis-cookbooks/worker_host/apt/providers/repository.rb +72 -0
  509. data/chef/travis-cookbooks/worker_host/apt/recipes/cacher-client.rb +37 -0
  510. data/chef/travis-cookbooks/worker_host/apt/recipes/cacher.rb +45 -0
  511. data/chef/travis-cookbooks/worker_host/apt/recipes/default.rb +33 -0
  512. data/chef/travis-cookbooks/worker_host/apt/resources/repository.rb +30 -0
  513. data/chef/travis-cookbooks/worker_host/build-essential/README.md +24 -0
  514. data/chef/travis-cookbooks/worker_host/build-essential/metadata.rb +10 -0
  515. data/chef/travis-cookbooks/worker_host/build-essential/recipes/default.rb +45 -0
  516. data/chef/travis-cookbooks/worker_host/chef-client/CHANGELOG.md +29 -0
  517. data/chef/travis-cookbooks/worker_host/chef-client/CONTRIBUTING +29 -0
  518. data/chef/travis-cookbooks/worker_host/chef-client/LICENSE +201 -0
  519. data/chef/travis-cookbooks/worker_host/chef-client/README.md +265 -0
  520. data/chef/travis-cookbooks/worker_host/chef-client/attributes/default.rb +70 -0
  521. data/chef/travis-cookbooks/worker_host/chef-client/metadata.json +44 -0
  522. data/chef/travis-cookbooks/worker_host/chef-client/metadata.rb +15 -0
  523. data/chef/travis-cookbooks/worker_host/chef-client/recipes/config.rb +53 -0
  524. data/chef/travis-cookbooks/worker_host/chef-client/recipes/cron.rb +83 -0
  525. data/chef/travis-cookbooks/worker_host/chef-client/recipes/default.rb +20 -0
  526. data/chef/travis-cookbooks/worker_host/chef-client/recipes/delete_validation.rb +26 -0
  527. data/chef/travis-cookbooks/worker_host/chef-client/recipes/service.rb +242 -0
  528. data/chef/travis-cookbooks/worker_host/chef-client/templates/arch/conf.d/chef-client.conf.erb +5 -0
  529. data/chef/travis-cookbooks/worker_host/chef-client/templates/arch/rc.d/chef-client.erb +76 -0
  530. data/chef/travis-cookbooks/worker_host/chef-client/templates/default/chef-client.pill.erb +14 -0
  531. data/chef/travis-cookbooks/worker_host/chef-client/templates/default/client.rb.erb +36 -0
  532. data/chef/travis-cookbooks/worker_host/chef-client/templates/default/debian/default/chef-client.erb +4 -0
  533. data/chef/travis-cookbooks/worker_host/chef-client/templates/default/debian/init.d/chef-client.erb +185 -0
  534. data/chef/travis-cookbooks/worker_host/chef-client/templates/default/debian/init/chef-client.conf.erb +17 -0
  535. data/chef/travis-cookbooks/worker_host/chef-client/templates/default/redhat/init.d/chef-client.erb +110 -0
  536. data/chef/travis-cookbooks/worker_host/chef-client/templates/default/redhat/sysconfig/chef-client.erb +15 -0
  537. data/chef/travis-cookbooks/worker_host/chef-client/templates/default/solaris/chef-client.erb +78 -0
  538. data/chef/travis-cookbooks/worker_host/chef-client/templates/default/solaris/manifest.xml.erb +103 -0
  539. data/chef/travis-cookbooks/worker_host/chef-client/templates/default/sv-chef-client-log-run.erb +2 -0
  540. data/chef/travis-cookbooks/worker_host/chef-client/templates/default/sv-chef-client-run.erb +4 -0
  541. data/chef/travis-cookbooks/worker_host/chef-client/templates/windows/chef-client.xml.erb +38 -0
  542. data/chef/travis-cookbooks/worker_host/chef_handler/CHANGELOG.md +12 -0
  543. data/chef/travis-cookbooks/worker_host/chef_handler/CONTRIBUTING +29 -0
  544. data/chef/travis-cookbooks/worker_host/chef_handler/LICENSE +201 -0
  545. data/chef/travis-cookbooks/worker_host/chef_handler/README.md +103 -0
  546. data/chef/travis-cookbooks/worker_host/chef_handler/attributes/default.rb +21 -0
  547. data/chef/travis-cookbooks/worker_host/chef_handler/files/default/handlers/README +1 -0
  548. data/chef/travis-cookbooks/worker_host/chef_handler/files/default/handlers/campfire_handler.rb +61 -0
  549. data/chef/travis-cookbooks/worker_host/chef_handler/metadata.json +29 -0
  550. data/chef/travis-cookbooks/worker_host/chef_handler/metadata.rb +6 -0
  551. data/chef/travis-cookbooks/worker_host/chef_handler/providers/default.rb +83 -0
  552. data/chef/travis-cookbooks/worker_host/chef_handler/recipes/campfire.rb +15 -0
  553. data/chef/travis-cookbooks/worker_host/chef_handler/recipes/default.rb +31 -0
  554. data/chef/travis-cookbooks/worker_host/chef_handler/recipes/json_file.rb +28 -0
  555. data/chef/travis-cookbooks/worker_host/chef_handler/resources/default.rb +34 -0
  556. data/chef/travis-cookbooks/worker_host/collectd-librato/.gitignore +1 -0
  557. data/chef/travis-cookbooks/worker_host/collectd-librato/README.md +22 -0
  558. data/chef/travis-cookbooks/worker_host/collectd-librato/attributes/collectd_librato.rb +4 -0
  559. data/chef/travis-cookbooks/worker_host/collectd-librato/metadata.rb +11 -0
  560. data/chef/travis-cookbooks/worker_host/collectd-librato/recipes/default.rb +41 -0
  561. data/chef/travis-cookbooks/worker_host/collectd/README.rdoc +85 -0
  562. data/chef/travis-cookbooks/worker_host/collectd/attributes/default.rb +33 -0
  563. data/chef/travis-cookbooks/worker_host/collectd/definitions/collectd_plugin.rb +52 -0
  564. data/chef/travis-cookbooks/worker_host/collectd/libraries/default.rb +47 -0
  565. data/chef/travis-cookbooks/worker_host/collectd/metadata.rb +15 -0
  566. data/chef/travis-cookbooks/worker_host/collectd/recipes/client.rb +33 -0
  567. data/chef/travis-cookbooks/worker_host/collectd/recipes/collectd_web.rb +49 -0
  568. data/chef/travis-cookbooks/worker_host/collectd/recipes/default.rb +90 -0
  569. data/chef/travis-cookbooks/worker_host/collectd/recipes/server.rb +24 -0
  570. data/chef/travis-cookbooks/worker_host/collectd/templates/default/collectd.conf.erb +23 -0
  571. data/chef/travis-cookbooks/worker_host/collectd/templates/default/collectd_web.conf.erb +32 -0
  572. data/chef/travis-cookbooks/worker_host/collectd/templates/default/collection.conf.erb +2 -0
  573. data/chef/travis-cookbooks/worker_host/collectd/templates/default/plugin.conf.erb +15 -0
  574. data/chef/travis-cookbooks/worker_host/collectd/templates/default/python_plugin.conf.erb +20 -0
  575. data/chef/travis-cookbooks/worker_host/collectd/templates/default/thresholds.conf.erb +37 -0
  576. data/chef/travis-cookbooks/worker_host/disks/attributes/default.rb +1 -0
  577. data/chef/travis-cookbooks/worker_host/disks/recipes/default.rb +15 -0
  578. data/chef/travis-cookbooks/worker_host/emacs/emacs/metadata.rb +11 -0
  579. data/chef/travis-cookbooks/worker_host/emacs/emacs/recipes/default.rb +21 -0
  580. data/chef/travis-cookbooks/worker_host/emacs/metadata.rb +11 -0
  581. data/chef/travis-cookbooks/worker_host/emacs/recipes/default.rb +21 -0
  582. data/chef/travis-cookbooks/worker_host/git/README.rdoc +37 -0
  583. data/chef/travis-cookbooks/worker_host/git/metadata.rb +11 -0
  584. data/chef/travis-cookbooks/worker_host/git/recipes/default.rb +24 -0
  585. data/chef/travis-cookbooks/worker_host/git/templates/default/sv-git-daemon-log-run.erb +2 -0
  586. data/chef/travis-cookbooks/worker_host/git/templates/default/sv-git-daemon-run.erb +3 -0
  587. data/chef/travis-cookbooks/worker_host/iptables/files/default/iptables_rules +13 -0
  588. data/chef/travis-cookbooks/worker_host/iptables/metadata.rb +10 -0
  589. data/chef/travis-cookbooks/worker_host/iptables/recipes/default.rb +48 -0
  590. data/chef/travis-cookbooks/worker_host/iptables/templates/default/iptables_load.erb +3 -0
  591. data/chef/travis-cookbooks/worker_host/java/README.md +102 -0
  592. data/chef/travis-cookbooks/worker_host/java/attributes/default.rb +29 -0
  593. data/chef/travis-cookbooks/worker_host/java/files/default/java.seed +11 -0
  594. data/chef/travis-cookbooks/worker_host/java/metadata.rb +16 -0
  595. data/chef/travis-cookbooks/worker_host/java/recipes/default.rb +61 -0
  596. data/chef/travis-cookbooks/worker_host/java/recipes/openjdk.rb +54 -0
  597. data/chef/travis-cookbooks/worker_host/java/recipes/sun.rb +49 -0
  598. data/chef/travis-cookbooks/worker_host/jruby/attributes/default.rb +5 -0
  599. data/chef/travis-cookbooks/worker_host/jruby/metadata.rb +8 -0
  600. data/chef/travis-cookbooks/worker_host/jruby/recipes/default.rb +24 -0
  601. data/chef/travis-cookbooks/worker_host/monit/attributes/default.rb +3 -0
  602. data/chef/travis-cookbooks/worker_host/monit/files/default/default.monit +1 -0
  603. data/chef/travis-cookbooks/worker_host/monit/recipes/default.rb +56 -0
  604. data/chef/travis-cookbooks/worker_host/monit/templates/default/alerts.erb +12 -0
  605. data/chef/travis-cookbooks/worker_host/monit/templates/default/filesystems.erb +6 -0
  606. data/chef/travis-cookbooks/worker_host/monit/templates/default/monitrc.erb +6 -0
  607. data/chef/travis-cookbooks/worker_host/monit/templates/default/system.erb +4 -0
  608. data/chef/travis-cookbooks/worker_host/networking_basic/README.rdoc +8 -0
  609. data/chef/travis-cookbooks/worker_host/networking_basic/metadata.json +35 -0
  610. data/chef/travis-cookbooks/worker_host/networking_basic/metadata.rb +10 -0
  611. data/chef/travis-cookbooks/worker_host/networking_basic/recipes/default.rb +32 -0
  612. data/chef/travis-cookbooks/worker_host/ntp/.gitignore +1 -0
  613. data/chef/travis-cookbooks/worker_host/ntp/.travis.yml +6 -0
  614. data/chef/travis-cookbooks/worker_host/ntp/CHANGELOG.md +35 -0
  615. data/chef/travis-cookbooks/worker_host/ntp/CONTRIBUTING +29 -0
  616. data/chef/travis-cookbooks/worker_host/ntp/LICENSE +201 -0
  617. data/chef/travis-cookbooks/worker_host/ntp/README.md +163 -0
  618. data/chef/travis-cookbooks/worker_host/ntp/Rakefile +19 -0
  619. data/chef/travis-cookbooks/worker_host/ntp/TESTING.md +213 -0
  620. data/chef/travis-cookbooks/worker_host/ntp/attributes/default.rb +54 -0
  621. data/chef/travis-cookbooks/worker_host/ntp/attributes/ntpdate.rb +21 -0
  622. data/chef/travis-cookbooks/worker_host/ntp/chefignore +19 -0
  623. data/chef/travis-cookbooks/worker_host/ntp/files/default/ntp.leapseconds +222 -0
  624. data/chef/travis-cookbooks/worker_host/ntp/metadata.json +117 -0
  625. data/chef/travis-cookbooks/worker_host/ntp/metadata.rb +45 -0
  626. data/chef/travis-cookbooks/worker_host/ntp/recipes/default.rb +50 -0
  627. data/chef/travis-cookbooks/worker_host/ntp/recipes/disable.rb +22 -0
  628. data/chef/travis-cookbooks/worker_host/ntp/recipes/ntpdate.rb +36 -0
  629. data/chef/travis-cookbooks/worker_host/ntp/recipes/undo.rb +36 -0
  630. data/chef/travis-cookbooks/worker_host/ntp/templates/default/ntp.conf.erb +55 -0
  631. data/chef/travis-cookbooks/worker_host/ntp/templates/default/ntpdate.erb +14 -0
  632. data/chef/travis-cookbooks/worker_host/runit/CHANGELOG.md +3 -0
  633. data/chef/travis-cookbooks/worker_host/runit/CONTRIBUTING +29 -0
  634. data/chef/travis-cookbooks/worker_host/runit/LICENSE +201 -0
  635. data/chef/travis-cookbooks/worker_host/runit/README.md +226 -0
  636. data/chef/travis-cookbooks/worker_host/runit/attributes/default.rb +31 -0
  637. data/chef/travis-cookbooks/worker_host/runit/definitions/runit_service.rb +164 -0
  638. data/chef/travis-cookbooks/worker_host/runit/files/default/runit.seed +1 -0
  639. data/chef/travis-cookbooks/worker_host/runit/files/default/runsvdir +0 -0
  640. data/chef/travis-cookbooks/worker_host/runit/files/ubuntu-6.10/runsvdir +6 -0
  641. data/chef/travis-cookbooks/worker_host/runit/files/ubuntu-7.04/runsvdir +7 -0
  642. data/chef/travis-cookbooks/worker_host/runit/files/ubuntu-7.10/runsvdir +7 -0
  643. data/chef/travis-cookbooks/worker_host/runit/files/ubuntu-8.04/runsvdir +7 -0
  644. data/chef/travis-cookbooks/worker_host/runit/metadata.json +102 -0
  645. data/chef/travis-cookbooks/worker_host/runit/metadata.rb +37 -0
  646. data/chef/travis-cookbooks/worker_host/runit/recipes/default.rb +72 -0
  647. data/chef/travis-cookbooks/worker_host/runit/templates/gentoo/runit-start.sh.erb +32 -0
  648. data/chef/travis-cookbooks/worker_host/rvm/attributes/default.rb +20 -0
  649. data/chef/travis-cookbooks/worker_host/rvm/attributes/install.rb +1 -0
  650. data/chef/travis-cookbooks/worker_host/rvm/attributes/ree.rb +1 -0
  651. data/chef/travis-cookbooks/worker_host/rvm/attributes/ruby_187.rb +2 -0
  652. data/chef/travis-cookbooks/worker_host/rvm/attributes/ruby_192.rb +2 -0
  653. data/chef/travis-cookbooks/worker_host/rvm/files/default/rvm.sh +1 -0
  654. data/chef/travis-cookbooks/worker_host/rvm/metadata.rb +27 -0
  655. data/chef/travis-cookbooks/worker_host/rvm/recipes/default.rb +27 -0
  656. data/chef/travis-cookbooks/worker_host/rvm/recipes/install.rb +36 -0
  657. data/chef/travis-cookbooks/worker_host/rvm/recipes/multi.rb +48 -0
  658. data/chef/travis-cookbooks/worker_host/rvm/recipes/ree.rb +6 -0
  659. data/chef/travis-cookbooks/worker_host/rvm/recipes/ruby_187.rb +7 -0
  660. data/chef/travis-cookbooks/worker_host/rvm/recipes/ruby_192.rb +7 -0
  661. data/chef/travis-cookbooks/worker_host/ssh/recipes/sshd.rb +12 -0
  662. data/chef/travis-cookbooks/worker_host/ssh/templates/default/sshd_config.erb +87 -0
  663. data/chef/travis-cookbooks/worker_host/sudo/attributes/sudoers.rb +2 -0
  664. data/chef/travis-cookbooks/worker_host/sudo/recipes/default.rb +14 -0
  665. data/chef/travis-cookbooks/worker_host/sudo/templates/default/sudoers.erb +19 -0
  666. data/chef/travis-cookbooks/worker_host/travis_worker/attributes/default.rb +20 -0
  667. data/chef/travis-cookbooks/worker_host/travis_worker/files/default/signal_wrapper.rb +22 -0
  668. data/chef/travis-cookbooks/worker_host/travis_worker/metadata.rb +6 -0
  669. data/chef/travis-cookbooks/worker_host/travis_worker/recipes/bluebox.rb +98 -0
  670. data/chef/travis-cookbooks/worker_host/travis_worker/recipes/default.rb +140 -0
  671. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/sv-travis-worker-log-run.erb +2 -0
  672. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/sv-travis-worker-run.erb +4 -0
  673. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/travis-worker-bluebox.monitrc.erb +8 -0
  674. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/travis-worker.monitrc.erb +3 -0
  675. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker-bluebox.yml.erb +31 -0
  676. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker.yml.erb +10 -0
  677. data/chef/travis-cookbooks/worker_host/travis_worker_collectd/metadata.rb +2 -0
  678. data/chef/travis-cookbooks/worker_host/travis_worker_collectd/recipes/bluebox.rb +15 -0
  679. data/chef/travis-cookbooks/worker_host/travis_worker_collectd/recipes/default.rb +12 -0
  680. data/chef/travis-cookbooks/worker_host/users/attributes/default.rb +2 -0
  681. data/chef/travis-cookbooks/worker_host/users/metadata.rb +9 -0
  682. data/chef/travis-cookbooks/worker_host/users/recipes/default.rb +88 -0
  683. data/chef/travis-cookbooks/worker_host/users/templates/default/authorized_keys.pub +4 -0
  684. data/chef/travis-cookbooks/worker_host/vim/README.md +39 -0
  685. data/chef/travis-cookbooks/worker_host/vim/attributes/default.rb +20 -0
  686. data/chef/travis-cookbooks/worker_host/vim/metadata.rb +6 -0
  687. data/chef/travis-cookbooks/worker_host/vim/recipes/default.rb +24 -0
  688. data/chef/travis-cookbooks/worker_host/virtualbox/attributes/default.rb +0 -0
  689. data/chef/travis-cookbooks/worker_host/virtualbox/metadata.rb +11 -0
  690. data/chef/travis-cookbooks/worker_host/virtualbox/recipes/default.rb +13 -0
  691. data/ciborg.gemspec +33 -19
  692. data/config/.gitkeep +0 -0
  693. data/cookbooks/.gitkeep +3 -0
  694. data/jenkins_plugin/.travis.yml +5 -0
  695. data/jenkins_plugin/README.md +8 -0
  696. data/jenkins_plugin/pom.xml +39 -0
  697. data/jenkins_plugin/src/main/java/com/pivotallabs/CiborgDecorator.java +22 -0
  698. data/jenkins_plugin/src/main/resources/com/pivotallabs/CiborgDecorator/header.jelly +3 -0
  699. data/jenkins_plugin/src/main/resources/index.jelly +6 -0
  700. data/jenkins_plugin/src/main/webapp/ciborg.css +5 -0
  701. data/jenkins_plugin/src/main/webapp/ciborg.png +0 -0
  702. data/lib/ciborg.rb +7 -4
  703. data/lib/ciborg/amazon.rb +105 -0
  704. data/lib/ciborg/cli.rb +172 -0
  705. data/lib/ciborg/config.rb +214 -0
  706. data/lib/ciborg/configuration_wizard.rb +122 -0
  707. data/lib/ciborg/keychain.rb +36 -0
  708. data/lib/ciborg/password.rb +13 -0
  709. data/lib/ciborg/sobo.rb +79 -0
  710. data/lib/ciborg/templates/default_rails_build_script.sh +13 -0
  711. data/lib/ciborg/version.rb +1 -1
  712. data/script/bootstrap_server.sh +35 -0
  713. data/script/ci_build.sh +13 -0
  714. data/spec/assets/test_cert.crt +15 -0
  715. data/spec/assets/test_cert.csr +12 -0
  716. data/spec/assets/test_cert.key +15 -0
  717. data/spec/fixtures/ssh_keys/vagrant_test_key +27 -0
  718. data/spec/fixtures/ssh_keys/vagrant_test_key.pub +1 -0
  719. data/spec/lib/ciborg/amazon_spec.rb +168 -0
  720. data/spec/lib/ciborg/cli_spec.rb +292 -0
  721. data/spec/lib/ciborg/config_spec.rb +299 -0
  722. data/spec/lib/ciborg/configuration_wizard_spec.rb +364 -0
  723. data/spec/lib/ciborg/keychain_spec.rb +33 -0
  724. data/spec/lib/ciborg/password_spec.rb +15 -0
  725. data/spec/spec_helper.rb +24 -0
  726. data/templates/Gemfile-remote +4 -0
  727. metadata +928 -20
@@ -0,0 +1,70 @@
1
+ #
2
+ # Author:: Joshua Timberman (<joshua@opscode.com>)
3
+ # Author:: Seth Chisamore (<schisamo@opscode.com>)
4
+ # Cookbook Name:: chef
5
+ # Attributes:: default
6
+ #
7
+ # Copyright 2008-2011, Opscode, Inc
8
+ #
9
+ # Licensed under the Apache License, Version 2.0 (the "License");
10
+ # you may not use this file except in compliance with the License.
11
+ # You may obtain a copy of the License at
12
+ #
13
+ # http://www.apache.org/licenses/LICENSE-2.0
14
+ #
15
+ # Unless required by applicable law or agreed to in writing, software
16
+ # distributed under the License is distributed on an "AS IS" BASIS,
17
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ # See the License for the specific language governing permissions and
19
+ # limitations under the License.
20
+
21
+ require 'rbconfig'
22
+
23
+ default["chef_client"]["interval"] = "1800"
24
+ default["chef_client"]["splay"] = "20"
25
+ default["chef_client"]["log_dir"] = "/var/log/chef"
26
+ default["chef_client"]["conf_dir"] = "/etc/chef"
27
+ default["chef_client"]["bin"] = "/usr/bin/chef-client"
28
+ default["chef_client"]["server_url"] = "http://localhost:4000"
29
+ default["chef_client"]["validation_client_name"] = "chef-validator"
30
+ default["chef_client"]["cron"] = { "minute" => "0", "hour" => "*/4" }
31
+
32
+ case platform
33
+ when "arch"
34
+ default["chef_client"]["init_style"] = "arch"
35
+ default["chef_client"]["run_path"] = "/var/run/chef"
36
+ default["chef_client"]["cache_path"] = "/var/cache/chef"
37
+ default["chef_client"]["backup_path"] = "/var/lib/chef"
38
+ when "debian","ubuntu","redhat","centos","fedora"
39
+ default["chef_client"]["init_style"] = "init"
40
+ default["chef_client"]["run_path"] = "/var/run/chef"
41
+ default["chef_client"]["cache_path"] = "/var/cache/chef"
42
+ default["chef_client"]["backup_path"] = "/var/lib/chef"
43
+ when "openbsd","freebsd","mac_os_x","mac_os_x_server"
44
+ default["chef_client"]["init_style"] = "bsd"
45
+ default["chef_client"]["run_path"] = "/var/run"
46
+ default["chef_client"]["cache_path"] = "/var/chef/cache"
47
+ default["chef_client"]["backup_path"] = "/var/chef/backup"
48
+ when "openindiana","opensolaris","nexentacore","solaris2"
49
+ default["chef_client"]["init_style"] = "smf"
50
+ default["chef_client"]["run_path"] = "/var/run/chef"
51
+ default["chef_client"]["cache_path"] = "/var/chef/cache"
52
+ default["chef_client"]["backup_path"] = "/var/chef/backup"
53
+ when "windows"
54
+ default["chef_client"]["init_style"] = "winsw"
55
+ default["chef_client"]["run_path"] = "C:/var/run/chef"
56
+ default["chef_client"]["cache_path"] = "C:/var/chef/cache"
57
+ default["chef_client"]["backup_path"] = "C:/var/chef/backup"
58
+ default["chef_client"]["conf_dir"] = "C:/chef"
59
+ default["chef_client"]["bin"] = File.join(Gem.bindir, "chef-client")
60
+ #Required for minsw wrapper
61
+ default["chef_client"]["ruby_bin"] = File.join(RbConfig::CONFIG['bindir'], "ruby.exe")
62
+ default["chef_client"]["winsw_url"] = "http://maven.dyndns.org/2/com/sun/winsw/winsw/1.8/winsw-1.8-bin.exe"
63
+ default["chef_client"]["winsw_dir"] = "C:/chef/bin"
64
+ default["chef_client"]["winsw_exe"] = "chef-client.exe"
65
+ else
66
+ default["chef_client"]["init_style"] = "none"
67
+ default["chef_client"]["run_path"] = "/var/run"
68
+ default["chef_client"]["cache_path"] = "/var/chef/cache"
69
+ default["chef_client"]["backup_path"] = "/var/chef/backup"
70
+ end
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "chef-client",
3
+ "description": "Manages aspects of only chef-client",
4
+ "long_description": "Description\n===========\n\nThis cookbook is used to configure a system as a Chef Client.\n\nRequirements\n============\n\nChef 0.9.12 or higher is required.\n\nPlatforms\n---------\n\nThe following platforms are supported by this cookbook, meaning that the recipes run on these platforms without error.\n\n* Debian\n* Ubuntu\n* Red Hat\n* CentOS\n* Fedora\n* ArchLinux\n* FreeBSD\n* Mac OS X\n* Mac OS X Server\n\nOpscode Cookbooks\n-----------------\n\nOther cookbooks can be used with this cookbook but they are not explicitly required. The default settings in this cookbook do not require their use. The other cookbooks (on community.opsocde.com) are:\n\n* bluepill\n* daemontools\n* runit\n\nSee __USAGE__ below.\n\nAttributes\n==========\n\n* `node[\"chef_client\"][\"interval\"]` - Sets `Chef::Config[:interval]` via command-line option for number of seconds between chef-client daemon runs. Default 1800.\n* `node[\"chef_client\"][\"splay\"]` - Sets `Chef::Config[:splay]` via command-line option for a random amount of seconds to add to interval. Default 20.\n* `node[\"chef_client\"][\"log_dir\"]` - Sets directory used in `Chef::Config[:log_location]` via command-line option to a location where chef-client should log output. Default \"/var/log/chef\".\n* `node[\"chef_client\"][\"conf_dir\"]` - Sets directory used via command-line option to a location where chef-client search for the client config file . Default \"/etc/chef\".\n* `node[\"chef_client\"][\"bin\"]` - Sets the full path to the `chef-client` binary. Mainly used to set a specific path if multiple versions of chef-client exist on a system or the bin has been installed in a non-sane path. Default \"/usr/bin/chef-client\"\n* `node[\"chef_client\"][\"server_url\"]` - Sets `Chef::Config[:chef_server_url]` in the config file to the Chef Server URI. Default \"http://localhost:4000\". See __USAGE__.\n* `node[\"chef_client\"][\"validation_client_name\"]` - Sets `Chef::Config[:validation_client_name]` in the config file to the name of the validation client. Default \"chef-validator\". See __USAGE__.\n* `node[\"chef_client\"][\"init_style\"]` - Sets up the client service based on the style of init system to use. Default is based on platform and falls back to \"none\". See __USAGE__.\n* `node[\"chef_client\"][\"run_path\"]` - Directory location where chef-client should write the PID file. Default based on platform, falls back to \"/var/run\".\n* `node[\"chef_client\"][\"cache_path\"]` - Directory location for `Chef::Config[:file_cache_path]` where chef-client will cache various files. Default is based on platform, falls back to \"/var/chef/cache\".\n* `node[\"chef_client\"][\"backup_path\"]` - Directory location for `Chef::Config[:file_backup_path]` where chef-client will backup templates and cookbook files. Default is based on platform, falls back to \"/var/chef/backup\".\n* node[\"chef_client\"][\"cron\"][\"minute\"] - The hour that chef-client will run as a cron task, only applicable if the you set \"cron\" as the \"init_style\"\n* node[\"chef_client\"][\"cron\"][\"hour\"] - The hour that chef-client will run as a cron task, only applicable if the you set \"cron\" as the \"init_style\"\n\n\n\nRecipes\n=======\n\nThis section describes the recipes in the cookbook and how to use them in your environment.\n\nconfig\n------\n\nSets up the `/etc/chef/client.rb` config file from a template and reloads the configuration for the current chef-client run.\n\nservice\n-------\n\nUse this recipe on systems that should have a `chef-client` daemon running, such as when Knife bootstrap was used to install Chef on a new system.\n\nThis recipe sets up the `chef-client` service depending on the `init_style` attribute (see above). The following init styles are supported:\n\n* init - uses the init script included in the chef gem, supported on debian and redhat family distributions.\n* upstart - uses the upstart job included in the chef gem, supported on ubuntu.\n* arch - uses the init script included in this cookbook for ArchLinux, supported on arch.\n* runit - sets up the service under runit, supported on ubuntu, debian and gentoo.\n* bluepill - sets up the service under bluepill. As bluepill is a pure ruby process monitor, this should work on any platform.\n* daemontools -sets up the service under daemontools, supported on debian, ubuntu and arch\n* bsd - prints a message about how to update BSD systems to enable the chef-client service, supported on Free/OpenBSD and OSX.\n\ndefault\n-------\n\nIncludes the `chef-client::service` recipe by default.\n\ndelete_validation\n-----------------\n\nUse this recipe to delete the validation certificate (default `/etc/chef/validation.pem`) when using a `chef-client` after the client has been validated and authorized to connect to the server.\n\nBeware if using this on your Chef Server. First copy the validation.pem certificate file to another location, such as your knife configuration directory (`~/.chef`) or [Chef Repository](http://wiki.opscode.com/display/chef/Chef+Repository).\n\ncron\n----\n\nUse this recipe to run chef-client as a cron job rather than as a\nservice. The cron job runs after random delay that is between 0 and 90\nseconds to ensure that the chef-clients don't attempt to connect to\nthe chef-server at the exact same time. You should set\nnode[\"chef_client\"][\"init_style\"] = \"none\" when you use this mode but\nit is not required.\n\n\n\nUSAGE\n=====\n\nCreate a `base` role that will represent the base configuration for any system that includes managing aspects of the chef-client. Add recipes to the run list of the role, customize the attributes, and apply the role to nodes. For example, the following role (Ruby DSL) will set the init style to `init`, delete the validation certificate (as the client would already be authenticated) and set up the chef-client as a service using the init style.\n\n name \"base\"\n description \"Base role applied to all nodes\"\n override_attributes(\n \"chef_client\" => {\n \"init_style\" => \"init\"\n }\n )\n run_list(\n \"recipe[chef-client::delete_validation]\",\n \"recipe[chef-client::config]\",\n \"recipe[chef-client::service]\"\n )\n\nThe `chef-client::config` recipe is only required with init style `init` (default setting for the attribute on debian/redhat family platforms, because the init script doesn't include the `pid_file` option which is set in the config.\n\nThe default Chef Server will be `http://localhost:4000` which is the `Chef::Config[:chef_server_url]` default value. To use the config recipe with the Opscode Platform, for example, add the following to the `override_attributes`\n\n override_attributes(\n \"chef_client\" => {\n \"server_url\" => \"https://api.opscode.com/organizations/ORGNAME\",\n \"validation_client_name\" => \"ORGNAME-validator\"\n }\n )\n\nWhere ORGNAME is your Opscode Platform organization name. Be sure to add these attributes to the role if modifying per the section below.\n\nYou can also set all of the `Chef::Config` http proxy related settings. By default Chef will not use a proxy.\n\n override_attributes(\n \"chef_client\" => {\n \"http_proxy\" => \"http://proxy.vmware.com:3128\",\n \"https_proxy\" => \"http://proxy.vmware.com:3128\",\n \"http_proxy_user\" => \"my_username\",\n \"http_proxy_pass\" => \"Awe_some_Pass_Word!\",\n \"no_proxy\" => \"*.vmware.com,10.*\"\n }\n )\n\nAlternate Init Styles\n---------------------\n\nThe alternate init styles available are:\n\n* runit\n* bluepill\n* daemontools\n* none -- should be specified if you are running chef-client as cron job\n\nFor usage, see below.\n\n# Runit\n\nTo use runit, download the cookbook from the cookbook site.\n\n knife cookbook site vendor runit -d\n\nChange the `init_style` to runit in the base role and add the runit recipe to the role's run list:\n\n name \"base\"\n description \"Base role applied to all nodes\"\n override_attributes(\n \"chef_client\" => {\n \"init_style\" => \"runit\"\n }\n )\n run_list(\n \"recipe[chef-client::delete_validation]\",\n \"recipe[runit]\",\n \"recipe[chef-client]\"\n )\n\nThe `chef-client` recipe will create the chef-client service configured with runit. The runit run script will be located in `/etc/sv/chef-client/run`. The output log will be in the runit service directory, `/etc/sv/chef-client/log/main/current`.\n\n# Bluepill\n\nTo use bluepill, download the cookbook from the cookbook site.\n\n knife cookbook site vendor bluepill -d\n\nChange the `init_style` to runit in the base role and add the bluepill recipe to the role's run list:\n\n name \"base\"\n description \"Base role applied to all nodes\"\n override_attributes(\n \"chef_client\" => {\n \"init_style\" => \"bluepill\"\n }\n )\n run_list(\n \"recipe[chef-client::delete_validation]\",\n \"recipe[bluepill]\",\n \"recipe[chef-client]\"\n )\n\nThe `chef-client` recipe will create the chef-client service configured with bluepill. The bluepill \"pill\" will be located in `/etc/bluepill/chef-client.pill`. The output log will be to client.log file in the `node[\"chef_client\"][\"log_dir\"]` location, `/var/log/chef/client` by default.\n\n# Daemontools\n\nTo use daemontools, download the cookbook from the cookbook site.\n\n knife cookbook site vendor daemontools -d\n\nChange the `init_style` to runit in the base role and add the daemontools recipe to the role's run list:\n\n name \"base\"\n description \"Base role applied to all nodes\"\n override_attributes(\n \"chef_client\" => {\n \"init_style\" => \"daemontools\"\n }\n )\n run_list(\n \"recipe[chef-client::delete_validation]\",\n \"recipe[daemontools]\",\n \"recipe[chef-client]\"\n )\n\nThe `chef-client` recipe will create the chef-cilent service configured under daemontools. It uses the same sv run scripts as the runit recipe. The run script will be located in `/etc/sv/chef-client/run`. The output log will be in the daemontools service directory, `/etc/sv/chef-client/log/main/current`.\n\nTemplates\n=========\n\nchef-client.pill.erb\n--------------------\n\nBluepill configuration for the chef-client service.\n\nclient.rb.erb\n-------------\n\nConfiguration for the client, lands in directory specified by `node[\"chef_client\"][\"conf_dir\"]` (`/etc/chef/client.rb` by default).\n\n`sv-chef-client-*run.erb`\n-------------------------\n\nRunit and Daemontools run script for chef-client service and logs.\n\nLogs will be located in the `node[\"chef_client\"][\"log_dir\"]`.\n\nLicense and Author\n==================\n\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nAuthor:: Seth Chisamore (<schisamo@opscode.com>)\nCopyright:: 2010-2011, Opscode, Inc.\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\n",
5
+ "maintainer": "Opscode, Inc.",
6
+ "maintainer_email": "cookbooks@opscode.com",
7
+ "license": "Apache 2.0",
8
+ "platforms": {
9
+ "ubuntu": ">= 0.0.0",
10
+ "debian": ">= 0.0.0",
11
+ "redhat": ">= 0.0.0",
12
+ "centos": ">= 0.0.0",
13
+ "fedora": ">= 0.0.0",
14
+ "freebsd": ">= 0.0.0",
15
+ "openbsd": ">= 0.0.0",
16
+ "mac_os_x": ">= 0.0.0",
17
+ "mac_os_x_server": ">= 0.0.0",
18
+ "windows": ">= 0.0.0"
19
+ },
20
+ "dependencies": {
21
+ },
22
+ "recommendations": {
23
+ },
24
+ "suggestions": {
25
+ },
26
+ "conflicting": {
27
+ },
28
+ "providing": {
29
+ },
30
+ "replacing": {
31
+ },
32
+ "attributes": {
33
+ },
34
+ "groupings": {
35
+ },
36
+ "recipes": {
37
+ "chef-client": "Includes the service recipe by default.",
38
+ "chef-client::config": "Configures the client.rb from a template.",
39
+ "chef-client::service": "Sets up a client daemon to run periodically",
40
+ "chef-client::delete_validation": "Deletes validation.pem after client registers",
41
+ "chef-client::cron": "Runs chef-client as a cron job rather than as a service"
42
+ },
43
+ "version": "1.1.2"
44
+ }
@@ -0,0 +1,15 @@
1
+ maintainer "Opscode, Inc."
2
+ maintainer_email "cookbooks@opscode.com"
3
+ license "Apache 2.0"
4
+ description "Manages aspects of only chef-client"
5
+ long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
6
+ version "1.1.2"
7
+ recipe "chef-client", "Includes the service recipe by default."
8
+ recipe "chef-client::config", "Configures the client.rb from a template."
9
+ recipe "chef-client::service", "Sets up a client daemon to run periodically"
10
+ recipe "chef-client::delete_validation", "Deletes validation.pem after client registers"
11
+ recipe "chef-client::cron", "Runs chef-client as a cron job rather than as a service"
12
+
13
+ %w{ ubuntu debian redhat centos fedora freebsd openbsd mac_os_x mac_os_x_server windows }.each do |os|
14
+ supports os
15
+ end
@@ -0,0 +1,53 @@
1
+ #
2
+ # Author:: Joshua Timberman (<joshua@opscode.com>)
3
+ # Author:: Joshua Sierles (<joshua@37signals.com>)
4
+ # Author:: Seth Chisamore (<schisamo@opscode.com>)
5
+ # Cookbook Name:: chef
6
+ # Recipe:: client
7
+ #
8
+ # Copyright 2008-2011, Opscode, Inc
9
+ # Copyright 2009, 37signals
10
+ #
11
+ # Licensed under the Apache License, Version 2.0 (the "License");
12
+ # you may not use this file except in compliance with the License.
13
+ # You may obtain a copy of the License at
14
+ #
15
+ # http://www.apache.org/licenses/LICENSE-2.0
16
+ #
17
+ # Unless required by applicable law or agreed to in writing, software
18
+ # distributed under the License is distributed on an "AS IS" BASIS,
19
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ # See the License for the specific language governing permissions and
21
+ # limitations under the License.
22
+
23
+ root_group = value_for_platform(
24
+ ["openbsd", "freebsd", "mac_os_x", "mac_os_x_server"] => { "default" => "wheel" },
25
+ "default" => "root"
26
+ )
27
+
28
+ chef_node_name = Chef::Config[:node_name] == node["fqdn"] ? false : Chef::Config[:node_name]
29
+
30
+ %w{run_path cache_path backup_path log_dir}.each do |key|
31
+ directory node['chef_client'][key] do
32
+ recursive true
33
+ owner "root"
34
+ group root_group
35
+ mode 0755
36
+ end
37
+ end
38
+
39
+ template "#{node["chef_client"]["conf_dir"]}/client.rb" do
40
+ source "client.rb.erb"
41
+ owner "root"
42
+ group root_group
43
+ mode 0644
44
+ variables :chef_node_name => chef_node_name
45
+ notifies :create, "ruby_block[reload_client_config]"
46
+ end
47
+
48
+ ruby_block "reload_client_config" do
49
+ block do
50
+ Chef::Config.from_file("#{node["chef_client"]["conf_dir"]}/client.rb")
51
+ end
52
+ action :nothing
53
+ end
@@ -0,0 +1,83 @@
1
+ #
2
+ # Author:: Joshua Timberman (<joshua@opscode.com>)
3
+ # Author:: Seth Chisamore (<schisamo@opscode.com>)
4
+ # Author:: Bryan Berry (<bryan.berry@gmail.com>)
5
+ # Cookbook Name:: chef-client
6
+ # Recipe:: cron
7
+ #
8
+ # Copyright 2009-2011, Opscode, Inc.
9
+ #
10
+ # Licensed under the Apache License, Version 2.0 (the "License");
11
+ # you may not use this file except in compliance with the License.
12
+ # You may obtain a copy of the License at
13
+ #
14
+ # http://www.apache.org/licenses/LICENSE-2.0
15
+ #
16
+ # Unless required by applicable law or agreed to in writing, software
17
+ # distributed under the License is distributed on an "AS IS" BASIS,
18
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ # See the License for the specific language governing permissions and
20
+ # limitations under the License.
21
+ #
22
+
23
+ root_group = value_for_platform(
24
+ ["openbsd", "freebsd", "mac_os_x"] => { "default" => "wheel" },
25
+ "default" => "root"
26
+ )
27
+
28
+ # COOK-635 account for alternate gem paths
29
+ # try to use the bin provided by the node attribute
30
+ if ::File.executable?(node["chef_client"]["bin"])
31
+ client_bin = node["chef_client"]["bin"]
32
+ # search for the bin in some sane paths
33
+ elsif (chef_in_sane_path=Chef::Client::SANE_PATHS.map{|p| p="#{p}/chef-client";p if ::File.executable?(p)}.compact.first) && chef_in_sane_path
34
+ client_bin = chef_in_sane_path
35
+ # last ditch search for a bin in PATH
36
+ elsif (chef_in_path=%x{which chef-client}.chomp) && ::File.executable?(chef_in_path)
37
+ client_bin = chef_in_path
38
+ else
39
+ raise "Could not locate the chef-client bin in any known path. Please set the proper path by overriding node['chef_client']['bin'] in a role."
40
+ end
41
+
42
+ %w{run_path cache_path backup_path log_dir}.each do |key|
43
+ directory node["chef_client"][key] do
44
+ recursive true
45
+ owner "root"
46
+ group root_group
47
+ mode 0755
48
+ end
49
+ end
50
+
51
+ dist_dir, conf_dir = value_for_platform(
52
+ ["ubuntu", "debian"] => { "default" => ["debian", "default"] },
53
+ ["redhat", "centos", "fedora", "scientific", "amazon"] => { "default" => ["redhat", "sysconfig"]}
54
+ )
55
+
56
+ # let's create the service file so the :disable action doesn't fail
57
+ template "/etc/init.d/chef-client" do
58
+ source "#{dist_dir}/init.d/chef-client.erb"
59
+ mode 0755
60
+ variables(
61
+ :client_bin => client_bin
62
+ )
63
+ end
64
+
65
+ template "/etc/#{conf_dir}/chef-client" do
66
+ source "#{dist_dir}/#{conf_dir}/chef-client.erb"
67
+ mode 0644
68
+ end
69
+
70
+ service "chef-client" do
71
+ supports :status => true, :restart => true
72
+ action [:disable, :stop]
73
+ end
74
+
75
+ cron "chef-client" do
76
+ minute node['chef_client']['cron']['minute']
77
+ hour node['chef_client']['cron']['hour']
78
+ user "root"
79
+ shell "/bin/bash"
80
+ command "/bin/sleep `/usr/bin/expr $RANDOM \\% 90` &> /dev/null ; #{client_bin} &> /dev/null "
81
+ end
82
+
83
+
@@ -0,0 +1,20 @@
1
+ #
2
+ # Cookbook Name:: chef-client
3
+ # Recipe:: default
4
+ #
5
+ # Copyright 2010, Opscode, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ include_recipe "chef-client::service"
@@ -0,0 +1,26 @@
1
+ #
2
+ # Author:: Joshua Timberman <joshua@opscode.com>
3
+ # Cookbook Name:: chef
4
+ # Recipe:: delete_validation
5
+ #
6
+ # Copyright 2010, Opscode, Inc
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+
20
+ unless node[:recipes].include?("chef-server")
21
+ file Chef::Config[:validation_key] do
22
+ action :delete
23
+ backup false
24
+ only_if { ::File.exists?(Chef::Config[:client_key]) }
25
+ end
26
+ end
@@ -0,0 +1,242 @@
1
+ #
2
+ # Author:: Joshua Timberman (<joshua@opscode.com>)
3
+ # Author:: Seth Chisamore (<schisamo@opscode.com>)
4
+ # Cookbook Name:: chef
5
+ # Recipe:: bootstrap_client
6
+ #
7
+ # Copyright 2009-2011, Opscode, Inc.
8
+ #
9
+ # Licensed under the Apache License, Version 2.0 (the "License");
10
+ # you may not use this file except in compliance with the License.
11
+ # You may obtain a copy of the License at
12
+ #
13
+ # http://www.apache.org/licenses/LICENSE-2.0
14
+ #
15
+ # Unless required by applicable law or agreed to in writing, software
16
+ # distributed under the License is distributed on an "AS IS" BASIS,
17
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ # See the License for the specific language governing permissions and
19
+ # limitations under the License.
20
+ #
21
+
22
+ root_group = value_for_platform(
23
+ ["openbsd", "freebsd", "mac_os_x", "mac_os_x_server"] => { "default" => "wheel" },
24
+ "default" => "root"
25
+ )
26
+
27
+ # COOK-635 account for alternate gem paths
28
+ # try to use the bin provided by the node attribute
29
+ if ::File.executable?(node["chef_client"]["bin"])
30
+ client_bin = node["chef_client"]["bin"]
31
+ # search for the bin in some sane paths
32
+ elsif Chef::Client.const_defined?('SANE_PATHS') && (chef_in_sane_path=Chef::Client::SANE_PATHS.map{|p| p="#{p}/chef-client";p if ::File.executable?(p)}.compact.first) && chef_in_sane_path
33
+ client_bin = chef_in_sane_path
34
+ # last ditch search for a bin in PATH
35
+ elsif (chef_in_path=%x{which chef-client}.chomp) && ::File.executable?(chef_in_path)
36
+ client_bin = chef_in_path
37
+ else
38
+ raise "Could not locate the chef-client bin in any known path. Please set the proper path by overriding node['chef_client']['bin'] in a role."
39
+ end
40
+
41
+ %w{run_path cache_path backup_path log_dir}.each do |key|
42
+ directory node["chef_client"][key] do
43
+ recursive true
44
+ # Work-around for CHEF-2633
45
+ unless node["platform"] == "windows"
46
+ owner "root"
47
+ group root_group
48
+ end
49
+ mode 0755
50
+ end
51
+ end
52
+
53
+ case node["chef_client"]["init_style"]
54
+ when "init"
55
+
56
+ dist_dir, conf_dir = value_for_platform(
57
+ ["ubuntu", "debian"] => { "default" => ["debian", "default"] },
58
+ ["redhat", "centos", "fedora", "scientific", "amazon"] => { "default" => ["redhat", "sysconfig"]}
59
+ )
60
+
61
+ template "/etc/init.d/chef-client" do
62
+ source "#{dist_dir}/init.d/chef-client.erb"
63
+ mode 0755
64
+ variables(
65
+ :client_bin => client_bin
66
+ )
67
+ notifies :restart, "service[chef-client]", :delayed
68
+ end
69
+
70
+ template "/etc/#{conf_dir}/chef-client" do
71
+ source "#{dist_dir}/#{conf_dir}/chef-client.erb"
72
+ mode 0644
73
+ notifies :restart, "service[chef-client]", :delayed
74
+ end
75
+
76
+ service "chef-client" do
77
+ supports :status => true, :restart => true
78
+ action :enable
79
+ end
80
+
81
+ when "smf"
82
+ local_path = ::File.join(Chef::Config[:file_cache_path], "/")
83
+ template "/lib/svc/method/chef-client" do
84
+ source "solaris/chef-client.erb"
85
+ owner "root"
86
+ group "root"
87
+ mode "0777"
88
+ notifies :restart, "service[chef-client]"
89
+ end
90
+
91
+ template (local_path + "chef-client.xml") do
92
+ source "solaris/manifest.xml.erb"
93
+ owner "root"
94
+ group "root"
95
+ mode "0644"
96
+ notifies :run, "execute[load chef-client manifest]", :immediately
97
+ end
98
+
99
+ execute "load chef-client manifest" do
100
+ action :nothing
101
+ command "svccfg import #{local_path}chef-client.xml"
102
+ notifies :restart, "service[chef-client]"
103
+ end
104
+
105
+ service "chef-client" do
106
+ action [:enable, :start]
107
+ provider Chef::Provider::Service::Solaris
108
+ end
109
+
110
+ when "upstart"
111
+
112
+ case node["platform"]
113
+ when "ubuntu"
114
+ if (8.04..9.04).include?(node["platform_version"].to_f)
115
+ upstart_job_dir = "/etc/event.d"
116
+ upstart_job_suffix = ""
117
+ else
118
+ upstart_job_dir = "/etc/init"
119
+ upstart_job_suffix = ".conf"
120
+ end
121
+ end
122
+
123
+ template "#{upstart_job_dir}/chef-client#{upstart_job_suffix}" do
124
+ source "debian/init/chef-client.conf.erb"
125
+ mode 0644
126
+ variables(
127
+ :client_bin => client_bin
128
+ )
129
+ notifies :restart, "service[chef-client]", :delayed
130
+ end
131
+
132
+ service "chef-client" do
133
+ provider Chef::Provider::Service::Upstart
134
+ action [:enable,:start]
135
+ end
136
+
137
+ when "arch"
138
+
139
+ template "/etc/rc.d/chef-client" do
140
+ source "rc.d/chef-client.erb"
141
+ mode 0755
142
+ variables(
143
+ :client_bin => client_bin
144
+ )
145
+ notifies :restart, "service[chef-client]", :delayed
146
+ end
147
+
148
+ template "/etc/conf.d/chef-client.conf" do
149
+ source "conf.d/chef-client.conf.erb"
150
+ mode 0644
151
+ notifies :restart, "service[chef-client]", :delayed
152
+ end
153
+
154
+ service "chef-client" do
155
+ action [:enable, :start]
156
+ end
157
+
158
+ when "runit"
159
+
160
+ include_recipe "runit"
161
+ runit_service "chef-client"
162
+
163
+ when "bluepill"
164
+
165
+ directory node["chef_client"]["run_path"] do
166
+ recursive true
167
+ owner "root"
168
+ group root_group
169
+ mode 0755
170
+ end
171
+
172
+ include_recipe "bluepill"
173
+
174
+ template "#{node["bluepill"]["conf_dir"]}/chef-client.pill" do
175
+ source "chef-client.pill.erb"
176
+ mode 0644
177
+ notifies :restart, "bluepill_service[chef-client]", :delayed
178
+ end
179
+
180
+ bluepill_service "chef-client" do
181
+ action [:enable,:load,:start]
182
+ end
183
+
184
+ when "daemontools"
185
+
186
+ include_recipe "daemontools"
187
+
188
+ directory "/etc/sv/chef-client" do
189
+ recursive true
190
+ owner "root"
191
+ group root_group
192
+ mode 0755
193
+ end
194
+
195
+ daemontools_service "chef-client" do
196
+ directory "/etc/sv/chef-client"
197
+ template "chef-client"
198
+ action [:enable,:start]
199
+ log true
200
+ end
201
+
202
+ when "winsw"
203
+
204
+ directory node["chef_client"]["winsw_dir"] do
205
+ action :create
206
+ end
207
+
208
+ template "#{node["chef_client"]["winsw_dir"]}/chef-client.xml" do
209
+ source "chef-client.xml.erb"
210
+ notifies :run, "execute[restart chef-client using winsw wrapper]", :delayed
211
+ end
212
+
213
+ winsw_path = File.join(node["chef_client"]["winsw_dir"], node["chef_client"]["winsw_exe"])
214
+ remote_file winsw_path do
215
+ source node["chef_client"]["winsw_url"]
216
+ not_if { File.exists?(winsw_path) }
217
+ end
218
+
219
+ # Work-around for CHEF-2541
220
+ # Should be replaced by a service :restart action
221
+ # in Chef 0.10.6
222
+ execute "restart chef-client using winsw wrapper" do
223
+ command "#{winsw_path} restart"
224
+ not_if { WMI::Win32_Service.find(:first, :conditions => {:name => "chef-client"}).nil? }
225
+ action :nothing
226
+ end
227
+
228
+ execute "Install chef-client service using winsw" do
229
+ command "#{winsw_path} install"
230
+ only_if { WMI::Win32_Service.find(:first, :conditions => {:name => "chef-client"}).nil? }
231
+ end
232
+
233
+ service "chef-client" do
234
+ action :start
235
+ end
236
+
237
+ when "bsd"
238
+ log "You specified service style 'bsd'. You will need to set up your rc.local file."
239
+ log "Hint: chef-client -i #{node["chef_client"]["client_interval"]} -s #{node["chef_client"]["client_splay"]}"
240
+ else
241
+ log "Could not determine service init style, manual intervention required to start up the chef-client service."
242
+ end