lobot 2.0.0pre → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (297) hide show
  1. data/.gitignore +7 -10
  2. data/.gitmodules +1 -1
  3. data/.pairs +15 -0
  4. data/.rvmrc +1 -1
  5. data/.travis.yml +5 -0
  6. data/Gemfile +2 -2
  7. data/LICENSE.txt +1 -1
  8. data/README.md +67 -29
  9. data/Rakefile +11 -6
  10. data/Vagrantfile +8 -5
  11. data/bin/lobot +2 -4
  12. data/chef/cookbooks/pivotal_ci/attributes/jenkins.rb +1 -0
  13. data/chef/cookbooks/pivotal_ci/files/default/tests/minitest/default_test.rb +40 -2
  14. data/chef/cookbooks/pivotal_ci/recipes/id_rsa.rb +5 -0
  15. data/chef/cookbooks/pivotal_ci/recipes/jenkins_config.rb +5 -2
  16. data/chef/cookbooks/pivotal_ci/recipes/limited_travis_ci_environment.rb +4 -0
  17. data/chef/cookbooks/pivotal_ci/templates/default/jenkins-job-config.xml.erb +8 -6
  18. data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/attributes/default.rb +0 -1
  19. data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/recipes/bootstrap.rb +41 -0
  20. data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/recipes/default.rb +1 -41
  21. data/chef/travis-cookbooks/ci_environment/apt/recipes/default.rb +8 -7
  22. data/chef/travis-cookbooks/ci_environment/bazaar/recipes/default.rb +1 -1
  23. data/chef/travis-cookbooks/ci_environment/cassandra/attributes/default.rb +6 -3
  24. data/chef/travis-cookbooks/ci_environment/cassandra/recipes/datastax.rb +1 -1
  25. data/chef/travis-cookbooks/ci_environment/cassandra/recipes/package.rb +1 -1
  26. data/chef/travis-cookbooks/ci_environment/cassandra/recipes/tarball.rb +6 -2
  27. data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra.init.erb +58 -131
  28. data/chef/travis-cookbooks/ci_environment/chromium/recipes/default.rb +1 -1
  29. data/chef/travis-cookbooks/ci_environment/clang/attributes/tarball.rb +2 -7
  30. data/chef/travis-cookbooks/ci_environment/clang/recipes/default.rb +1 -1
  31. data/chef/travis-cookbooks/ci_environment/clang/recipes/tarball.rb +2 -4
  32. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/default.rb +1 -1
  33. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ppa.rb +1 -1
  34. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu-12.04.rb +1 -1
  35. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1110_ppa.rb +1 -1
  36. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1204_ppa.rb +1 -1
  37. data/chef/travis-cookbooks/ci_environment/doxygen/recipes/default.rb +24 -0
  38. data/chef/travis-cookbooks/ci_environment/elasticsearch/attributes/default.rb +4 -1
  39. data/chef/travis-cookbooks/ci_environment/elasticsearch/recipes/default.rb +8 -5
  40. data/chef/travis-cookbooks/ci_environment/emacs/recipes/nox.rb +1 -1
  41. data/chef/travis-cookbooks/ci_environment/firefox/recipes/default.rb +1 -1
  42. data/chef/travis-cookbooks/ci_environment/git/recipes/default.rb +1 -1
  43. data/chef/travis-cookbooks/ci_environment/git/recipes/ppa.rb +1 -1
  44. data/chef/travis-cookbooks/ci_environment/golang/attributes/default.rb +3 -3
  45. data/chef/travis-cookbooks/ci_environment/gradle/attributes/tarball.rb +1 -1
  46. data/chef/travis-cookbooks/ci_environment/haskell/recipes/default.rb +1 -1
  47. data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_package.rb +1 -1
  48. data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_source.rb +1 -1
  49. data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_package.rb +1 -1
  50. data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_ppa.rb +1 -1
  51. data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_source.rb +1 -1
  52. data/chef/travis-cookbooks/ci_environment/haskell/recipes/source.rb +1 -1
  53. data/chef/travis-cookbooks/ci_environment/hbase/recipes/cdh4.rb +1 -1
  54. data/chef/travis-cookbooks/ci_environment/java/attributes/default.rb +4 -2
  55. data/chef/travis-cookbooks/ci_environment/java/recipes/default.rb +1 -1
  56. data/chef/travis-cookbooks/ci_environment/java/recipes/oraclejdk7.rb +6 -1
  57. data/chef/travis-cookbooks/ci_environment/kerl/attributes/source.rb +1 -1
  58. data/chef/travis-cookbooks/ci_environment/kerl/files/default/erlang.cookie +1 -0
  59. data/chef/travis-cookbooks/ci_environment/kerl/recipes/source.rb +8 -0
  60. data/chef/travis-cookbooks/ci_environment/kestrel/recipes/tarball.rb +1 -1
  61. data/chef/travis-cookbooks/ci_environment/leiningen/attributes/default.rb +1 -1
  62. data/chef/travis-cookbooks/ci_environment/leiningen/recipes/default.rb +1 -1
  63. data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein1x.rb +1 -1
  64. data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein2x.rb +1 -1
  65. data/chef/travis-cookbooks/ci_environment/libffi/recipes/default.rb +1 -1
  66. data/chef/travis-cookbooks/ci_environment/libgdbm/recipes/default.rb +1 -1
  67. data/chef/travis-cookbooks/ci_environment/libncurses/recipes/default.rb +1 -1
  68. data/chef/travis-cookbooks/ci_environment/libossp-uuid/recipes/default.rb +1 -1
  69. data/chef/travis-cookbooks/ci_environment/libreadline/recipes/default.rb +1 -1
  70. data/chef/travis-cookbooks/ci_environment/libssl/recipes/098.rb +1 -1
  71. data/chef/travis-cookbooks/ci_environment/libssl/recipes/default.rb +1 -1
  72. data/chef/travis-cookbooks/ci_environment/libxml/recipes/default.rb +1 -1
  73. data/chef/travis-cookbooks/ci_environment/lighttpd/recipes/default.rb +1 -1
  74. data/chef/travis-cookbooks/ci_environment/maven3/recipes/default.rb +5 -2
  75. data/chef/travis-cookbooks/ci_environment/maven3/recipes/package.rb +1 -1
  76. data/chef/travis-cookbooks/ci_environment/maven3/recipes/ppa.rb +1 -1
  77. data/chef/travis-cookbooks/ci_environment/maven3/recipes/tarball.rb +1 -1
  78. data/chef/travis-cookbooks/ci_environment/memcached/attributes/default.rb +1 -1
  79. data/chef/travis-cookbooks/ci_environment/memcached/attributes/ppa.rb +1 -1
  80. data/chef/travis-cookbooks/ci_environment/memcached/recipes/default.rb +1 -1
  81. data/chef/travis-cookbooks/ci_environment/memcached/recipes/ppa.rb +1 -1
  82. data/chef/travis-cookbooks/ci_environment/mercurial/recipes/default.rb +1 -1
  83. data/chef/travis-cookbooks/ci_environment/mercurial/recipes/ppa.rb +36 -0
  84. data/chef/travis-cookbooks/ci_environment/mongodb/attributes/mongodb.rb +1 -1
  85. data/chef/travis-cookbooks/ci_environment/mongodb/files/default/mongodb.sysvinit.sh +1 -1
  86. data/chef/travis-cookbooks/ci_environment/mongodb/recipes/apt.rb +5 -5
  87. data/chef/travis-cookbooks/ci_environment/mongodb/recipes/server.rb +5 -2
  88. data/chef/travis-cookbooks/ci_environment/mysql/attributes/default.rb +1 -3
  89. data/chef/travis-cookbooks/ci_environment/mysql/recipes/server_on_ramfs.rb +6 -1
  90. data/chef/travis-cookbooks/ci_environment/mysql/templates/default/my.cnf.erb +0 -2
  91. data/chef/travis-cookbooks/ci_environment/mysql/templates/default/ramfs/my.cnf.erb +0 -2
  92. data/chef/travis-cookbooks/ci_environment/neo4j-server/attributes/tarball.rb +13 -2
  93. data/chef/travis-cookbooks/ci_environment/neo4j-server/recipes/tarball.rb +26 -2
  94. data/chef/travis-cookbooks/ci_environment/networking_basic/recipes/default.rb +4 -1
  95. data/chef/travis-cookbooks/ci_environment/nodejs/attributes/multi.rb +3 -3
  96. data/chef/travis-cookbooks/ci_environment/nodejs/recipes/multi.rb +1 -1
  97. data/chef/travis-cookbooks/ci_environment/openssh/recipes/default.rb +1 -1
  98. data/chef/travis-cookbooks/ci_environment/perlbrew/attributes/multi.rb +1 -1
  99. data/chef/travis-cookbooks/ci_environment/phantomjs/attributes/default.rb +2 -2
  100. data/chef/travis-cookbooks/ci_environment/phantomjs/metadata.rb +3 -0
  101. data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/default.rb +3 -1
  102. data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/tarball.rb +3 -2
  103. data/chef/travis-cookbooks/ci_environment/php/attributes/default.rb +40 -2
  104. data/chef/travis-cookbooks/ci_environment/php/providers/pecl.rb +73 -0
  105. data/chef/travis-cookbooks/ci_environment/php/recipes/extensions.rb +25 -0
  106. data/chef/travis-cookbooks/ci_environment/php/recipes/multi.rb +5 -4
  107. data/chef/travis-cookbooks/ci_environment/php/resources/pecl.rb +10 -0
  108. data/chef/travis-cookbooks/ci_environment/phpbuild/attributes/default.rb +2 -2
  109. data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/after-install.d/phpunit.sh +58 -0
  110. data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.2.17 +3 -1
  111. data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.3.3 +2 -1
  112. data/chef/travis-cookbooks/ci_environment/phpbuild/providers/build.rb +1 -1
  113. data/chef/travis-cookbooks/ci_environment/phpbuild/recipes/default.rb +8 -10
  114. data/chef/travis-cookbooks/ci_environment/phpbuild/templates/default/default_configure_options.erb +4 -0
  115. data/chef/travis-cookbooks/ci_environment/phpenv/attributes/default.rb +6 -0
  116. data/chef/travis-cookbooks/ci_environment/phpenv/recipes/default.rb +11 -7
  117. data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server_on_ramfs.rb +2 -2
  118. data/chef/travis-cookbooks/ci_environment/python/attributes/default.rb +2 -2
  119. data/chef/travis-cookbooks/ci_environment/python/recipes/multi.rb +10 -3
  120. data/chef/travis-cookbooks/ci_environment/rabbitmq/attributes/default.rb +3 -0
  121. data/chef/travis-cookbooks/ci_environment/rabbitmq/recipes/default.rb +6 -2
  122. data/chef/travis-cookbooks/ci_environment/ragel/recipes/custom.rb +1 -1
  123. data/chef/travis-cookbooks/ci_environment/ragel/recipes/default.rb +1 -1
  124. data/chef/travis-cookbooks/ci_environment/redis/attributes/default.rb +3 -0
  125. data/chef/travis-cookbooks/ci_environment/redis/recipes/default.rb +6 -3
  126. data/chef/travis-cookbooks/ci_environment/redis/recipes/ppa.rb +1 -1
  127. data/chef/travis-cookbooks/ci_environment/riak/attributes/default.rb +1 -0
  128. data/chef/travis-cookbooks/ci_environment/riak/attributes/package.rb +3 -3
  129. data/chef/travis-cookbooks/{messaging_broker/openssl/recipes/default.rb → ci_environment/riak/attributes/service.rb} +4 -3
  130. data/chef/travis-cookbooks/ci_environment/riak/recipes/config.rb +2 -2
  131. data/chef/travis-cookbooks/ci_environment/riak/recipes/default.rb +12 -5
  132. data/chef/travis-cookbooks/ci_environment/rvm/attributes/default.rb +1 -1
  133. data/chef/travis-cookbooks/ci_environment/rvm/attributes/multi.rb +2 -0
  134. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/global.gems +1 -1
  135. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/jruby/global.gems +1 -1
  136. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/2.0.0/global.gems +2 -0
  137. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/head/global.gems +2 -0
  138. data/chef/travis-cookbooks/ci_environment/rvm/recipes/default.rb +23 -1
  139. data/chef/travis-cookbooks/ci_environment/rvm/recipes/multi.rb +2 -2
  140. data/chef/travis-cookbooks/ci_environment/rvm/templates/default/bundler_config.yml.erb +2 -0
  141. data/chef/travis-cookbooks/ci_environment/sbt/CHANGELOG.md +20 -0
  142. data/chef/travis-cookbooks/ci_environment/sbt/LICENSE +201 -0
  143. data/chef/travis-cookbooks/ci_environment/sbt/README.md +78 -2
  144. data/chef/travis-cookbooks/ci_environment/sbt/attributes/default.rb +36 -10
  145. data/chef/travis-cookbooks/ci_environment/sbt/metadata.json +27 -17
  146. data/chef/travis-cookbooks/ci_environment/sbt/metadata.rb +13 -6
  147. data/chef/travis-cookbooks/ci_environment/sbt/recipes/default.rb +101 -51
  148. data/chef/travis-cookbooks/ci_environment/sbt/templates/default/jvmopts.erb +7 -0
  149. data/chef/travis-cookbooks/ci_environment/sbt/templates/default/sbtopts.erb +54 -0
  150. data/chef/travis-cookbooks/ci_environment/sphinx/attributes/default.rb +2 -2
  151. data/chef/travis-cookbooks/ci_environment/sphinx/metadata.rb +4 -4
  152. data/chef/travis-cookbooks/ci_environment/sphinx/recipes/all.rb +1 -1
  153. data/chef/travis-cookbooks/ci_environment/sphinx/recipes/default.rb +1 -1
  154. data/chef/travis-cookbooks/{messaging_broker/build-essential/recipes/default.rb → ci_environment/sqlite/recipes/ppa.rb} +13 -24
  155. data/chef/travis-cookbooks/ci_environment/subversion/recipes/default.rb +1 -1
  156. data/chef/travis-cookbooks/ci_environment/sweeper/recipes/default.rb +1 -1
  157. data/chef/travis-cookbooks/ci_environment/travis_build_environment/attributes/default.rb +2 -0
  158. data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/ci_user.rb +2 -2
  159. data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/default.rb +1 -3
  160. data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/root.rb +5 -1
  161. data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/ci_user/{dot_bashrc.sh → dot_bashrc.sh.erb} +0 -4
  162. data/chef/travis-cookbooks/ci_environment/unarchivers/recipes/default.rb +1 -1
  163. data/chef/travis-cookbooks/ci_environment/xserver/metadata.rb +3 -0
  164. data/chef/travis-cookbooks/ci_environment/xserver/recipes/default.rb +1 -1
  165. data/chef/travis-cookbooks/ci_environment/zeromq/recipes/default.rb +6 -23
  166. data/chef/travis-cookbooks/ci_environment/zeromq/recipes/{20x.rb → ppa.rb} +14 -14
  167. data/chef/travis-cookbooks/ci_environment/zookeeper/recipes/cdh4.rb +1 -1
  168. data/chef/travis-cookbooks/worker_host/java/metadata.rb +1 -1
  169. data/chef/travis-cookbooks/worker_host/java/recipes/openjdk.rb +6 -0
  170. data/chef/travis-cookbooks/worker_host/jruby/attributes/default.rb +1 -1
  171. data/chef/travis-cookbooks/worker_host/jruby/metadata.rb +1 -1
  172. data/chef/travis-cookbooks/worker_host/jruby/recipes/default.rb +1 -0
  173. data/chef/travis-cookbooks/worker_host/monit/recipes/default.rb +21 -17
  174. data/chef/travis-cookbooks/worker_host/networking_basic/metadata.rb +1 -1
  175. data/chef/travis-cookbooks/worker_host/networking_basic/recipes/default.rb +0 -6
  176. data/chef/travis-cookbooks/worker_host/ntp/.gitignore +1 -0
  177. data/chef/travis-cookbooks/worker_host/ntp/.travis.yml +6 -0
  178. data/chef/travis-cookbooks/worker_host/ntp/CHANGELOG.md +35 -0
  179. data/chef/travis-cookbooks/worker_host/ntp/CONTRIBUTING +29 -0
  180. data/chef/travis-cookbooks/worker_host/ntp/LICENSE +201 -0
  181. data/chef/travis-cookbooks/worker_host/ntp/README.md +163 -0
  182. data/chef/travis-cookbooks/worker_host/ntp/Rakefile +19 -0
  183. data/chef/travis-cookbooks/worker_host/ntp/TESTING.md +213 -0
  184. data/chef/travis-cookbooks/worker_host/ntp/attributes/default.rb +54 -0
  185. data/chef/travis-cookbooks/{messaging_broker/rabbitmq/resources/vhost.rb → worker_host/ntp/attributes/ntpdate.rb} +6 -7
  186. data/chef/travis-cookbooks/worker_host/ntp/chefignore +19 -0
  187. data/chef/travis-cookbooks/worker_host/ntp/files/default/ntp.leapseconds +222 -0
  188. data/chef/travis-cookbooks/worker_host/ntp/metadata.json +117 -0
  189. data/chef/travis-cookbooks/worker_host/ntp/metadata.rb +45 -0
  190. data/chef/travis-cookbooks/worker_host/ntp/recipes/default.rb +50 -0
  191. data/chef/travis-cookbooks/worker_host/ntp/recipes/disable.rb +22 -0
  192. data/chef/travis-cookbooks/worker_host/ntp/recipes/ntpdate.rb +36 -0
  193. data/chef/travis-cookbooks/{messaging_broker/openssl/libraries/secure_password.rb → worker_host/ntp/recipes/undo.rb} +17 -18
  194. data/chef/travis-cookbooks/worker_host/ntp/templates/default/ntp.conf.erb +55 -0
  195. data/chef/travis-cookbooks/worker_host/ntp/templates/default/ntpdate.erb +14 -0
  196. data/chef/travis-cookbooks/worker_host/rvm/recipes/multi.rb +1 -1
  197. data/chef/travis-cookbooks/worker_host/travis_worker/attributes/default.rb +10 -3
  198. data/chef/travis-cookbooks/worker_host/travis_worker/files/default/signal_wrapper.rb +22 -0
  199. data/chef/travis-cookbooks/worker_host/travis_worker/metadata.rb +2 -2
  200. data/chef/travis-cookbooks/worker_host/travis_worker/recipes/bluebox.rb +97 -0
  201. data/chef/travis-cookbooks/worker_host/travis_worker/recipes/default.rb +25 -15
  202. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/sv-travis-worker-run.erb +1 -1
  203. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker-bluebox.yml.erb +21 -0
  204. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker.yml.erb +0 -4
  205. data/chef/travis-cookbooks/worker_host/travis_worker_collectd/metadata.rb +1 -0
  206. data/chef/travis-cookbooks/worker_host/travis_worker_collectd/recipes/bluebox.rb +15 -0
  207. data/chef/travis-cookbooks/worker_host/travis_worker_collectd/recipes/default.rb +1 -0
  208. data/chef/travis-cookbooks/worker_host/users/recipes/default.rb +5 -0
  209. data/cookbooks/.gitkeep +3 -0
  210. data/lib/lobot.rb +8 -4
  211. data/lib/lobot/amazon.rb +33 -19
  212. data/lib/lobot/cli.rb +70 -46
  213. data/lib/lobot/config.rb +151 -19
  214. data/lib/lobot/configuration_wizard.rb +117 -0
  215. data/lib/lobot/keychain.rb +36 -0
  216. data/lib/lobot/password.rb +13 -0
  217. data/lib/lobot/sobo.rb +57 -13
  218. data/lib/lobot/templates/default_rails_build_script.sh +13 -0
  219. data/lib/lobot/version.rb +2 -2
  220. data/lobot.gemspec +4 -5
  221. data/script/bootstrap_server.sh +1 -1
  222. data/script/ci_build.sh +13 -0
  223. data/spec/assets/test_cert.crt +18 -0
  224. data/spec/fixtures/ssh_keys/vagrant_test_key +27 -0
  225. data/spec/fixtures/ssh_keys/vagrant_test_key.pub +1 -0
  226. data/spec/lib/lobot/amazon_spec.rb +80 -39
  227. data/spec/lib/lobot/cli_spec.rb +223 -154
  228. data/spec/lib/lobot/config_spec.rb +207 -5
  229. data/spec/lib/lobot/configuration_wizard_spec.rb +347 -0
  230. data/spec/lib/lobot/keychain_spec.rb +33 -0
  231. data/spec/lib/lobot/password_spec.rb +15 -0
  232. data/spec/spec_helper.rb +19 -1
  233. data/templates/Gemfile-remote +4 -0
  234. metadata +83 -100
  235. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/1.8.6/global.gems +0 -2
  236. data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/root/dot_bashrc.sh +0 -86
  237. data/chef/travis-cookbooks/ci_environment/zeromq/attributes/default.rb +0 -7
  238. data/chef/travis-cookbooks/messaging_broker/build-essential/README.md +0 -24
  239. data/chef/travis-cookbooks/messaging_broker/build-essential/metadata.rb +0 -10
  240. data/chef/travis-cookbooks/messaging_broker/emacs/metadata.rb +0 -11
  241. data/chef/travis-cookbooks/messaging_broker/emacs/recipes/default.rb +0 -21
  242. data/chef/travis-cookbooks/messaging_broker/erlang/attributes/default.rb +0 -1
  243. data/chef/travis-cookbooks/messaging_broker/erlang/metadata.rb +0 -11
  244. data/chef/travis-cookbooks/messaging_broker/erlang/recipes/default.rb +0 -27
  245. data/chef/travis-cookbooks/messaging_broker/git/README.rdoc +0 -37
  246. data/chef/travis-cookbooks/messaging_broker/git/metadata.rb +0 -16
  247. data/chef/travis-cookbooks/messaging_broker/git/recipes/default.rb +0 -24
  248. data/chef/travis-cookbooks/messaging_broker/git/recipes/server.rb +0 -34
  249. data/chef/travis-cookbooks/messaging_broker/git/templates/default/sv-git-daemon-log-run.erb +0 -2
  250. data/chef/travis-cookbooks/messaging_broker/git/templates/default/sv-git-daemon-run.erb +0 -3
  251. data/chef/travis-cookbooks/messaging_broker/haproxy/README.md +0 -79
  252. data/chef/travis-cookbooks/messaging_broker/haproxy/attributes/default.rb +0 -22
  253. data/chef/travis-cookbooks/messaging_broker/haproxy/metadata.rb +0 -13
  254. data/chef/travis-cookbooks/messaging_broker/haproxy/recipes/app_lb.rb +0 -50
  255. data/chef/travis-cookbooks/messaging_broker/haproxy/recipes/default.rb +0 -42
  256. data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy-app_lb.cfg.erb +0 -34
  257. data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy-default.erb +0 -4
  258. data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy.cfg.erb +0 -27
  259. data/chef/travis-cookbooks/messaging_broker/iptables/definitions/iptables_rule.rb +0 -35
  260. data/chef/travis-cookbooks/messaging_broker/iptables/files/default/rebuild-iptables +0 -284
  261. data/chef/travis-cookbooks/messaging_broker/iptables/metadata.rb +0 -10
  262. data/chef/travis-cookbooks/messaging_broker/iptables/recipes/default.rb +0 -50
  263. data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/all_established.erb +0 -2
  264. data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/all_icmp.erb +0 -2
  265. data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/iptables_load.erb +0 -3
  266. data/chef/travis-cookbooks/messaging_broker/openssl/README.md +0 -37
  267. data/chef/travis-cookbooks/messaging_broker/openssl/metadata.rb +0 -8
  268. data/chef/travis-cookbooks/messaging_broker/rabbitmq/README.md +0 -86
  269. data/chef/travis-cookbooks/messaging_broker/rabbitmq/attributes/default.rb +0 -10
  270. data/chef/travis-cookbooks/messaging_broker/rabbitmq/metadata.rb +0 -63
  271. data/chef/travis-cookbooks/messaging_broker/rabbitmq/providers/user.rb +0 -66
  272. data/chef/travis-cookbooks/messaging_broker/rabbitmq/providers/vhost.rb +0 -34
  273. data/chef/travis-cookbooks/messaging_broker/rabbitmq/recipes/cluster.rb +0 -35
  274. data/chef/travis-cookbooks/messaging_broker/rabbitmq/recipes/default.rb +0 -51
  275. data/chef/travis-cookbooks/messaging_broker/rabbitmq/resources/user.rb +0 -25
  276. data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/doterlang.cookie.erb +0 -1
  277. data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/rabbitmq-env.conf.erb +0 -10
  278. data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/rabbitmq_cluster.config.erb +0 -5
  279. data/ci_build.sh +0 -20
  280. data/docs/ci_yml.md +0 -39
  281. data/features/ci.feature +0 -29
  282. data/features/config/secrets.yml.example +0 -4
  283. data/features/step_definitions/ci_steps.rb +0 -137
  284. data/features/support/env.rb +0 -12
  285. data/lib/generators/lobot/USAGE +0 -15
  286. data/lib/generators/lobot/config_generator.rb +0 -141
  287. data/lib/generators/lobot/install_generator.rb +0 -25
  288. data/lib/generators/lobot/templates/Capfile +0 -6
  289. data/lib/generators/lobot/templates/ci.yml +0 -22
  290. data/lib/generators/lobot/templates/ci_build.sh +0 -22
  291. data/lib/generators/lobot/templates/deploy-ci.rb +0 -7
  292. data/lib/generators/lobot/templates/soloistrc +0 -23
  293. data/lib/lobot/jenkins.rb +0 -17
  294. data/lib/lobot/railtie.rb +0 -20
  295. data/lib/lobot/recipes/ci.rb +0 -78
  296. data/lib/lobot/tasks/ci.rake +0 -93
  297. data/spec/lib/lobot/jenkins_spec.rb +0 -14
@@ -0,0 +1,117 @@
1
+ {
2
+ "name": "ntp",
3
+ "description": "Installs and configures ntp as a client or server",
4
+ "long_description": "# NTP [![Build Status](https://secure.travis-ci.org/opscode-cookbooks/ntp.png?branch=master)](http://travis-ci.org/opscode-cookbooks/ntp)\n\n## Description\n\nInstalls and configures ntp, optionally configure ntpdate on debian family platforms.\n\n### About the refactor\n\nThis recipe was heavily re-factored as a Hackday exercise at Chefconf 2012.\nThe purpose of refactoring was to have a simple community cookbook which\nserves as a testing documentation reference. We chose a lightweight testing method\nusing minitest to validate the sanity of our default attributes.\n\nMore information on our testing strategy used in this cookbook is available\nin the TESTING. Along with information on how to use this type of lightweight\ntesting in your own cookbooks.\n\n#### IMPORTANT NOTES\n\nBreaking changes are the absence of an ntp::disable recipe. This was factored\nout into an ntp::undo corresponding to the default recipe and a separate\nntp::ntpdate recipe.\n\nThe ntp::undo recipe stops and removes ntp components. The ntp::ntpdate\nrecipe configures the ntpdate component. The ntp['ntpdate']['disable'] boolean\nwill disable the ntpdate-debian command on Debian family distributions.\n\n## Requirements\n\nShould work on Red Hat-family and Debian-family Linux distributions, or FreeBSD.\n\n# Attributes\n\n## Recommended tunables\n\n* ntp['servers'] (applies to NTP Servers and Clients)\n\n - Array, should be a list of upstream NTP public servers. The NTP protocol\n works best with at least 3 servers. The NTPD maximum is 7 upstream\n servers, any more than that and some of them will be ignored by the daemon.\n\n* ntp['peers'] (applies to NTP Servers ONLY)\n\n - Array, should be a list of local NTP private servers. Configuring peer\n servers on your LAN will reduce traffic to upstream time sources, and\n provide higher availability of NTP on your LAN. Again the maximum is 7\n peers\n\n* ntp['restrictions'] (applies to NTP Servers only)\n\n - Array, should be a list of restrict lines to restrict access to NTP\n clients on your LAN.\n\n* ntp['ntpdate']['disable']\n\n - Boolean, disables the use of ntpdate-debian if set to true.\n - Defaults to false, and will not disable ntpdate. There is usually no\n init service to manage with ntpdate. Therefore it should not conflict\n with ntpd in most cases.\n\n## Platform specific\n\n* ntp['packages']\n\n - Array, the packages to install\n - Default, ntp for everything, ntpdate depending on platform\n\n* ntp['service']\n\n - String, the service to act on\n - Default, ntp or ntpd, depending on platform\n\n* ntp['driftfile']\n\n - String, the path to the frequency file.\n - Default, platform-specific location.\n\n* ntp['varlibdir']\n\n - String, the path to /var/lib files such as the driftfile.\n - Default, platform-specific location.\n\n* ntp['statsdir']\n\n - String, the directory path for files created by the statistics facility.\n - Default, platform-specific location.\n\n* ntp['conf\\_owner'] and ntp['conf\\_group']\n\n - String, the owner and group of the sysconf directory files, such as /etc/ntp.conf.\n - Default, platform-specific root:root or root:wheel\n\n* ntp['var\\_owner'] and ntp['var\\_group']\n\n - String, the owner and group of the /var/lib directory files, such as /var/lib/ntp.\n - Default, platform-specific ntp:ntp or root:wheel\n\n## Usage\n\n### default recipe\n\nSet up the ntp attributes in a role. For example in a base.rb role applied to all nodes:\n\n name \"base\"\n description \"Role applied to all systems\"\n default_attributes(\n \"ntp\" => {\n \"servers\" => [\"time0.int.example.org\", \"time1.int.example.org\"]\n }\n )\n\nThen in an ntpserver.rb role that is applied to NTP servers (e.g., time.int.example.org):\n\n name \"ntp_server\"\n description \"Role applied to the system that should be an NTP server.\"\n default_attributes(\n \"ntp\" => {\n \"is_server\" => \"true\",\n \"servers\" => [\"0.pool.ntp.org\", \"1.pool.ntp.org\"],\n \"peers\" => [\"time0.int.example.org\", \"time1.int.example.org\"],\n \"restrictions\" => [\"10.0.0.0 mask 255.0.0.0 nomodify notrap\"]\n }\n )\n\nThe timeX.int.example.org used in these roles should be the names or IP addresses of internal NTP servers.\nThen simply add ntp, or ntp::default to your run\\_list to apply the ntp daemon's configuration.\n\n### ntpdate recipe\n\nOn Debian-family platforms, and newer versions of RedHat, there is a separate ntpdate package.\n\nYou may blank out the ntpdate configuration file by overriding ntp['ntpdate']['disable'] to `true`.\nThen include the ntp::ntpdate recipe in your run\\_list.\n\nYou may re-enable the ntpdate configuration by ensuring ntp['ntpdate']['disable'] is `false`.\nThen include the ntp::ntpdate recipe in your run\\_list.\n\n### undo recipe\n\nIf for some reason you need to stop and remove the ntp daemon, you can apply this recipe by adding\nntp::undo to your run\\_list.\n\n## License and Author\n\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nContributor:: Eric G. Wolfe (<wolfe21@marshall.edu>)\nContributor:: Fletcher Nichol (<fletcher@nichol.ca>)\n\nCopyright 2009-2011, Opscode, Inc.\nCopyright 2012, Eric G. Wolfe\nCopyright 2012, Fletcher Nichol\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
5
+ "maintainer": "Opscode, Inc.",
6
+ "maintainer_email": "cookbooks@opscode.com",
7
+ "license": "Apache 2.0",
8
+ "platforms": {
9
+ "ubuntu": ">= 0.0.0",
10
+ "debian": ">= 0.0.0",
11
+ "redhat": ">= 0.0.0",
12
+ "centos": ">= 0.0.0",
13
+ "fedora": ">= 0.0.0",
14
+ "scientific": ">= 0.0.0",
15
+ "amazon": ">= 0.0.0",
16
+ "oracle": ">= 0.0.0",
17
+ "freebsd": ">= 0.0.0"
18
+ },
19
+ "dependencies": {
20
+ },
21
+ "recommendations": {
22
+ },
23
+ "suggestions": {
24
+ },
25
+ "conflicting": {
26
+ },
27
+ "providing": {
28
+ },
29
+ "replacing": {
30
+ },
31
+ "attributes": {
32
+ "ntp": {
33
+ "display_name": "NTP",
34
+ "description": "Hash of NTP attributes",
35
+ "type": "hash",
36
+ "choice": [
37
+
38
+ ],
39
+ "calculated": false,
40
+ "required": "optional",
41
+ "recipes": [
42
+
43
+ ]
44
+ },
45
+ "ntp/servers": {
46
+ "display_name": "NTP Servers",
47
+ "description": "Array of servers we should talk to",
48
+ "type": "array",
49
+ "default": [
50
+ "0.pool.ntp.org",
51
+ "1.pool.ntp.org",
52
+ "2.pool.ntp.org",
53
+ "3.pool.ntp.org"
54
+ ],
55
+ "required": "recommended",
56
+ "choice": [
57
+
58
+ ],
59
+ "calculated": false,
60
+ "recipes": [
61
+
62
+ ]
63
+ },
64
+ "ntp/peers": {
65
+ "display_name": "NTP Peers",
66
+ "description": "Array of local NTP servers, we should peer with",
67
+ "type": "array",
68
+ "default": [
69
+
70
+ ],
71
+ "required": "recommended",
72
+ "choice": [
73
+
74
+ ],
75
+ "calculated": false,
76
+ "recipes": [
77
+
78
+ ]
79
+ },
80
+ "ntp/restrictions": {
81
+ "display_name": "Restriction lines",
82
+ "description": "Array of restriction lines to apply to NTP servers",
83
+ "type": "array",
84
+ "default": [
85
+
86
+ ],
87
+ "required": "recommended",
88
+ "choice": [
89
+
90
+ ],
91
+ "calculated": false,
92
+ "recipes": [
93
+
94
+ ]
95
+ },
96
+ "ntp/ntpdate/disable": {
97
+ "display_name": "ntpdate-debian script disable",
98
+ "description": "Defaults to false. Set to true to disable ntpdate-debian script",
99
+ "type": "string",
100
+ "default": "false",
101
+ "required": "recommended",
102
+ "choice": [
103
+
104
+ ],
105
+ "calculated": false,
106
+ "recipes": [
107
+
108
+ ]
109
+ }
110
+ },
111
+ "groupings": {
112
+ },
113
+ "recipes": {
114
+ "ntp": "Installs and configures ntp either as a server or client"
115
+ },
116
+ "version": "1.3.0"
117
+ }
@@ -0,0 +1,45 @@
1
+ name "ntp"
2
+ maintainer "Opscode, Inc."
3
+ maintainer_email "cookbooks@opscode.com"
4
+ license "Apache 2.0"
5
+ description "Installs and configures ntp as a client or server"
6
+ long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
7
+ version "1.3.0"
8
+ recipe "ntp", "Installs and configures ntp either as a server or client"
9
+
10
+ %w{ ubuntu debian redhat centos fedora scientific amazon oracle freebsd }.each do |os|
11
+ supports os
12
+ end
13
+
14
+ attribute "ntp",
15
+ :display_name => "NTP",
16
+ :description => "Hash of NTP attributes",
17
+ :type => "hash"
18
+
19
+ attribute "ntp/servers",
20
+ :display_name => "NTP Servers",
21
+ :description => "Array of servers we should talk to",
22
+ :type => "array",
23
+ :default => ["0.pool.ntp.org", "1.pool.ntp.org", "2.pool.ntp.org", "3.pool.ntp.org" ],
24
+ :required => "recommended"
25
+
26
+ attribute "ntp/peers",
27
+ :display_name => "NTP Peers",
28
+ :description => "Array of local NTP servers, we should peer with",
29
+ :type => "array",
30
+ :default => [],
31
+ :required => "recommended"
32
+
33
+ attribute "ntp/restrictions",
34
+ :display_name => "Restriction lines",
35
+ :description => "Array of restriction lines to apply to NTP servers",
36
+ :type => "array",
37
+ :default => [],
38
+ :required => "recommended"
39
+
40
+ attribute "ntp/ntpdate/disable",
41
+ :display_name => "ntpdate-debian script disable",
42
+ :description => "Defaults to false. Set to true to disable ntpdate-debian script",
43
+ :type => "string",
44
+ :default => "false",
45
+ :required => "recommended"
@@ -0,0 +1,50 @@
1
+ #
2
+ # Cookbook Name:: ntp
3
+ # Recipe:: default
4
+ # Author:: Joshua Timberman (<joshua@opscode.com>)
5
+ #
6
+ # Copyright 2009, Opscode, Inc
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+
20
+ node['ntp']['packages'].each do |ntppkg|
21
+ package ntppkg
22
+ end
23
+
24
+ [ node['ntp']['varlibdir'],
25
+ node['ntp']['statsdir'] ].each do |ntpdir|
26
+ directory ntpdir do
27
+ owner node['ntp']['var_owner']
28
+ group node['ntp']['var_group']
29
+ mode 0755
30
+ end
31
+ end
32
+
33
+ service node['ntp']['service'] do
34
+ supports :status => true, :restart => true
35
+ action [ :enable, :start ]
36
+ end
37
+
38
+ cookbook_file node['ntp']['leapfile'] do
39
+ owner node['ntp']['conf_owner']
40
+ group node['ntp']['conf_group']
41
+ mode 0644
42
+ end
43
+
44
+ template "/etc/ntp.conf" do
45
+ source "ntp.conf.erb"
46
+ owner node['ntp']['conf_owner']
47
+ group node['ntp']['conf_group']
48
+ mode "0644"
49
+ notifies :restart, resources(:service => node['ntp']['service'])
50
+ end
@@ -0,0 +1,22 @@
1
+ #
2
+ # Author:: Guilhem Lettron <guilhem.lettron@youscribe.com>
3
+ # Cookbook Name:: ntp
4
+ # Recipe:: disable
5
+ #
6
+
7
+ service node['ntp']['service'] do
8
+ action [ :disable, :stop ]
9
+ end
10
+
11
+ case node['platform']
12
+ when "ubuntu","debian"
13
+ template "/etc/default/ntpdate" do
14
+ source "ntpdate.erb"
15
+ owner "root"
16
+ group root_group
17
+ mode "0644"
18
+ variables(
19
+ :disable => TRUE
20
+ )
21
+ end
22
+ end
@@ -0,0 +1,36 @@
1
+ #
2
+ # Cookbook Name:: ntp
3
+ # Recipe:: ntpdate
4
+ # Author:: Eric G. Wolfe
5
+ #
6
+ # Copyright 2012, Eric G. Wolfe
7
+ # Copyright 2009, 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
+ # Package declaration a bit redundant,
22
+ # but not if this runs as a standalone recipe
23
+ package "ntpdate" do
24
+ only_if { node['platform'] == "debian" or node['platform'] == "ubuntu" }
25
+ end
26
+
27
+ # Template is only meaningful on Debian family platforms
28
+ template "/etc/default/ntpdate" do
29
+ owner node['ntp']['conf_owner']
30
+ group node['ntp']['conf_group']
31
+ mode "0644"
32
+ variables(
33
+ :disable => node['ntp']['ntpdate']['disable']
34
+ )
35
+ only_if { node['platform'] == "debian" or node['platform'] == "ubuntu" }
36
+ end
@@ -1,9 +1,10 @@
1
1
  #
2
- # Cookbook Name:: openssl
3
- # Library:: secure_password
4
- # Author:: Joshua Timberman <joshua@opscode.com>
2
+ # Cookbook Name:: ntp
3
+ # Recipe:: undo
4
+ # Author:: Eric G. Wolfe
5
5
  #
6
- # Copyright 2009, Opscode, Inc.
6
+ # Copyright 2012, Eric G. Wolfe
7
+ # Copyright 2009, Opscode, Inc
7
8
  #
8
9
  # Licensed under the Apache License, Version 2.0 (the "License");
9
10
  # you may not use this file except in compliance with the License.
@@ -16,22 +17,20 @@
16
17
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
18
  # See the License for the specific language governing permissions and
18
19
  # limitations under the License.
19
- #
20
20
 
21
- require 'openssl'
21
+ service node['ntp']['service'] do
22
+ supports :status => true, :restart => true
23
+ action [ :stop, :disable ]
24
+ end
22
25
 
23
- module Opscode
24
- module OpenSSL
25
- module Password
26
- def secure_password
27
- pw = String.new
28
-
29
- while pw.length < 20
30
- pw << ::OpenSSL::Random.random_bytes(1).gsub(/\W/, '')
31
- end
26
+ node['ntp']['packages'].each do |ntppkg|
27
+ package ntppkg do
28
+ action :remove
29
+ end
30
+ end
32
31
 
33
- pw
34
- end
35
- end
32
+ ruby_block "remove ntp::undo from run list" do
33
+ block do
34
+ node.run_list.remove("recipe[ntp::undo]")
36
35
  end
37
36
  end
@@ -0,0 +1,55 @@
1
+ # Generated by Chef for <%= node['fqdn'] %>
2
+ # Local modifications will be overwritten.
3
+ <%# See http://www.vmware.com/vmtn/resources/238 p. 23 for explanation %>
4
+ <% if node['virtualization']['role'] == "guest" -%>
5
+ tinker panic 0
6
+ <% end -%>
7
+ driftfile <%= node['ntp']['driftfile'] %>
8
+ statsdir <%= node['ntp']['statsdir'] %>
9
+ leapfile <%= node['ntp']['leapfile'] %>
10
+
11
+ statistics loopstats peerstats clockstats
12
+ filegen loopstats file loopstats type day enable
13
+ filegen peerstats file peerstats type day enable
14
+ filegen clockstats file clockstats type day enable
15
+
16
+ <%# If ntp.peers is not empty %>
17
+ <% unless node['ntp']['peers'].empty? -%>
18
+ <%# Loop through defined peers, but don't peer with ourself %>
19
+ <% node['ntp']['peers'].each do |ntppeer| -%>
20
+ <% if node['ipaddress'] != ntppeer and node['fqdn'] != ntppeer %>
21
+ peer <%= ntppeer %> iburst
22
+ restrict <%= ntppeer %> nomodify
23
+ <% end -%>
24
+ <% end -%>
25
+ <% end -%>
26
+
27
+ <%# Whether this is a client or server, we want upstream servers. %>
28
+ <%# We should guard the servers array against deep merge. %>
29
+ <%# This should keep authoritative local servers from being included twice. %>
30
+ <% ( node['ntp']['servers'] - node['ntp']['peers'] ).each do |ntpserver| -%>
31
+ <%# Loop through defined servers, but don't try to upstream ourself %>
32
+ <% if node['ipaddress'] != ntpserver and node['fqdn'] != ntpserver -%>
33
+ server <%= ntpserver %> iburst
34
+ restrict <%= ntpserver %> nomodify notrap noquery
35
+ <% end -%>
36
+ <% end -%>
37
+
38
+ restrict default kod notrap nomodify nopeer noquery
39
+ restrict 127.0.0.1 nomodify
40
+ restrict -6 default kod notrap nomodify nopeer noquery
41
+ restrict -6 ::1 nomodify
42
+
43
+ <%# If this is a server with additional LAN restriction lines, put them here %>
44
+ <% unless node['ntp']['restrictions'].empty? -%>
45
+ <% node['ntp']['restrictions'].each do |restriction| -%>
46
+ restrict <%= restriction %>
47
+ <% end -%>
48
+ <% end -%>
49
+
50
+ <%# It is best practice to use a high stratum undisciplined clock, if you have a real CMOS clock %>
51
+ <%# Except cases where you have a low stratum server, or a virtualized system without a real CMOS clock %>
52
+ <% unless node['virtualization']['role'] == "guest" -%>
53
+ server 127.127.1.0 # local clock
54
+ fudge 127.127.1.0 stratum 10
55
+ <% end -%>
@@ -0,0 +1,14 @@
1
+ <% if @disable %>exit 0<% end %>
2
+ # The settings in this file are used by the program ntpdate-debian, but not
3
+ # by the upstream program ntpdate.
4
+
5
+ # Set to "yes" to take the server list from /etc/ntp.conf, from package ntp,
6
+ # so you only have to keep it in one place.
7
+ NTPDATE_USE_NTP_CONF=yes
8
+
9
+ # List of NTP servers to use (Separate multiple servers with spaces.)
10
+ # Not used if NTPDATE_USE_NTP_CONF is yes.
11
+ NTPSERVERS="<% node['ntp']['servers'].each do |ntpserver| -%><%= ntpserver %> <% end %>"
12
+
13
+ # Additional options to pass to ntpdate
14
+ NTPOPTIONS=""
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # Cookbook Name:: rvm
3
3
  # Recipe:: multi
4
- # Copyright 2011-2012, Travis CI development team
4
+ # Copyright 2011-2013, Travis CI Development Team <contact@travis-ci.org>
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,7 +1,6 @@
1
- default[:travis][:worker][:home] = '/mnt/ssd/travis/worker'
1
+ default[:travis][:worker][:home] = '/home/deploy'
2
2
  default[:travis][:worker][:repository] = 'git://github.com/travis-ci/travis-worker.git'
3
3
  default[:travis][:worker][:ref] = 'master'
4
- default[:travis][:worker][:post_checkout] = {}
5
4
  default[:travis][:worker][:amqp] = {
6
5
  :host => 'localhost',
7
6
  :port => 1234,
@@ -9,5 +8,13 @@ default[:travis][:worker][:amqp] = {
9
8
  :password => 'travis',
10
9
  :virtual_host => 'travis'
11
10
  }
12
- default[:travis][:worker][:vms] = 6
11
+ default[:travis][:worker][:vms] = 20
13
12
  default[:travis][:worker][:env] = 'ruby'
13
+ default[:travis][:worker][:hostname] = "#{node[:travis][:worker][:env]}.worker.travis-ci.com"
14
+ default[:travis][:worker][:log_level] = 'info'
15
+ default[:travis][:worker][:workers] = 1
16
+ default[:papertrail][:watch_files] = {}
17
+
18
+ 1.upto(node[:travis][:worker][:workers]) do |num|
19
+ set[:papertrail][:watch_files]["/etc/sv/travis-worker-#{num}/log/main/current"] = 'travis-worker'
20
+ end
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ if ARGV.empty?
4
+ puts "Requires at least one argument"
5
+ exit 1
6
+ end
7
+
8
+ child_pid = nil
9
+
10
+ %w{INT TERM}.each do |signal|
11
+ trap signal do
12
+ puts "Terminating child"
13
+ Process.kill(:TERM, child_pid)
14
+ exit
15
+ end
16
+ end
17
+
18
+ child_pid = Kernel.fork do
19
+ Process.exec(*ARGV)
20
+ end
21
+
22
+ Process.wait(child_pid)