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,213 @@
1
+ ## Cookbook testing
2
+
3
+ Reference documentation for testing cookbooks for correctness
4
+ in a lightweight manner.
5
+
6
+ ## Purpose
7
+
8
+ We set out at the Chefconf 2012 Hackday to test our cookbooks for correctness
9
+ without doing a full convergence run. Some of our community cookbooks such
10
+ as `gitlab` or `ruby_build` may take up to 30 minutes to fully converge.
11
+ So a quick sanity check was needed to test the inputs for correctness.
12
+
13
+ A major problem with developing cross-platform cookbooks is this ugly
14
+ stair-step pattern of case switches on platform and platform_version
15
+ attributes. This leads to hard to read recipe code, and additional
16
+ maintenance overhead in correcting platform cases on a constant basis.
17
+ Recipe tend to take on quirks for edge cases, as conditionals are stacked
18
+ in inconsistest and unpredictable ways.
19
+
20
+ Fletcher had done some previous lint checking on some of his cookbooks
21
+ with foodcritic and [Travis CI](http://travis-ci.org). We wished to
22
+ incorporate attribute sanity checking. Both our testing cases are added
23
+ as a `rake` task which can be run from a development workstation
24
+ or CI platform such as Travis or Jenkins. The biggest advantage we found
25
+ of this testing method was being able to run quick attribute tests in
26
+ **one-hundredth of a second**. The biggest drawback in spec tests are
27
+ having to write tests which are very explicit.
28
+
29
+ The attribute tests uses minitest to mock a node and then check the attributes
30
+ for any platform edge cases as shipped with the cookbook. Since there is
31
+ no way for a cookbook developer to know how attributes will be overridden
32
+ by the end-user, the only thing you might reasonably test is what ships
33
+ with the cookbook.
34
+
35
+ We stopped before testing the Resource Collection, or integrating
36
+ `minitest-handler` post-convergence testing. A good `minitest-handler`
37
+ case for this cookbook would be to ensure a node does not set itself
38
+ as an upstream ntp `server` or `peer` of itself. As different testing
39
+ methods for Chef emerge and mature, this proof-of-concept should be
40
+ revisited to serve as a reference case.
41
+
42
+ ## Minitest Spec Testing HOWTO
43
+
44
+ ### 1. Identification
45
+
46
+ Identify your default attribute inputs, and all edge cases.
47
+
48
+ Refactor the code for readability, if necessary to identify all such inputs.
49
+
50
+ ### 2. Development testing files
51
+
52
+ #### 2.1 Test and Support file
53
+
54
+ Foodcritic may identify testing directories as cookbooks if attributes, or recipes, subdirectories are used.
55
+ Otherwise the testing directory structure does not matter much. Following Ruby conventions, you should probably use `test` or `spec`.
56
+
57
+ Create a test directory structure.
58
+
59
+ ```sh
60
+ cd chef-repo/cookbooks/<cookbook dir>
61
+ mkdir -p test/support
62
+ mkdir -p test/<cookbook name>
63
+ ```
64
+
65
+ Populate your Gemfile for the rake task, and optionally Travis.
66
+
67
+ ```ruby
68
+ # test/support/Gemfile
69
+ source "https://rubygems.org"
70
+ gem "rake"
71
+ gem "minitest"
72
+ gem "chef", ">= 10.12.0"
73
+ gem "foodcritic"
74
+ ```
75
+
76
+ Create a spec_helper stub to require testing Rubies.
77
+
78
+ ```ruby
79
+ # test/support/spec_helper.rb
80
+ gem 'minitest'
81
+ require 'minitest/autorun'
82
+ ```
83
+
84
+ Create a <name of test>_spec.rb test file. Following is a partial NTP attributes example.
85
+
86
+ ```ruby
87
+ # test/ntp/attributes_spec.rb
88
+ require File.join(File.dirname(__FILE__), %w{.. support spec_helper})
89
+ require 'chef/node'
90
+ require 'chef/platform'
91
+
92
+ describe 'Ntp::Attributes::Default' do
93
+ let(:attr_ns) { 'ntp' }
94
+
95
+ before do
96
+ @node = Chef::Node.new
97
+ @node.consume_external_attrs(Mash.new(ohai_data), {})
98
+ @node.from_file(File.join(File.dirname(__FILE__), %w{.. .. attributes default.rb}))
99
+ end
100
+
101
+ # Test unknown edge case
102
+ describe "for unknown platform" do
103
+ let(:ohai_data) do
104
+ { :platform => "unknown", :platform_version => '3.14' }
105
+ end
106
+
107
+ it "sets a package list" do
108
+ @node[attr_ns]['packages'].must_equal %w{ ntp ntpdate }
109
+ end
110
+ end #end unknown platform tests
111
+
112
+ # Test CentOS 6 edge case
113
+ describe "for Centos 6 platform" do
114
+ let(:ohai_data) do
115
+ { :platform => "centos", :platform_version => '6.2' }
116
+ end
117
+
118
+ it "sets the service name to ntpd" do
119
+ @node[attr_ns]['service'].must_equal "ntpd"
120
+ end
121
+ end #end CentOS 6 tests
122
+ end
123
+ ```
124
+
125
+ #### 2.2 Set up Rake tasks
126
+
127
+ Once you have one or two test cases in your *_spec.rb files, the next step is creating a Rakefile for running the tests.
128
+ We will set up a task for the minitest spec tests and a foodcritic run for this example. The Rakefile should
129
+ be placed at the top-level of the cookbook you wish to test.
130
+
131
+ ```ruby
132
+ #!/usr/bin/env rake
133
+ require 'rake/testtask'
134
+
135
+ Rake::TestTask.new do |t|
136
+ t.libs.push "lib"
137
+ t.test_files = FileList['test/**/*_spec.rb']
138
+ t.verbose = true
139
+ end
140
+
141
+ desc "Runs foodcritic linter"
142
+ task :foodcritic do
143
+ if Gem::Version.new("1.9.2") <= Gem::Version.new(RUBY_VERSION.dup)
144
+ sh "foodcritic --epic-fail any ."
145
+ else
146
+ puts "WARN: foodcritic run is skipped as Ruby #{RUBY_VERSION} is < 1.9.2."
147
+ end
148
+ end
149
+
150
+ task :default => [ 'test', 'foodcritic' ]
151
+ ```
152
+
153
+ Now you should be able to run `rake` within your cookbook directory you wish to test. If you are on a bash shell, you can run `echo $?` and see if your rake task returned a `0` which means everything passed.
154
+
155
+ ### 3. Exclude your test directories from knife upload.
156
+
157
+ It may be a good idea to exclude your development files from getting uploaded to the Chef server, or Opscode platform. In this case you should populate a chefignore file in the top-level of the cookbook directory you wish to test.
158
+
159
+ ```ruby
160
+ # Put files/directories that should be ignored in this file.
161
+ # Lines that start with '# ' are comments.
162
+
163
+ # gitignore
164
+ \.gitignore
165
+
166
+ # tests
167
+ */test/*
168
+ \.travis.yml
169
+ Rakefile
170
+ ```
171
+
172
+ #### 4. Travis CI integration
173
+
174
+ Once you have completed the previous steps, Travis CI integration is actually quite simple.
175
+
176
+ First, you need to click on the link that says `Sign in with Github` and authorize the Travis CI application to read your projects from Github. Next, you need to authorize Travis to build one, or all, of your projects.
177
+
178
+ Finally, you need to set up a .travis.yml file, here is an example Travis build file. Drop this file in the top-level directory of the cookbook you wish to test.
179
+
180
+ ```ruby
181
+ language: ruby
182
+ gemfile:
183
+ - test/support/Gemfile
184
+ rvm:
185
+ - 1.9.3
186
+ script: BUNDLE_GEMFILE=test/support/Gemfile bundle exec rake test foodcritic
187
+ ```
188
+
189
+ If you want a shiny red/green, badge of shame/honor in your README, then add this little snippet to your Markdown. Substituting your github username, and project name in the link.
190
+
191
+ [![Build Status](https://secure.travis-ci.org/<github username>/<project name>.png?branch=master)](http://travis-ci.org/<github username>/<project name>)
192
+
193
+ When you push your code up to github, you should receive an e-mail from Travis every time your tests fail.
194
+
195
+ ## License and Author
196
+
197
+ Author:: Eric G. Wolfe (<wolfe21@marshall.edu>)
198
+ Author:: Fletcher Nichol (<fletcher@nichol.ca>)
199
+
200
+ Copyright 2012, Eric G. Wolfe
201
+ Copyright 2012, Fletcher Nichol
202
+
203
+ Licensed under the Apache License, Version 2.0 (the "License");
204
+ you may not use this file except in compliance with the License.
205
+ You may obtain a copy of the License at
206
+
207
+ http://www.apache.org/licenses/LICENSE-2.0
208
+
209
+ Unless required by applicable law or agreed to in writing, software
210
+ distributed under the License is distributed on an "AS IS" BASIS,
211
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
212
+ See the License for the specific language governing permissions and
213
+ limitations under the License.
@@ -0,0 +1,54 @@
1
+ #
2
+ # Cookbook Name:: ntp
3
+ # Attributes:: default
4
+ #
5
+ # Author:: Joshua Timberman (<joshua@opscode.com>)
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
+ # default attributes for all platforms
23
+ default['ntp']['servers'] = %w{ 0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org }
24
+ default['ntp']['peers'] = Array.new
25
+ default['ntp']['restrictions'] = Array.new
26
+
27
+ default['ntp']['packages'] = %w{ ntp ntpdate }
28
+ default['ntp']['service'] = "ntp"
29
+ default['ntp']['varlibdir'] = "/var/lib/ntp"
30
+ default['ntp']['driftfile'] = "#{node['ntp']['varlibdir']}/ntp.drift"
31
+ default['ntp']['statsdir'] = "/var/log/ntpstats/"
32
+ default['ntp']['conf_owner'] = "root"
33
+ default['ntp']['conf_group'] = "root"
34
+ default['ntp']['var_owner'] = "ntp"
35
+ default['ntp']['var_group'] = "ntp"
36
+ default['ntp']['leapfile'] = "/etc/ntp.leapseconds"
37
+
38
+ # overrides on a platform-by-platform basis
39
+ case platform
40
+ when "redhat","centos","fedora","scientific","amazon","oracle"
41
+ default['ntp']['service'] = "ntpd"
42
+ default['ntp']['packages'] = %w{ ntp }
43
+ if node['platform_version'].to_i >= 6
44
+ default['ntp']['packages'] = %w{ ntp ntpdate }
45
+ end
46
+ when "freebsd"
47
+ default['ntp']['service'] = "ntpd"
48
+ default['ntp']['varlibdir'] = "/var/db"
49
+ default['ntp']['driftfile'] = "#{node['ntp']['varlibdir']}/ntpd.drift"
50
+ default['ntp']['statsdir'] = "#{node['ntp']['varlibdir']}/ntpstats"
51
+ default['ntp']['packages'] = %w{ ntp }
52
+ default['ntp']['conf_group'] = "wheel"
53
+ default['ntp']['var_group'] = "wheel"
54
+ end
@@ -0,0 +1,21 @@
1
+ #
2
+ # Cookbook Name:: ntp
3
+ # Attributes:: default
4
+ #
5
+ # Author:: Joshua Timberman (<joshua@opscode.com>)
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
+ default['ntp']['ntpdate']['disable'] = false
@@ -0,0 +1,19 @@
1
+ # Put files/directories that should be ignored in this file.
2
+ # Lines that start with '# ' are comments.
3
+
4
+ # gitignore
5
+ \.gitignore
6
+
7
+ # emacs
8
+ *~
9
+
10
+ # vim
11
+ *.sw[a-z]
12
+
13
+ # subversion
14
+ */.svn/*
15
+
16
+ # tests
17
+ */test/*
18
+ \.travis.yml
19
+ Rakefile
@@ -0,0 +1,222 @@
1
+ #
2
+ # In the following text, the symbol '#' introduces
3
+ # a comment, which continues from that symbol until
4
+ # the end of the line. A plain comment line has a
5
+ # whitespace character following the comment indicator.
6
+ # There are also special comment lines defined below.
7
+ # A special comment will always have a non-whitespace
8
+ # character in column 2.
9
+ #
10
+ # A blank line should be ignored.
11
+ #
12
+ # The following table shows the corrections that must
13
+ # be applied to compute International Atomic Time (TAI)
14
+ # from the Coordinated Universal Time (UTC) values that
15
+ # are transmitted by almost all time services.
16
+ #
17
+ # The first column shows an epoch as a number of seconds
18
+ # since 1900.0 and the second column shows the number of
19
+ # seconds that must be added to UTC to compute TAI for
20
+ # any timestamp at or after that epoch. The value on
21
+ # each line is valid from the indicated initial instant
22
+ # until the epoch given on the next one or indefinitely
23
+ # into the future if there is no next line.
24
+ # (The comment on each line shows the representation of
25
+ # the corresponding initial epoch in the usual
26
+ # day-month-year format. The epoch always begins at
27
+ # 00:00:00 UTC on the indicated day. See Note 5 below.)
28
+ #
29
+ # Important notes:
30
+ #
31
+ # 1. Coordinated Universal Time (UTC) is often referred to
32
+ # as Greenwich Mean Time (GMT). The GMT time scale is no
33
+ # longer used, and the use of GMT to designate UTC is
34
+ # discouraged.
35
+ #
36
+ # 2. The UTC time scale is realized by many national
37
+ # laboratories and timing centers. Each laboratory
38
+ # identifies its realization with its name: Thus
39
+ # UTC(NIST), UTC(USNO), etc. The differences among
40
+ # these different realizations are typically on the
41
+ # order of a few nanoseconds (i.e., 0.000 000 00x s)
42
+ # and can be ignored for many purposes. These differences
43
+ # are tabulated in Circular T, which is published monthly
44
+ # by the International Bureau of Weights and Measures
45
+ # (BIPM). See www.bipm.fr for more information.
46
+ #
47
+ # 3. The current defintion of the relationship between UTC
48
+ # and TAI dates from 1 January 1972. A number of different
49
+ # time scales were in use before than epoch, and it can be
50
+ # quite difficult to compute precise timestamps and time
51
+ # intervals in those "prehistoric" days. For more information,
52
+ # consult:
53
+ #
54
+ # The Explanatory Supplement to the Astronomical
55
+ # Ephemeris.
56
+ # or
57
+ # Terry Quinn, "The BIPM and the Accurate Measurement
58
+ # of Time," Proc. of the IEEE, Vol. 79, pp. 894-905,
59
+ # July, 1991.
60
+ #
61
+ # 4. The insertion of leap seconds into UTC is currently the
62
+ # responsibility of the International Earth Rotation Service,
63
+ # which is located at the Paris Observatory:
64
+ #
65
+ # Central Bureau of IERS
66
+ # 61, Avenue de l'Observatoire
67
+ # 75014 Paris, France.
68
+ #
69
+ # Leap seconds are announced by the IERS in its Bulletin C
70
+ #
71
+ # See hpiers.obspm.fr or www.iers.org for more details.
72
+ #
73
+ # All national laboratories and timing centers use the
74
+ # data from the BIPM and the IERS to construct their
75
+ # local realizations of UTC.
76
+ #
77
+ # Although the definition also includes the possibility
78
+ # of dropping seconds ("negative" leap seconds), this has
79
+ # never been done and is unlikely to be necessary in the
80
+ # foreseeable future.
81
+ #
82
+ # 5. If your system keeps time as the number of seconds since
83
+ # some epoch (e.g., NTP timestamps), then the algorithm for
84
+ # assigning a UTC time stamp to an event that happens during a positive
85
+ # leap second is not well defined. The official name of that leap
86
+ # second is 23:59:60, but there is no way of representing that time
87
+ # in these systems.
88
+ # Many systems of this type effectively stop the system clock for
89
+ # one second during the leap second and use a time that is equivalent
90
+ # to 23:59:59 UTC twice. For these systems, the corresponding TAI
91
+ # timestamp would be obtained by advancing to the next entry in the
92
+ # following table when the time equivalent to 23:59:59 UTC
93
+ # is used for the second time. Thus the leap second which
94
+ # occurred on 30 June 1972 at 23:59:59 UTC would have TAI
95
+ # timestamps computed as follows:
96
+ #
97
+ # ...
98
+ # 30 June 1972 23:59:59 (2287785599, first time): TAI= UTC + 10 seconds
99
+ # 30 June 1972 23:59:60 (2287785599,second time): TAI= UTC + 11 seconds
100
+ # 1 July 1972 00:00:00 (2287785600) TAI= UTC + 11 seconds
101
+ # ...
102
+ #
103
+ # If your system realizes the leap second by repeating 00:00:00 UTC twice
104
+ # (this is possible but not usual), then the advance to the next entry
105
+ # in the table must occur the second time that a time equivlent to
106
+ # 00:00:00 UTC is used. Thus, using the same example as above:
107
+ #
108
+ # ...
109
+ # 30 June 1972 23:59:59 (2287785599): TAI= UTC + 10 seconds
110
+ # 30 June 1972 23:59:60 (2287785600, first time): TAI= UTC + 10 seconds
111
+ # 1 July 1972 00:00:00 (2287785600,second time): TAI= UTC + 11 seconds
112
+ # ...
113
+ #
114
+ # in both cases the use of timestamps based on TAI produces a smooth
115
+ # time scale with no discontinuity in the time interval.
116
+ #
117
+ # This complexity would not be needed for negative leap seconds (if they
118
+ # are ever used). The UTC time would skip 23:59:59 and advance from
119
+ # 23:59:58 to 00:00:00 in that case. The TAI offset would decrease by
120
+ # 1 second at the same instant. This is a much easier situation to deal
121
+ # with, since the difficulty of unambiguously representing the epoch
122
+ # during the leap second does not arise.
123
+ #
124
+ # Questions or comments to:
125
+ # Rich Schmidt
126
+ # Time Service Department
127
+ # US Naval Observatory
128
+ # Washington, DC
129
+ # rich.schmidt@usno.navy.mil
130
+ #
131
+ # Last Update of leap second values: 10 Jan 2012
132
+ #
133
+ # The following line shows this last update date in NTP timestamp
134
+ # format. This is the date on which the most recent change to
135
+ # the leap second data was added to the file. This line can
136
+ # be identified by the unique pair of characters in the first two
137
+ # columns as shown below.
138
+ #
139
+ #$ 3535142400
140
+ #
141
+ # The data in this file will be updated periodically as new leap
142
+ # seconds are announced. In addition to being entered on the line
143
+ # above, the update time (in NTP format) will be added to the basic
144
+ # file name leap-seconds to form the name leap-seconds.<NTP TIME>.
145
+ # In addition, the generic name leap-seconds.list will always point to
146
+ # the most recent version of the file.
147
+ #
148
+ # This update procedure will be performed only when a new leap second
149
+ # is announced.
150
+ #
151
+ # The following entry specifies the expiration date of the data
152
+ # in this file in units of seconds since 1900.0. This expiration date
153
+ # will be changed at least twice per year whether or not a new leap
154
+ # second is announced. These semi-annual changes will be made no
155
+ # later than 1 June and 1 December of each year to indicate what
156
+ # action (if any) is to be taken on 30 June and 31 December,
157
+ # respectively. (These are the customary effective dates for new
158
+ # leap seconds.) This expiration date will be identified by a
159
+ # unique pair of characters in columns 1 and 2 as shown below.
160
+ # In the unlikely event that a leap second is announced with an
161
+ # effective date other than 30 June or 31 December, then this
162
+ # file will be edited to include that leap second as soon as it is
163
+ # announced or at least one month before the effective date
164
+ # (whichever is later).
165
+ # If an announcement by the IERS specifies that no leap second is
166
+ # scheduled, then only the expiration date of the file will
167
+ # be advanced to show that the information in the file is still
168
+ # current -- the update time stamp, the data and the name of the file
169
+ # will not change.
170
+ #
171
+ # Updated through IERS Bulletin C43
172
+ # File expires on: 28 Dec 2012
173
+ #
174
+ #@ 3565641600
175
+ #
176
+ 2272060800 10 # 1 Jan 1972
177
+ 2287785600 11 # 1 Jul 1972
178
+ 2303683200 12 # 1 Jan 1973
179
+ 2335219200 13 # 1 Jan 1974
180
+ 2366755200 14 # 1 Jan 1975
181
+ 2398291200 15 # 1 Jan 1976
182
+ 2429913600 16 # 1 Jan 1977
183
+ 2461449600 17 # 1 Jan 1978
184
+ 2492985600 18 # 1 Jan 1979
185
+ 2524521600 19 # 1 Jan 1980
186
+ 2571782400 20 # 1 Jul 1981
187
+ 2603318400 21 # 1 Jul 1982
188
+ 2634854400 22 # 1 Jul 1983
189
+ 2698012800 23 # 1 Jul 1985
190
+ 2776982400 24 # 1 Jan 1988
191
+ 2840140800 25 # 1 Jan 1990
192
+ 2871676800 26 # 1 Jan 1991
193
+ 2918937600 27 # 1 Jul 1992
194
+ 2950473600 28 # 1 Jul 1993
195
+ 2982009600 29 # 1 Jul 1994
196
+ 3029443200 30 # 1 Jan 1996
197
+ 3076704000 31 # 1 Jul 1997
198
+ 3124137600 32 # 1 Jan 1999
199
+ 3345062400 33 # 1 Jan 2006
200
+ 3439756800 34 # 1 Jan 2009
201
+ 3550089600 35 # 1 Jul 2012
202
+ 3565987200 36 # 1 Jan 2013
203
+ 3581625600 37 # 1 Jul 2013
204
+ 3597523200 38 # 1 Jan 2014
205
+ 3613161600 39 # 1 Jul 2014
206
+ 3629059200 40 # 1 Jan 2015
207
+ #
208
+ # the following special comment contains the
209
+ # hash value of the data in this file computed
210
+ # use the secure hash algorithm as specified
211
+ # by FIPS 180-1. See the files in ~/sha for
212
+ # the details of how this hash value is
213
+ # computed. Note that the hash computation
214
+ # ignores comments and whitespace characters
215
+ # in data lines. It includes the NTP values
216
+ # of both the last modification time and the
217
+ # expiration time of the file, but not the
218
+ # white space on those lines.
219
+ # the hash line is also ignored in the
220
+ # computation.
221
+ #
222
+ #h b2a5e90a 313a6ce afe814f3 46bff6d8 875672e2