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,22 @@
1
+ package com.pivotallabs;
2
+
3
+ import hudson.Extension;
4
+ import hudson.model.PageDecorator;
5
+ import net.sf.json.JSONObject;
6
+
7
+ import org.kohsuke.stapler.StaplerRequest;
8
+
9
+ @Extension
10
+ public class CiborgDecorator extends PageDecorator {
11
+ public CiborgDecorator() {
12
+ super(CiborgDecorator.class);
13
+ load();
14
+ }
15
+
16
+ @Override
17
+ public boolean configure(StaplerRequest req, JSONObject formData)
18
+ throws FormException {
19
+ save();
20
+ return super.configure(req, formData);
21
+ }
22
+ }
@@ -0,0 +1,3 @@
1
+ <j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
2
+ <link type="text/css" rel="stylesheet" href="/plugin/jenkins-ciborg-plugin/ciborg.css" />
3
+ </j:jelly>
@@ -0,0 +1,6 @@
1
+ <!--
2
+ This view is used to render the installed plugins page.
3
+ -->
4
+ <div>
5
+ Ciborg is your administrative aide in Cloud City.
6
+ </div>
@@ -0,0 +1,5 @@
1
+ #main-table {
2
+ background-repeat: no-repeat !important;
3
+ background-position: 10px 100% !important;
4
+ background-image: url(/plugin/jenkins-ciborg-plugin/ciborg.png) !important;
5
+ }
@@ -1,5 +1,8 @@
1
1
  require "ciborg/version"
2
-
3
- module Ciborg
4
- # Your code goes here...
5
- end
2
+ require "ciborg/config"
3
+ require "ciborg/sobo"
4
+ require "ciborg/amazon"
5
+ require "ciborg/keychain"
6
+ require "ciborg/configuration_wizard"
7
+ require "ciborg/cli"
8
+ require "ciborg/password"
@@ -0,0 +1,105 @@
1
+ require "fog"
2
+
3
+ module Ciborg
4
+ class Amazon
5
+ PORTS_TO_OPEN = [22, 443] + (9000...9010).to_a
6
+
7
+ attr_reader :key, :secret
8
+
9
+ def initialize(key, secret)
10
+ @key = key
11
+ @secret = secret
12
+ end
13
+
14
+ def fog_security_groups
15
+ fog.security_groups
16
+ end
17
+
18
+ def fog_key_pairs
19
+ fog.key_pairs
20
+ end
21
+
22
+ def fog_servers
23
+ fog.servers
24
+ end
25
+
26
+ def elastic_ip_address
27
+ @elastic_ip_address ||= fog.addresses.create
28
+ end
29
+
30
+ def create_security_group(group_name)
31
+ unless fog_security_groups.get(group_name)
32
+ fog_security_groups.create(:name => group_name, :description => 'Ciborg-generated group')
33
+ end
34
+ end
35
+
36
+ def open_port(group_name, *ports)
37
+ group = fog_security_groups.get(group_name)
38
+ ports.each do |port|
39
+ unless group.ip_permissions.any? { |p| (p["fromPort"]..p["toPort"]).include?(port) }
40
+ group.authorize_port_range(port..port)
41
+ end
42
+ end
43
+ end
44
+
45
+ def delete_key_pair(key_pair_name)
46
+ fog_key_pairs.new(:name => key_pair_name).destroy
47
+ end
48
+
49
+ def add_key_pair(key_pair_name, public_key)
50
+ fog_key_pairs.create(:name => key_pair_name, :public_key => public_key) unless fog_key_pairs.get(key_pair_name)
51
+ end
52
+
53
+ def with_key_pair(pubkey)
54
+ unique_key_pair_name = "CIBORG-#{Time.now.to_i}"
55
+ add_key_pair(unique_key_pair_name, pubkey)
56
+ yield unique_key_pair_name if block_given?
57
+ ensure
58
+ delete_key_pair(unique_key_pair_name)
59
+ end
60
+
61
+ def launch_server(key_pair_name, security_group_name, instance_type = "m1.medium", availability_zone = "us-east-1b")
62
+ fog_servers.create(
63
+ :image_id => "ami-a29943cb",
64
+ :flavor_id => instance_type,
65
+ :availability_zone => availability_zone,
66
+ :tags => {"Name" => "Ciborg", "ciborg" => Ciborg::VERSION},
67
+ :key_name => key_pair_name,
68
+ :groups => [security_group_name]
69
+ ).tap do |server|
70
+ server.wait_for { ready? }
71
+ fog.associate_address(server.id, elastic_ip_address.public_ip) # needs to be running
72
+ server.reload
73
+ end
74
+ end
75
+
76
+ def destroy_ec2(confirm_proc, *args)
77
+ servers.each do |server|
78
+ next unless (args == [:all]) || args.include?(server.id)
79
+ next unless confirm_proc.call(server)
80
+ ip = server.public_ip_address
81
+ server.destroy
82
+ release_elastic_ip(ip)
83
+ yield(server) if block_given?
84
+ end
85
+ end
86
+
87
+ def servers
88
+ fog_servers.select { |s| s.tags.keys.include?("ciborg") && s.state == "running" }
89
+ end
90
+
91
+ def release_elastic_ip(ip)
92
+ fog.addresses.get(ip).destroy if fog.addresses.get(ip)
93
+ end
94
+
95
+ private
96
+
97
+ def fog
98
+ @fog ||= Fog::Compute.new(
99
+ :provider => "aws",
100
+ :aws_access_key_id => key,
101
+ :aws_secret_access_key => secret
102
+ )
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,172 @@
1
+ require "thor"
2
+ require "thor/group"
3
+ require "pp"
4
+ require "tempfile"
5
+ require "json"
6
+ require "ciborg/configuration_wizard"
7
+ require "godot"
8
+
9
+ module Ciborg
10
+ class CLI < ::Thor
11
+ register(ConfigurationWizard, "setup", "setup", ConfigurationWizard::DESCRIPTION_TEXT)
12
+
13
+ desc "ssh", "SSH into Ciborg"
14
+ def ssh
15
+ exec("ssh -i #{ciborg_config.server_ssh_key_path} ubuntu@#{ciborg_config.master} -p #{ciborg_config.ssh_port}")
16
+ end
17
+
18
+ desc "open", "Open a browser to Ciborg"
19
+ def open
20
+ exec("open #{ciborg_config.jenkins_url}/")
21
+ end
22
+
23
+ desc "create", "Create a new Ciborg server using EC2"
24
+ def create
25
+ server = amazon.with_key_pair(ciborg_config.server_ssh_pubkey) do |keypair_name|
26
+ amazon.create_security_group(ciborg_config.security_group)
27
+ amazon.open_port(ciborg_config.security_group, 22, 443)
28
+ amazon.launch_server(keypair_name, ciborg_config.security_group, ciborg_config.instance_size, ciborg_config.availability_zone)
29
+ end
30
+ wait_for_server(server)
31
+
32
+ say("Writing ip address for ec2: #{server.public_ip_address}")
33
+
34
+ ciborg_config.update(master: server.public_ip_address, instance_id: server.id)
35
+ end
36
+
37
+ desc "destroy_ec2", "Destroys all the ciborg resources on EC2"
38
+ method_option :all, default: false
39
+ method_option :force, default: false
40
+ def destroy_ec2
41
+ instance = (options['all'] ? :all : ciborg_config.instance_id)
42
+
43
+ amazon.destroy_ec2(confirmation_proc(options['force']), instance) do |server|
44
+ say("Clearing ip address for ec2: #{server.public_ip_address}")
45
+
46
+ ciborg_config.update(master: nil, instance_id: nil)
47
+ end
48
+ end
49
+
50
+ desc "create_vagrant", "Creates a vagrant instance"
51
+ def create_vagrant
52
+ spawn_env = {"CIBORG_SSH_KEY" => ciborg_config.server_ssh_pubkey_path,
53
+ "VAGRANT_HOME" => File.expand_path("~")}
54
+ spawn_options = {chdir: ciborg_root_path}
55
+
56
+ pid = Process.spawn(spawn_env, "vagrant up", spawn_options)
57
+ Process.wait(pid)
58
+
59
+ vagrant_ip = "192.168.33.10"
60
+
61
+ say("Writing ip address for vagrant: #{vagrant_ip}")
62
+
63
+ ciborg_config.update(master: vagrant_ip)
64
+ end
65
+
66
+ desc "config", "Dumps all configuration data for Ciborg"
67
+ def config
68
+ say ciborg_config.display
69
+ end
70
+
71
+ desc "certificate", "Dump the certificate"
72
+ def certificate
73
+ say(keychain.fetch_remote_certificate("https://#{ciborg_config.master}"))
74
+ end
75
+
76
+ desc "bootstrap", "Configures Ciborg's master node"
77
+ def bootstrap
78
+ sync_bootstrap_script
79
+ master_server.system!("bash -l script/bootstrap_server.sh")
80
+ rescue Errno::ECONNRESET
81
+ sleep 1
82
+ end
83
+
84
+ desc "chef", "Uploads chef recipes and runs them"
85
+ def chef
86
+ sync_chef_recipes
87
+ upload_soloist
88
+ sync_github_ssh_key
89
+ master_server.upload(File.expand_path('../../../templates/Gemfile-remote', __FILE__), 'Gemfile')
90
+ master_server.system!("rvm autolibs enable; bash -l -c 'rvm use 1.9.3; bundle install; soloist'") rescue Errno::ECONNRESET
91
+ sleep 1
92
+ end
93
+
94
+ desc "add_build <name> <repository> <branch> <command>", "Adds a build to Ciborg"
95
+ def add_build(name, repository, branch, command)
96
+ raise ciborg_config.errors.join(" and ") unless ciborg_config.valid?
97
+
98
+ ciborg_config.add_build(name, repository, branch, command)
99
+ ciborg_config.save
100
+ end
101
+
102
+ desc "trust_certificate", "Adds the current master's certificate to your OSX keychain"
103
+ def trust_certificate
104
+ certificate_contents = keychain.fetch_remote_certificate("https://#{ciborg_config.master}/")
105
+ keychain.add_certificate(certificate_contents)
106
+ end
107
+
108
+ no_tasks do
109
+ def master_server
110
+ @master_server ||= Ciborg::Sobo.new(ciborg_config.master, ciborg_config.server_ssh_key_path)
111
+ end
112
+
113
+ def ciborg_config
114
+ @ciborg_config ||= Ciborg::Config.from_file(ciborg_config_path)
115
+ end
116
+
117
+ def amazon
118
+ @amazon ||= Ciborg::Amazon.new(ciborg_config.aws_key, ciborg_config.aws_secret)
119
+ end
120
+
121
+ def keychain
122
+ @keychain ||= Ciborg::Keychain.new("/Library/Keychains/System.keychain")
123
+ end
124
+
125
+ def sync_bootstrap_script
126
+ master_server.upload(File.join(ciborg_root_path, "script/"), "script/")
127
+ end
128
+
129
+ def sync_github_ssh_key
130
+ master_server.upload(ciborg_config.github_ssh_key_path, "~/.ssh/id_rsa")
131
+ end
132
+
133
+ def sync_chef_recipes
134
+ master_server.upload(File.join(ciborg_root_path, "chef/"), "chef/")
135
+ master_server.upload("cookbooks/", "chef/project-cookbooks/")
136
+ end
137
+
138
+ def upload_soloist
139
+ Tempfile.open("ciborg-soloistrc") do |file|
140
+ file.write(YAML.dump(JSON.parse(JSON.dump(ciborg_config.soloistrc))))
141
+ file.close
142
+ master_server.upload(file.path, "soloistrc")
143
+ end
144
+ end
145
+ end
146
+
147
+ private
148
+
149
+ def ciborg_root_path
150
+ File.expand_path('../../..', __FILE__)
151
+ end
152
+
153
+ def ciborg_config_path
154
+ File.expand_path("config/ciborg.yml", Dir.pwd)
155
+ end
156
+
157
+ def wait_for_server(server)
158
+ Godot.new(server.public_ip_address, 22, :timeout => 180).wait!
159
+ end
160
+
161
+ # The proc is given a Fog server object and must return true/false
162
+ def confirmation_proc(force)
163
+ if force
164
+ ->(_) { true }
165
+ else
166
+ ->(server) {
167
+ yes?("DESTROY #{server.id} (#{server.public_ip_address})?")
168
+ }
169
+ end
170
+ end
171
+ end
172
+ end
@@ -0,0 +1,214 @@
1
+ # encoding: UTF-8
2
+ require "hashie"
3
+
4
+ module Ciborg
5
+ class Config < Hashie::Dash
6
+ property :path
7
+ property :aws_key
8
+ property :aws_secret
9
+ property :instance_id
10
+ property :master
11
+
12
+ property :instance_size, :default => 'c1.medium'
13
+ property :ssh_port, :default => 22
14
+ property :server_ssh_key, :default => Proc.new { default_ssh_key }
15
+ property :github_ssh_key, :default => Proc.new { default_ssh_key }
16
+ property :recipes, :default => ["pivotal_ci::jenkins", "pivotal_ci::limited_travis_ci_environment", "pivotal_ci"]
17
+ property :cookbook_paths, :default => ['./chef/cookbooks/', './chef/travis-cookbooks/ci_environment', './chef/project-cookbooks']
18
+ property :node_attributes, :default => Proc.new { default_node_attributes }
19
+ property :security_group, :default => 'ciborg'
20
+ property :availability_zone, :default => "us-east-1b"
21
+
22
+ def initialize(attributes = {})
23
+ super
24
+ self["node_attributes"] = Hashie::Mash.new(node_attributes)
25
+ end
26
+
27
+ def add_build(name, repository, branch, command)
28
+ build = {
29
+ "name" => name,
30
+ "repository" => repository,
31
+ "branch" => branch,
32
+ "command" => command,
33
+ "junit_publisher" => true
34
+ }
35
+ self.node_attributes = self.node_attributes.tap do |config|
36
+ config.jenkins.builds << build unless config.jenkins.builds.include?(build)
37
+ end
38
+ end
39
+
40
+ def github_ssh_key_path
41
+ File.expand_path(self["github_ssh_key"]) if self["github_ssh_key"]
42
+ end
43
+
44
+ def github_ssh_pubkey_path
45
+ github_ssh_key_path + ".pub" if self["github_ssh_key"]
46
+ end
47
+
48
+ def github_ssh_key
49
+ File.read(github_ssh_key_path)
50
+ end
51
+
52
+ def github_ssh_pubkey
53
+ File.read(github_ssh_pubkey_path)
54
+ end
55
+
56
+ def server_ssh_key_path
57
+ File.expand_path(self["server_ssh_key"]) if self["server_ssh_key"]
58
+ end
59
+
60
+ def server_ssh_pubkey_path
61
+ server_ssh_key_path + ".pub" if self["server_ssh_key"]
62
+ end
63
+
64
+ def server_ssh_key
65
+ File.read(server_ssh_key_path)
66
+ end
67
+
68
+ def server_ssh_pubkey
69
+ File.read(server_ssh_pubkey_path)
70
+ end
71
+
72
+ def master_url
73
+ "https://#{master}" if master
74
+ end
75
+
76
+ def jenkins_url
77
+ "https://#{CGI.escape(basic_auth_user)}:#{CGI.escape(basic_auth_password)}@#{master}" if master
78
+ end
79
+
80
+ def cc_menu_url
81
+ "#{jenkins_url}/cc.xml" if master
82
+ end
83
+
84
+ def rss_url(job_name)
85
+ master_url + "/job/#{job_name}/rssAll" if master_url
86
+ end
87
+
88
+ def node_attributes=(attributes)
89
+ self["node_attributes"] = Hashie::Mash.new(attributes)
90
+ end
91
+
92
+ def valid?
93
+ errors.empty?
94
+ end
95
+
96
+ def errors
97
+ messages = []
98
+ if node_attributes.has_key?("jenkins")
99
+ unless node_attributes.jenkins.has_key?("builds")
100
+ messages << "[:node_attributes][:jenkins][:builds]"
101
+ end
102
+ else
103
+ messages << "[:node_attributes][:jenkins]"
104
+ end
105
+ messages.map{ |path| "your config file does not have a #{path} key" }
106
+ end
107
+
108
+ def soloistrc
109
+ {
110
+ "recipes" => recipes,
111
+ "cookbook_paths" => cookbook_paths,
112
+ "node_attributes" => node_attributes.to_hash
113
+ }
114
+ end
115
+
116
+ def save
117
+ return self unless path
118
+ File.open(path, "w+") { |file| file.write(YAML.dump(JSON.parse(JSON.dump(to_hash)))) }
119
+ self
120
+ end
121
+
122
+ def update(options = {})
123
+ options.each_pair do |attr, value|
124
+ self.send("#{attr}=", value)
125
+ end
126
+ save
127
+ end
128
+
129
+ def reload
130
+ self.class.from_file(path)
131
+ end
132
+
133
+ def to_hash
134
+ hash = super
135
+ hash.delete("path")
136
+ {
137
+ "ssh_port" => ssh_port,
138
+ "master" => master,
139
+ "server_ssh_key" => server_ssh_key_path,
140
+ "recipes" => recipes,
141
+ "cookbook_paths" => cookbook_paths,
142
+ "node_attributes" => node_attributes
143
+ }.merge(hash)
144
+ end
145
+
146
+ def display
147
+ <<OOTPÜT.gsub(/(\S)\s+$/, '\1').gsub(/^\./, '')
148
+ -- ciborg configuration --
149
+ Instance ID: #{instance_id}
150
+ IP Address: #{master}
151
+ Instance size: #{instance_size}
152
+ .
153
+ Builds:
154
+ #{builds}
155
+ .
156
+ Web URL: #{master_url}
157
+ User name: #{basic_auth_user}
158
+ User password: #{basic_auth_password}
159
+ .
160
+ CC Menu URL: #{cc_menu_url}
161
+ .
162
+ OOTPÜT
163
+ end
164
+
165
+ def self.from_file(yaml_file)
166
+ config = {:path => yaml_file}
167
+ config.merge!(read_config(yaml_file)) if File.exists?(yaml_file)
168
+ config.delete('keypair_name')
169
+ self.new(config)
170
+ end
171
+
172
+ def self.read_config(yaml_file)
173
+ File.open(yaml_file, "r") { |file| YAML.load(file.read) }
174
+ end
175
+
176
+ def basic_auth_user
177
+ node_attributes[:nginx][:basic_auth_user]
178
+ end
179
+
180
+ def basic_auth_password
181
+ node_attributes[:nginx][:basic_auth_password]
182
+ end
183
+
184
+ def builds
185
+ node_attributes[:jenkins][:builds].
186
+ map { |build| build[:name] } .
187
+ map { |build| " %-17s %s" % [build, rss_url(build)] } .
188
+ join("\n")
189
+ end
190
+
191
+ private
192
+
193
+ def self.default_ssh_key
194
+ "~/.ssh/id_rsa" if File.exists?(File.expand_path("~/.ssh/id_rsa"))
195
+ end
196
+
197
+ def self.default_node_attributes
198
+ {
199
+ :travis_build_environment => {
200
+ :user => "jenkins",
201
+ :group => "nogroup",
202
+ :home => "/var/lib/jenkins"
203
+ },
204
+ :nginx => {
205
+ :basic_auth_user => "ci",
206
+ :basic_auth_password => Ciborg::Password.generate
207
+ },
208
+ :jenkins => {
209
+ :builds => []
210
+ }
211
+ }
212
+ end
213
+ end
214
+ end