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
@@ -1,13 +0,0 @@
1
- maintainer "Opscode, Inc."
2
- maintainer_email "cookbooks@opscode.com"
3
- license "Apache 2.0"
4
- description "Installs and configures haproxy"
5
- long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
6
- version "1.0.2"
7
-
8
- recipe "haproxy", "Installs and configures haproxy"
9
- recipe "haproxy::app_lb", "Installs and configures haproxy by searching for nodes of a particular role"
10
-
11
- %w{ debian ubuntu }.each do |os|
12
- supports os
13
- end
@@ -1,50 +0,0 @@
1
- #
2
- # Cookbook Name:: haproxy
3
- # Recipe:: app_lb
4
- #
5
- # Copyright 2011, Opscode, Inc.
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- pool_members = search("node", "role:#{node['haproxy']['app_server_role']} AND chef_environment:#{node.chef_environment}") || []
21
-
22
- # load balancer is in the pool
23
- if node.run_list.roles.include?(node['haproxy']['app_server_role'])
24
- pool_members << node
25
- end
26
-
27
- package "haproxy" do
28
- action :install
29
- end
30
-
31
- template "/etc/default/haproxy" do
32
- source "haproxy-default.erb"
33
- owner "root"
34
- group "root"
35
- mode 0644
36
- end
37
-
38
- service "haproxy" do
39
- supports :restart => true, :status => true, :reload => true
40
- action [:enable, :start]
41
- end
42
-
43
- template "/etc/haproxy/haproxy.cfg" do
44
- source "haproxy-app_lb.cfg.erb"
45
- owner "root"
46
- group "root"
47
- mode 0644
48
- variables :pool_members => pool_members.uniq
49
- notifies :restart, "service[haproxy]"
50
- end
@@ -1,42 +0,0 @@
1
- #
2
- # Cookbook Name:: haproxy
3
- # Recipe:: default
4
- #
5
- # Copyright 2009, Opscode, Inc.
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- package "haproxy" do
21
- action :install
22
- end
23
-
24
- template "/etc/default/haproxy" do
25
- source "haproxy-default.erb"
26
- owner "root"
27
- group "root"
28
- mode 0644
29
- end
30
-
31
- service "haproxy" do
32
- supports :restart => true, :status => true, :reload => true
33
- action [:enable, :start]
34
- end
35
-
36
- template "/etc/haproxy/haproxy.cfg" do
37
- source "haproxy.cfg.erb"
38
- owner "root"
39
- group "root"
40
- mode 0644
41
- notifies :restart, "service[haproxy]"
42
- end
@@ -1,34 +0,0 @@
1
- global
2
- log 127.0.0.1 local0
3
- log 127.0.0.1 local1 notice
4
- #log loghost local0 info
5
- maxconn 4096
6
- #debug
7
- #quiet
8
- user haproxy
9
- group haproxy
10
-
11
- defaults
12
- log global
13
- mode http
14
- option httplog
15
- option dontlognull
16
- retries 3
17
- redispatch
18
- maxconn 2000
19
- contimeout 5000
20
- clitimeout 50000
21
- srvtimeout 50000
22
-
23
- # Set up application listeners here.
24
- listen application 0.0.0.0:80
25
- balance roundrobin
26
- <% @pool_members.each do |member| -%>
27
- <% server_ip = member.has_key?("ec2") ? member["ec2"]["public_ipv4"] : member["ipaddress"] -%>
28
- server <%= member["hostname"] %> <%= server_ip %>:<%= node["haproxy"]["member_port"] %> weight 1 maxconn 1 check
29
- <% end -%>
30
- <% if node["haproxy"]["enable_admin"] -%>
31
- listen admin 0.0.0.0:22002
32
- mode http
33
- stats uri /
34
- <% end -%>
@@ -1,4 +0,0 @@
1
- # Set ENABLED to 1 if you want the init script to start haproxy.
2
- ENABLED=1
3
- # Add extra flags here.
4
- #EXTRAOPTS="-de -m 16"
@@ -1,27 +0,0 @@
1
- global
2
- log 127.0.0.1 local0
3
- log 127.0.0.1 local1 notice
4
- #log loghost local0 info
5
- maxconn 4096
6
- #debug
7
- #quiet
8
- user haproxy
9
- group haproxy
10
-
11
- defaults
12
- log global
13
- mode http
14
- option httplog
15
- option dontlognull
16
- retries 3
17
- redispatch
18
- maxconn 2000
19
- contimeout 5000
20
- clitimeout 50000
21
- srvtimeout 50000
22
-
23
- # Set up application listeners here.
24
- listen application 0.0.0.0:8400
25
- balance roundrobin
26
- server localhost 127.0.0.1:4000 weight 1 maxconn 5 check
27
- server localhost 127.0.0.1:4001 weight 1 maxconn 5 check
@@ -1,35 +0,0 @@
1
- #
2
- # Cookbook Name:: iptables
3
- # Definition:: iptables_rule
4
- #
5
- # Copyright 2008-2009, Opscode, Inc.
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- define :iptables_rule, :enable => true, :source => nil, :variables => {} do
21
- template_source = params[:source] ? params[:source] : "#{params[:name]}.erb"
22
-
23
- template "/etc/iptables.d/#{params[:name]}" do
24
- source template_source
25
- mode 0644
26
- variables params[:variables]
27
- backup false
28
- notifies :run, resources(:execute => "rebuild-iptables")
29
- if params[:enable]
30
- action :create
31
- else
32
- action :delete
33
- end
34
- end
35
- end
@@ -1,284 +0,0 @@
1
- #!/usr/bin/perl -w
2
- our $ID = q$Id: rebuild-iptables 344 2006-10-04 02:48:30Z digant $;
3
-
4
- #
5
- # rebuild-iptables -- Construct an iptables rules file from fragments.
6
- #
7
- # Written by Russ Allbery <rra@stanford.edu>
8
- # Adapted by Digant C Kasundra <digant@stanford.edu>
9
- # Adapted by Joe Williams (2011) <joe@joetify.com>
10
- # Copyright 2005, 2006 Board of Trustees, Leland Stanford Jr. University
11
- #
12
- # Constructs an iptables rules file from the prefix, standard, and suffix
13
- # files in the iptables configuration area, adding any additional modules
14
- # specified in the command line, and prints the resulting iptables rules to
15
- # standard output (suitable for saving into /var/lib/iptables or some other
16
- # appropriate location on the system).
17
-
18
- ##############################################################################
19
- # Modules and declarations
20
- ##############################################################################
21
-
22
- require 5.006;
23
- use strict;
24
-
25
- use Getopt::Long qw(GetOptions);
26
-
27
- # Path to the iptables template area.
28
- our $TEMPLATE = '/etc/iptables.d';
29
-
30
- ##############################################################################
31
- # Installation
32
- ##############################################################################
33
-
34
- # Return the prefix
35
- sub prefix {
36
- my $data;
37
- ( $data = <<'END_OF_PREFIX' ) =~ s/^\s+//gm;
38
- *filter
39
- :INPUT ACCEPT
40
- :FORWARD ACCEPT
41
- :OUTPUT ACCEPT
42
- :FWR -
43
- -A INPUT -j FWR
44
- -A FWR -i lo -j ACCEPT
45
- END_OF_PREFIX
46
-
47
- return $data;
48
- }
49
-
50
- # Return the suffix
51
- sub suffix {
52
- my $data;
53
- ( $data = <<'END_OF_SUFFIX' ) =~ s/^\s+//gm;
54
- # Rejects all remaining connections with port-unreachable errors.
55
-
56
- -A FWR -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable
57
- -A FWR -p udp -j REJECT --reject-with icmp-port-unreachable
58
- COMMIT
59
- END_OF_SUFFIX
60
-
61
- return $data;
62
- }
63
-
64
- sub snat {
65
- my $data = "";
66
- if ( -f "/etc/iptables.snat" ) {
67
- open( SNAT, "<", "/etc/iptables.snat" )
68
- or die "$0: cannot open /etc/iptables.snat: $!\n";
69
- while (<SNAT>) {
70
- $data = $data . $_;
71
- }
72
- close(SNAT);
73
- }
74
- return $data;
75
- }
76
-
77
- # Read in a file, processing includes as required. Returns the contents of
78
- # the file as an array.
79
- sub read_iptables {
80
- my ($file) = @_;
81
- my @data;
82
- $file = $TEMPLATE . '/' . $file unless $file =~ m%^\.?/%;
83
- local *MODULE;
84
- open( MODULE, '<', $file ) or die "$0: cannot open $file: $!\n";
85
- local $_;
86
- while (<MODULE>) {
87
- if (/^\s*include\s+(\S+)$/) {
88
- my $included = $1;
89
- $included = $TEMPLATE . '/' . $included
90
- unless $included =~ m%^\.?/%;
91
- if ( $file eq $included ) {
92
- die "$0: include loop in $file, line $.\n";
93
- }
94
- push( @data, "\n" );
95
- push( @data, read_iptables($included) );
96
- push( @data, "\n" );
97
- } elsif (/^\s*include\s/) {
98
- die "$0: malformed include line in $file, line $.\n";
99
- } else {
100
- push( @data, $_ );
101
- }
102
- }
103
- close MODULE;
104
- return @data;
105
- }
106
-
107
- # Write a file carefully.
108
- sub write_iptables {
109
- my ( $file, @data ) = @_;
110
- open( NEW, "> $file.new" ) or die "$0: cannot create $file.new: $!\n";
111
- print NEW @data or die "$0: cannot write to $file.new: $!\n";
112
- close NEW or die "$0: cannot flush $file.new: $!\n";
113
- rename( "$file.new", $file )
114
- or die "$0: cannot install new $file: $!\n";
115
- }
116
-
117
- # Install iptables on a Red Hat system. Takes the array containing the new
118
- # iptables data.
119
- sub install_redhat {
120
- my (@data) = @_;
121
- write_iptables( '/etc/sysconfig/iptables', @data );
122
- system( "/sbin/service", "iptables", "restart" );
123
- }
124
-
125
- # Install iptables on a Debian system. Take the array containing the new
126
- # iptables data.
127
- sub install_debian {
128
- my (@data) = @_;
129
- unless ( -d '/etc/iptables' ) {
130
- mkdir( '/etc/iptables', 0755 )
131
- or die "$0: cannot mkdir /etc/iptables: $!\n";
132
- }
133
- write_iptables( "/etc/iptables/general", @data );
134
- system("/sbin/iptables-restore < /etc/iptables/general") == 0
135
- or die "rebuild-iptables: iptables-restore failed! - $?"
136
- }
137
-
138
- ##############################################################################
139
- # Main routine
140
- ##############################################################################
141
-
142
- # Fix things up for error reporting.
143
- $| = 1;
144
- my $fullpath = $0;
145
- $0 =~ s%.*/%%;
146
-
147
- # Parse command-line options.
148
- my ( $help, $version );
149
- Getopt::Long::config( 'bundling', 'no_ignore_case' );
150
- GetOptions(
151
- 'h|help' => \$help,
152
- 'v|version' => \$version
153
- ) or exit 1;
154
- if ($help) {
155
- print "Feeding myself to perldoc, please wait....\n";
156
- exec( 'perldoc', '-t', $fullpath );
157
- } elsif ($version) {
158
- my $version = join( ' ', ( split( ' ', $ID ) )[ 1 .. 3 ] );
159
- $version =~ s/,v\b//;
160
- $version =~ s/(\S+)$/($1)/;
161
- $version =~ tr%/%-%;
162
- print $version, "\n";
163
- exit;
164
- }
165
- my @modules;
166
-
167
- if ( -d '/etc/iptables.d' ) {
168
- @modules = </etc/iptables.d/*>;
169
- }
170
-
171
- # Concatenate everything together.
172
- my @data;
173
- push( @data, prefix() );
174
- push( @data, "\n" );
175
- for my $module (@modules) {
176
- push( @data, read_iptables($module) );
177
- push( @data, "\n" );
178
- }
179
- push( @data, suffix() );
180
- push( @data, snat() );
181
-
182
- if ( -f '/etc/debian_version' ) {
183
- install_debian(@data);
184
- } elsif ( -f '/etc/redhat-release' ) {
185
- install_redhat(@data);
186
- } else {
187
- die "$0: cannot figure out whether this is Red Hat or Debian\n";
188
- }
189
-
190
- exit 0;
191
- __END__
192
-
193
- ##############################################################################
194
- # Documentation
195
- ##############################################################################
196
-
197
- =head1 NAME
198
-
199
- rebuild-iptables - Construct an iptables rules file from fragments
200
-
201
- =head1 SYNOPSIS
202
-
203
- rebuild-iptables [B<-hv>]
204
-
205
- =head1 DESCRIPTION
206
-
207
- B<rebuild-iptables> constructs an iptables configuration file by concatenating
208
- various modules found in F</etc/iptables.d>. The resulting iptables
209
- configuration file is written to the appropriate file for either Red Hat or
210
- Debian (determined automatically) and iptables is restarted.
211
-
212
- Each module is just a text file located in the directory mentioned above that
213
- contains one or more iptables configuration lines (basically the arguments to
214
- an B<iptables> invocation), possibly including comments.
215
-
216
- Along with the modules in the directory specified, a standard prefix and suffix
217
- is added.
218
-
219
- Normally, the contents of each module are read in verbatim, but a module may
220
- also contain the directive:
221
-
222
- include <module>
223
-
224
- on a separate line, where <module> is the path to another module to include,
225
- specified the same way as modules given on the command line (hence, either a
226
- file name relative to F</afs/ir/service/jumpstart/data/iptables> or an
227
- absolute path). Such a line will be replaced with the contents of the named
228
- file. Be careful when using this directive to not create loops; files
229
- including themselves will be detected, but more complex loops will not and
230
- will result in infinite output.
231
-
232
- =head1 OPTIONS
233
-
234
- =over 4
235
-
236
- =item B<-h>, B<--help>
237
-
238
- Print out this documentation (which is done simply by feeding the script to
239
- C<perldoc -t>).
240
-
241
- =item B<-v>, B<--version>
242
-
243
- Print out the version of B<rebuild-iptables> and exit.
244
-
245
- =back
246
-
247
- =head1 FILES
248
-
249
- =over 4
250
-
251
- =item F</etc/iptables.d>
252
-
253
- The default module location.
254
-
255
- =item F</etc/debian_version>
256
-
257
- If this file exists, the system is assumed to be a Debian system for
258
- determining the installation location when B<-i> is used.
259
-
260
- =item F</etc/iptables/general>
261
-
262
- The install location of the generated configuration file on Debian.
263
-
264
- =item F</etc/redhat-release>
265
-
266
- If this file exists, the system is assumed to be a Red Hat system for
267
- determining the installation location when B<-i> is used.
268
-
269
- =item F</etc/sysconfig/iptables>
270
-
271
- The install location of the generated configuration file on Red Hat.
272
-
273
- =back
274
-
275
- =head1 AUTHOR
276
-
277
- Russ Allbery <rra@stanford.edu>
278
- Digant C Kasundra <digant@stanford.edu>
279
-
280
- =head1 SEE ALSO
281
-
282
- iptables(8)
283
-
284
- =cut