lobot 2.0.0pre → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +7 -10
- data/.gitmodules +1 -1
- data/.pairs +15 -0
- data/.rvmrc +1 -1
- data/.travis.yml +5 -0
- data/Gemfile +2 -2
- data/LICENSE.txt +1 -1
- data/README.md +67 -29
- data/Rakefile +11 -6
- data/Vagrantfile +8 -5
- data/bin/lobot +2 -4
- data/chef/cookbooks/pivotal_ci/attributes/jenkins.rb +1 -0
- data/chef/cookbooks/pivotal_ci/files/default/tests/minitest/default_test.rb +40 -2
- data/chef/cookbooks/pivotal_ci/recipes/id_rsa.rb +5 -0
- data/chef/cookbooks/pivotal_ci/recipes/jenkins_config.rb +5 -2
- data/chef/cookbooks/pivotal_ci/recipes/limited_travis_ci_environment.rb +4 -0
- data/chef/cookbooks/pivotal_ci/templates/default/jenkins-job-config.xml.erb +8 -6
- data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/attributes/default.rb +0 -1
- data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/recipes/bootstrap.rb +41 -0
- data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/recipes/default.rb +1 -41
- data/chef/travis-cookbooks/ci_environment/apt/recipes/default.rb +8 -7
- data/chef/travis-cookbooks/ci_environment/bazaar/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/cassandra/attributes/default.rb +6 -3
- data/chef/travis-cookbooks/ci_environment/cassandra/recipes/datastax.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/cassandra/recipes/package.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/cassandra/recipes/tarball.rb +6 -2
- data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra.init.erb +58 -131
- data/chef/travis-cookbooks/ci_environment/chromium/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/clang/attributes/tarball.rb +2 -7
- data/chef/travis-cookbooks/ci_environment/clang/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/clang/recipes/tarball.rb +2 -4
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu-12.04.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1110_ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1204_ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/doxygen/recipes/default.rb +24 -0
- data/chef/travis-cookbooks/ci_environment/elasticsearch/attributes/default.rb +4 -1
- data/chef/travis-cookbooks/ci_environment/elasticsearch/recipes/default.rb +8 -5
- data/chef/travis-cookbooks/ci_environment/emacs/recipes/nox.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/firefox/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/git/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/git/recipes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/golang/attributes/default.rb +3 -3
- data/chef/travis-cookbooks/ci_environment/gradle/attributes/tarball.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_package.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_source.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_package.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_source.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/source.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/hbase/recipes/cdh4.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/java/attributes/default.rb +4 -2
- data/chef/travis-cookbooks/ci_environment/java/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/java/recipes/oraclejdk7.rb +6 -1
- data/chef/travis-cookbooks/ci_environment/kerl/attributes/source.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/kerl/files/default/erlang.cookie +1 -0
- data/chef/travis-cookbooks/ci_environment/kerl/recipes/source.rb +8 -0
- data/chef/travis-cookbooks/ci_environment/kestrel/recipes/tarball.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/leiningen/attributes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/leiningen/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein1x.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein2x.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libffi/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libgdbm/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libncurses/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libossp-uuid/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libreadline/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libssl/recipes/098.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libssl/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libxml/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/lighttpd/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/default.rb +5 -2
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/package.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/tarball.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/memcached/attributes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/memcached/attributes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/memcached/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/memcached/recipes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/mercurial/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/mercurial/recipes/ppa.rb +36 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/attributes/mongodb.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/mongodb/files/default/mongodb.sysvinit.sh +1 -1
- data/chef/travis-cookbooks/ci_environment/mongodb/recipes/apt.rb +5 -5
- data/chef/travis-cookbooks/ci_environment/mongodb/recipes/server.rb +5 -2
- data/chef/travis-cookbooks/ci_environment/mysql/attributes/default.rb +1 -3
- data/chef/travis-cookbooks/ci_environment/mysql/recipes/server_on_ramfs.rb +6 -1
- data/chef/travis-cookbooks/ci_environment/mysql/templates/default/my.cnf.erb +0 -2
- data/chef/travis-cookbooks/ci_environment/mysql/templates/default/ramfs/my.cnf.erb +0 -2
- data/chef/travis-cookbooks/ci_environment/neo4j-server/attributes/tarball.rb +13 -2
- data/chef/travis-cookbooks/ci_environment/neo4j-server/recipes/tarball.rb +26 -2
- data/chef/travis-cookbooks/ci_environment/networking_basic/recipes/default.rb +4 -1
- data/chef/travis-cookbooks/ci_environment/nodejs/attributes/multi.rb +3 -3
- data/chef/travis-cookbooks/ci_environment/nodejs/recipes/multi.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/openssh/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/perlbrew/attributes/multi.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/phantomjs/attributes/default.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/phantomjs/metadata.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/default.rb +3 -1
- data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/tarball.rb +3 -2
- data/chef/travis-cookbooks/ci_environment/php/attributes/default.rb +40 -2
- data/chef/travis-cookbooks/ci_environment/php/providers/pecl.rb +73 -0
- data/chef/travis-cookbooks/ci_environment/php/recipes/extensions.rb +25 -0
- data/chef/travis-cookbooks/ci_environment/php/recipes/multi.rb +5 -4
- data/chef/travis-cookbooks/ci_environment/php/resources/pecl.rb +10 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/attributes/default.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/after-install.d/phpunit.sh +58 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.2.17 +3 -1
- data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.3.3 +2 -1
- data/chef/travis-cookbooks/ci_environment/phpbuild/providers/build.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/phpbuild/recipes/default.rb +8 -10
- data/chef/travis-cookbooks/ci_environment/phpbuild/templates/default/default_configure_options.erb +4 -0
- data/chef/travis-cookbooks/ci_environment/phpenv/attributes/default.rb +6 -0
- data/chef/travis-cookbooks/ci_environment/phpenv/recipes/default.rb +11 -7
- data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server_on_ramfs.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/python/attributes/default.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/python/recipes/multi.rb +10 -3
- data/chef/travis-cookbooks/ci_environment/rabbitmq/attributes/default.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/recipes/default.rb +6 -2
- data/chef/travis-cookbooks/ci_environment/ragel/recipes/custom.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/ragel/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/redis/attributes/default.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/redis/recipes/default.rb +6 -3
- data/chef/travis-cookbooks/ci_environment/redis/recipes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/riak/attributes/default.rb +1 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/package.rb +3 -3
- data/chef/travis-cookbooks/{messaging_broker/openssl/recipes/default.rb → ci_environment/riak/attributes/service.rb} +4 -3
- data/chef/travis-cookbooks/ci_environment/riak/recipes/config.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/riak/recipes/default.rb +12 -5
- data/chef/travis-cookbooks/ci_environment/rvm/attributes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/rvm/attributes/multi.rb +2 -0
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/global.gems +1 -1
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/jruby/global.gems +1 -1
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/2.0.0/global.gems +2 -0
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/head/global.gems +2 -0
- data/chef/travis-cookbooks/ci_environment/rvm/recipes/default.rb +23 -1
- data/chef/travis-cookbooks/ci_environment/rvm/recipes/multi.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/rvm/templates/default/bundler_config.yml.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/sbt/CHANGELOG.md +20 -0
- data/chef/travis-cookbooks/ci_environment/sbt/LICENSE +201 -0
- data/chef/travis-cookbooks/ci_environment/sbt/README.md +78 -2
- data/chef/travis-cookbooks/ci_environment/sbt/attributes/default.rb +36 -10
- data/chef/travis-cookbooks/ci_environment/sbt/metadata.json +27 -17
- data/chef/travis-cookbooks/ci_environment/sbt/metadata.rb +13 -6
- data/chef/travis-cookbooks/ci_environment/sbt/recipes/default.rb +101 -51
- data/chef/travis-cookbooks/ci_environment/sbt/templates/default/jvmopts.erb +7 -0
- data/chef/travis-cookbooks/ci_environment/sbt/templates/default/sbtopts.erb +54 -0
- data/chef/travis-cookbooks/ci_environment/sphinx/attributes/default.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/sphinx/metadata.rb +4 -4
- data/chef/travis-cookbooks/ci_environment/sphinx/recipes/all.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/sphinx/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/{messaging_broker/build-essential/recipes/default.rb → ci_environment/sqlite/recipes/ppa.rb} +13 -24
- data/chef/travis-cookbooks/ci_environment/subversion/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/sweeper/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/attributes/default.rb +2 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/ci_user.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/default.rb +1 -3
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/root.rb +5 -1
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/ci_user/{dot_bashrc.sh → dot_bashrc.sh.erb} +0 -4
- data/chef/travis-cookbooks/ci_environment/unarchivers/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/xserver/metadata.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/xserver/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/zeromq/recipes/default.rb +6 -23
- data/chef/travis-cookbooks/ci_environment/zeromq/recipes/{20x.rb → ppa.rb} +14 -14
- data/chef/travis-cookbooks/ci_environment/zookeeper/recipes/cdh4.rb +1 -1
- data/chef/travis-cookbooks/worker_host/java/metadata.rb +1 -1
- data/chef/travis-cookbooks/worker_host/java/recipes/openjdk.rb +6 -0
- data/chef/travis-cookbooks/worker_host/jruby/attributes/default.rb +1 -1
- data/chef/travis-cookbooks/worker_host/jruby/metadata.rb +1 -1
- data/chef/travis-cookbooks/worker_host/jruby/recipes/default.rb +1 -0
- data/chef/travis-cookbooks/worker_host/monit/recipes/default.rb +21 -17
- data/chef/travis-cookbooks/worker_host/networking_basic/metadata.rb +1 -1
- data/chef/travis-cookbooks/worker_host/networking_basic/recipes/default.rb +0 -6
- data/chef/travis-cookbooks/worker_host/ntp/.gitignore +1 -0
- data/chef/travis-cookbooks/worker_host/ntp/.travis.yml +6 -0
- data/chef/travis-cookbooks/worker_host/ntp/CHANGELOG.md +35 -0
- data/chef/travis-cookbooks/worker_host/ntp/CONTRIBUTING +29 -0
- data/chef/travis-cookbooks/worker_host/ntp/LICENSE +201 -0
- data/chef/travis-cookbooks/worker_host/ntp/README.md +163 -0
- data/chef/travis-cookbooks/worker_host/ntp/Rakefile +19 -0
- data/chef/travis-cookbooks/worker_host/ntp/TESTING.md +213 -0
- data/chef/travis-cookbooks/worker_host/ntp/attributes/default.rb +54 -0
- data/chef/travis-cookbooks/{messaging_broker/rabbitmq/resources/vhost.rb → worker_host/ntp/attributes/ntpdate.rb} +6 -7
- data/chef/travis-cookbooks/worker_host/ntp/chefignore +19 -0
- data/chef/travis-cookbooks/worker_host/ntp/files/default/ntp.leapseconds +222 -0
- data/chef/travis-cookbooks/worker_host/ntp/metadata.json +117 -0
- data/chef/travis-cookbooks/worker_host/ntp/metadata.rb +45 -0
- data/chef/travis-cookbooks/worker_host/ntp/recipes/default.rb +50 -0
- data/chef/travis-cookbooks/worker_host/ntp/recipes/disable.rb +22 -0
- data/chef/travis-cookbooks/worker_host/ntp/recipes/ntpdate.rb +36 -0
- data/chef/travis-cookbooks/{messaging_broker/openssl/libraries/secure_password.rb → worker_host/ntp/recipes/undo.rb} +17 -18
- data/chef/travis-cookbooks/worker_host/ntp/templates/default/ntp.conf.erb +55 -0
- data/chef/travis-cookbooks/worker_host/ntp/templates/default/ntpdate.erb +14 -0
- data/chef/travis-cookbooks/worker_host/rvm/recipes/multi.rb +1 -1
- data/chef/travis-cookbooks/worker_host/travis_worker/attributes/default.rb +10 -3
- data/chef/travis-cookbooks/worker_host/travis_worker/files/default/signal_wrapper.rb +22 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/metadata.rb +2 -2
- data/chef/travis-cookbooks/worker_host/travis_worker/recipes/bluebox.rb +97 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/recipes/default.rb +25 -15
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/sv-travis-worker-run.erb +1 -1
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker-bluebox.yml.erb +21 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker.yml.erb +0 -4
- data/chef/travis-cookbooks/worker_host/travis_worker_collectd/metadata.rb +1 -0
- data/chef/travis-cookbooks/worker_host/travis_worker_collectd/recipes/bluebox.rb +15 -0
- data/chef/travis-cookbooks/worker_host/travis_worker_collectd/recipes/default.rb +1 -0
- data/chef/travis-cookbooks/worker_host/users/recipes/default.rb +5 -0
- data/cookbooks/.gitkeep +3 -0
- data/lib/lobot.rb +8 -4
- data/lib/lobot/amazon.rb +33 -19
- data/lib/lobot/cli.rb +70 -46
- data/lib/lobot/config.rb +151 -19
- data/lib/lobot/configuration_wizard.rb +117 -0
- data/lib/lobot/keychain.rb +36 -0
- data/lib/lobot/password.rb +13 -0
- data/lib/lobot/sobo.rb +57 -13
- data/lib/lobot/templates/default_rails_build_script.sh +13 -0
- data/lib/lobot/version.rb +2 -2
- data/lobot.gemspec +4 -5
- data/script/bootstrap_server.sh +1 -1
- data/script/ci_build.sh +13 -0
- data/spec/assets/test_cert.crt +18 -0
- data/spec/fixtures/ssh_keys/vagrant_test_key +27 -0
- data/spec/fixtures/ssh_keys/vagrant_test_key.pub +1 -0
- data/spec/lib/lobot/amazon_spec.rb +80 -39
- data/spec/lib/lobot/cli_spec.rb +223 -154
- data/spec/lib/lobot/config_spec.rb +207 -5
- data/spec/lib/lobot/configuration_wizard_spec.rb +347 -0
- data/spec/lib/lobot/keychain_spec.rb +33 -0
- data/spec/lib/lobot/password_spec.rb +15 -0
- data/spec/spec_helper.rb +19 -1
- data/templates/Gemfile-remote +4 -0
- metadata +83 -100
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/1.8.6/global.gems +0 -2
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/root/dot_bashrc.sh +0 -86
- data/chef/travis-cookbooks/ci_environment/zeromq/attributes/default.rb +0 -7
- data/chef/travis-cookbooks/messaging_broker/build-essential/README.md +0 -24
- data/chef/travis-cookbooks/messaging_broker/build-essential/metadata.rb +0 -10
- data/chef/travis-cookbooks/messaging_broker/emacs/metadata.rb +0 -11
- data/chef/travis-cookbooks/messaging_broker/emacs/recipes/default.rb +0 -21
- data/chef/travis-cookbooks/messaging_broker/erlang/attributes/default.rb +0 -1
- data/chef/travis-cookbooks/messaging_broker/erlang/metadata.rb +0 -11
- data/chef/travis-cookbooks/messaging_broker/erlang/recipes/default.rb +0 -27
- data/chef/travis-cookbooks/messaging_broker/git/README.rdoc +0 -37
- data/chef/travis-cookbooks/messaging_broker/git/metadata.rb +0 -16
- data/chef/travis-cookbooks/messaging_broker/git/recipes/default.rb +0 -24
- data/chef/travis-cookbooks/messaging_broker/git/recipes/server.rb +0 -34
- data/chef/travis-cookbooks/messaging_broker/git/templates/default/sv-git-daemon-log-run.erb +0 -2
- data/chef/travis-cookbooks/messaging_broker/git/templates/default/sv-git-daemon-run.erb +0 -3
- data/chef/travis-cookbooks/messaging_broker/haproxy/README.md +0 -79
- data/chef/travis-cookbooks/messaging_broker/haproxy/attributes/default.rb +0 -22
- data/chef/travis-cookbooks/messaging_broker/haproxy/metadata.rb +0 -13
- data/chef/travis-cookbooks/messaging_broker/haproxy/recipes/app_lb.rb +0 -50
- data/chef/travis-cookbooks/messaging_broker/haproxy/recipes/default.rb +0 -42
- data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy-app_lb.cfg.erb +0 -34
- data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy-default.erb +0 -4
- data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy.cfg.erb +0 -27
- data/chef/travis-cookbooks/messaging_broker/iptables/definitions/iptables_rule.rb +0 -35
- data/chef/travis-cookbooks/messaging_broker/iptables/files/default/rebuild-iptables +0 -284
- data/chef/travis-cookbooks/messaging_broker/iptables/metadata.rb +0 -10
- data/chef/travis-cookbooks/messaging_broker/iptables/recipes/default.rb +0 -50
- data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/all_established.erb +0 -2
- data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/all_icmp.erb +0 -2
- data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/iptables_load.erb +0 -3
- data/chef/travis-cookbooks/messaging_broker/openssl/README.md +0 -37
- data/chef/travis-cookbooks/messaging_broker/openssl/metadata.rb +0 -8
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/README.md +0 -86
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/attributes/default.rb +0 -10
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/metadata.rb +0 -63
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/providers/user.rb +0 -66
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/providers/vhost.rb +0 -34
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/recipes/cluster.rb +0 -35
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/recipes/default.rb +0 -51
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/resources/user.rb +0 -25
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/doterlang.cookie.erb +0 -1
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/rabbitmq-env.conf.erb +0 -10
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/rabbitmq_cluster.config.erb +0 -5
- data/ci_build.sh +0 -20
- data/docs/ci_yml.md +0 -39
- data/features/ci.feature +0 -29
- data/features/config/secrets.yml.example +0 -4
- data/features/step_definitions/ci_steps.rb +0 -137
- data/features/support/env.rb +0 -12
- data/lib/generators/lobot/USAGE +0 -15
- data/lib/generators/lobot/config_generator.rb +0 -141
- data/lib/generators/lobot/install_generator.rb +0 -25
- data/lib/generators/lobot/templates/Capfile +0 -6
- data/lib/generators/lobot/templates/ci.yml +0 -22
- data/lib/generators/lobot/templates/ci_build.sh +0 -22
- data/lib/generators/lobot/templates/deploy-ci.rb +0 -7
- data/lib/generators/lobot/templates/soloistrc +0 -23
- data/lib/lobot/jenkins.rb +0 -17
- data/lib/lobot/railtie.rb +0 -20
- data/lib/lobot/recipes/ci.rb +0 -78
- data/lib/lobot/tasks/ci.rake +0 -93
- data/spec/lib/lobot/jenkins_spec.rb +0 -14
@@ -1,25 +0,0 @@
|
|
1
|
-
module Lobot
|
2
|
-
class InstallGenerator < Rails::Generators::Base
|
3
|
-
source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
|
4
|
-
argument :build_server, :type => :string, :default => "Jenkins"
|
5
|
-
|
6
|
-
def create_ci_files
|
7
|
-
template 'ci.yml', 'config/ci.yml'
|
8
|
-
template 'ci.yml', 'config/ci.yml.example'
|
9
|
-
template 'deploy-ci.rb', 'config/deploy/ci.rb'
|
10
|
-
template 'soloistrc', 'soloistrc'
|
11
|
-
template 'ci_build.sh', 'script/ci_build.sh'
|
12
|
-
system "chmod a+x #{destination_root}/script/ci_build.sh"
|
13
|
-
end
|
14
|
-
|
15
|
-
def add_load_path_to_capfile
|
16
|
-
template 'Capfile', 'Capfile' unless File.exists?("#{destination_root}/Capfile")
|
17
|
-
prepend_to_file 'Capfile', "require 'lobot/recipes/ci'\n"
|
18
|
-
end
|
19
|
-
|
20
|
-
def add_ci_reporter_to_gitignore
|
21
|
-
system("touch #{destination_root}/.gitignore")
|
22
|
-
append_to_file '.gitignore', "spec/reports\n"
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,6 +0,0 @@
|
|
1
|
-
# Lobot provides the default Capfile for you in case you want to use more cap later
|
2
|
-
|
3
|
-
# load 'deploy' if respond_to?(:namespace) # cap2 differentiator
|
4
|
-
# Dir['vendor/gems/*/recipes/*.rb','vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
|
5
|
-
#
|
6
|
-
# load 'config/deploy' # remove this line to skip loading any of the default tasks
|
@@ -1,22 +0,0 @@
|
|
1
|
-
---
|
2
|
-
app_name: SHORT_APPLICATION_NAME
|
3
|
-
app_user: APPLICATION_USER
|
4
|
-
git_location: GIT CLONE URL
|
5
|
-
basic_auth:
|
6
|
-
- username: BASIC_AUTH_LOGIN_NAME
|
7
|
-
password: BASIC_AUTH_PASSWORD
|
8
|
-
credentials:
|
9
|
-
aws_access_key_id: AWS_ACCESS_KEY #https://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&action=access-key
|
10
|
-
aws_secret_access_key: AWS_SECRET
|
11
|
-
provider: AWS # leave this one
|
12
|
-
server:
|
13
|
-
flavor_id: c1.medium # See http://aws.amazon.com/ec2/instance-types/ API name values
|
14
|
-
security_group: ci_servers
|
15
|
-
name: # run 'rake ci:server_start to populate'
|
16
|
-
instance_id: # run 'rake ci:server_start to populate'
|
17
|
-
ssh_port: # default to 22, but override here
|
18
|
-
build_command: ./script/ci_build.sh
|
19
|
-
ec2_server_access:
|
20
|
-
key_pair_name: NAME_OF_YOUR_KEY_PAIR # like myapp_ci
|
21
|
-
id_rsa_path: ~/.ssh/id_rsa
|
22
|
-
github_private_ssh_key_path: ~/.ssh/id_rsa
|
@@ -1,22 +0,0 @@
|
|
1
|
-
#!/bin/bash -l
|
2
|
-
|
3
|
-
source .rvmrc
|
4
|
-
|
5
|
-
# install bundler if necessary
|
6
|
-
gem list --local bundler | grep bundler || gem install bundler || exit 1
|
7
|
-
|
8
|
-
# debugging info
|
9
|
-
echo USER=$USER && ruby --version && which ruby && which bundle
|
10
|
-
|
11
|
-
rm -f log/*
|
12
|
-
|
13
|
-
# conditionally install project gems from Gemfile
|
14
|
-
bundle check || bundle install --without development || exit 1
|
15
|
-
|
16
|
-
test -e config/database.yml || (test -e config/database.yml.example && cp config/database.yml.example config/database.yml)
|
17
|
-
test -e config/database.yml || (test -e config/database.example.yml && cp config/database.example.yml config/database.yml)
|
18
|
-
|
19
|
-
rake db:version > /dev/null || rake db:create
|
20
|
-
rake db:migrate db:test:prepare
|
21
|
-
|
22
|
-
rake ci:headlessly['rake -f `bundle show ci_reporter`/stub.rake ci:setup:rspec default'] --trace
|
@@ -1,7 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
aws_conf_location = File.expand_path('../../ci.yml', __FILE__)
|
3
|
-
server_config = YAML.load_file(aws_conf_location)["server"]
|
4
|
-
ci_server = server_config['elastic_ip']
|
5
|
-
ssh_port = server_config['ssh_port'] || 22
|
6
|
-
|
7
|
-
role :ci, "#{ci_server}:#{ssh_port}"
|
@@ -1,23 +0,0 @@
|
|
1
|
-
cookbook_paths:
|
2
|
-
- ./chef/cookbooks/
|
3
|
-
- ./chef/travis-cookbooks/ci_environment/
|
4
|
-
|
5
|
-
recipes:
|
6
|
-
- pivotal_ci::jenkins # Order Matters: Jenkins home directory needs to exist
|
7
|
-
- pivotal_ci::limited_travis_ci_environment
|
8
|
-
- pivotal_ci
|
9
|
-
|
10
|
-
env_variable_switches:
|
11
|
-
APP_NAME:
|
12
|
-
cookbook_paths: []
|
13
|
-
recipes: []
|
14
|
-
APP_DIR:
|
15
|
-
cookbook_paths: []
|
16
|
-
recipes: []
|
17
|
-
|
18
|
-
node_attributes:
|
19
|
-
travis_build_environment:
|
20
|
-
user: jenkins
|
21
|
-
group: nogroup
|
22
|
-
home: /var/lib/jenkins
|
23
|
-
|
data/lib/lobot/jenkins.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
module Lobot
|
2
|
-
class Jenkins
|
3
|
-
attr_reader :config
|
4
|
-
|
5
|
-
def initialize(config)
|
6
|
-
@config = config
|
7
|
-
end
|
8
|
-
|
9
|
-
def jobs
|
10
|
-
Hashie::Mash.new(api_json).jobs
|
11
|
-
end
|
12
|
-
|
13
|
-
def api_json
|
14
|
-
JSON.parse(`curl -s http://#{config.master}:8080/api/json`)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
data/lib/lobot/railtie.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require "rails/railtie"
|
2
|
-
module Lobot
|
3
|
-
class Railtie < Rails::Railtie
|
4
|
-
|
5
|
-
config.before_configuration do
|
6
|
-
old_lobot_rakefile = ::Rails.root.join('lib', 'tasks', 'ci.rake')
|
7
|
-
if old_lobot_rakefile.exist? && !ENV["USE_CI_RAKE"]
|
8
|
-
puts %Q{
|
9
|
-
You no longer need to have ci.rake in your project, as it is now automatically loaded
|
10
|
-
from the Lobot gem. To silence this warning, set "USE_CI_RAKE=true" in your environment
|
11
|
-
or remove ci.rake.
|
12
|
-
}
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
rake_tasks do
|
17
|
-
load "lobot/tasks/ci.rake"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
data/lib/lobot/recipes/ci.rb
DELETED
@@ -1,78 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
-
require 'capistrano/ext/multistage'
|
3
|
-
|
4
|
-
task :ci_setup do
|
5
|
-
ci_conf_location ||= "config/ci.yml"
|
6
|
-
ci_conf ||= YAML.load_file(ci_conf_location)
|
7
|
-
|
8
|
-
if ENV["rvm_path"]
|
9
|
-
require "bundler/capistrano"
|
10
|
-
require "rvm/capistrano"
|
11
|
-
set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"")
|
12
|
-
set :rvm_type, :system
|
13
|
-
end
|
14
|
-
set :app_name, ci_conf['app_name']
|
15
|
-
set(:app_dir) { "/var/#{stage}/#{app_name}" }
|
16
|
-
set :bootstrap_script, File.expand_path("../../../../script/bootstrap_server.sh", __FILE__)
|
17
|
-
set :chef_path, File.expand_path("../../../../chef", __FILE__)
|
18
|
-
set :user, 'ubuntu'
|
19
|
-
ssh_options[:keys] = [ci_conf['ec2_server_access']['id_rsa_path']]
|
20
|
-
default_run_options[:pty] = true
|
21
|
-
end
|
22
|
-
|
23
|
-
desc "check for server availability - run this task in a loop to see if the slice is ready to connect to"
|
24
|
-
task :check_for_server_availability do
|
25
|
-
ci_setup
|
26
|
-
set :user, "root"
|
27
|
-
run "echo Server is available"
|
28
|
-
end
|
29
|
-
|
30
|
-
desc "bootstrap"
|
31
|
-
task :bootstrap do
|
32
|
-
ci_setup
|
33
|
-
set :default_shell, "/bin/bash"
|
34
|
-
upload bootstrap_script, "bootstrap_server.sh"
|
35
|
-
run "chmod a+x bootstrap_server.sh"
|
36
|
-
run "./bootstrap_server.sh"
|
37
|
-
end
|
38
|
-
|
39
|
-
desc "setup and run chef"
|
40
|
-
task :chef do
|
41
|
-
ci_setup
|
42
|
-
install_base_gems
|
43
|
-
upload_cookbooks
|
44
|
-
run_soloist
|
45
|
-
end
|
46
|
-
|
47
|
-
desc "Install gems that are needed for a chef run"
|
48
|
-
task :install_base_gems do
|
49
|
-
ci_setup
|
50
|
-
run "gem list | grep soloist || gem install soloist --no-rdoc --no-ri"
|
51
|
-
run "gem list | grep bundler || gem install bundler --no-rdoc --no-ri"
|
52
|
-
end
|
53
|
-
|
54
|
-
desc "Upload cookbooks"
|
55
|
-
task :upload_cookbooks do
|
56
|
-
ci_setup
|
57
|
-
run "sudo mkdir -p #{app_dir}"
|
58
|
-
run "sudo chown -R #{user} #{app_dir}"
|
59
|
-
run "rm #{app_dir}/soloistrc || true"
|
60
|
-
upload("soloistrc", "#{app_dir}/soloistrc")
|
61
|
-
upload("config/ci.yml", "#{app_dir}/ci.yml")
|
62
|
-
|
63
|
-
ci_config = YAML.load_file("config/ci.yml")
|
64
|
-
if ci_config.has_key?("github_private_ssh_key_path")
|
65
|
-
upload(File.expand_path(ci_config["github_private_ssh_key_path"]), "/home/#{user}/.ssh/id_rsa", {:mode => "0600"})
|
66
|
-
end
|
67
|
-
|
68
|
-
find_servers_for_task(current_task).each do |server|
|
69
|
-
system("rsync -avz --delete '#{chef_path}/' 'ubuntu@#{server}:#{app_dir}/chef/' --exclude .git")
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
desc "Run soloist"
|
74
|
-
task :run_soloist do
|
75
|
-
ci_setup
|
76
|
-
run "cd #{app_dir} && ROLES=$CAPISTRANO:HOSTROLES$ PATH=/usr/sbin:$PATH APP_NAME=#{fetch(:app_name)} APP_DIR=#{fetch(:app_dir)} soloist"
|
77
|
-
end
|
78
|
-
end
|
data/lib/lobot/tasks/ci.rake
DELETED
@@ -1,93 +0,0 @@
|
|
1
|
-
namespace :ci do
|
2
|
-
desc "stop(suspend) the CI Server"
|
3
|
-
task :stop_server do
|
4
|
-
puts "Stopping (suspending) the CI Server..."
|
5
|
-
require 'fog'
|
6
|
-
require 'yaml'
|
7
|
-
require 'socket'
|
8
|
-
|
9
|
-
aws_conf_location = File.join(Dir.pwd, 'config', 'ci.yml')
|
10
|
-
aws_conf = YAML.load_file(aws_conf_location)
|
11
|
-
aws_credentials = aws_conf['credentials']
|
12
|
-
server_config = aws_conf['server']
|
13
|
-
|
14
|
-
aws_connection = Fog::Compute.new(
|
15
|
-
:provider => aws_credentials['provider'],
|
16
|
-
:aws_access_key_id => aws_credentials['aws_access_key_id'],
|
17
|
-
:aws_secret_access_key => aws_credentials['aws_secret_access_key']
|
18
|
-
)
|
19
|
-
|
20
|
-
aws_connection.servers.new(:id => server_config['instance_id']).stop
|
21
|
-
end
|
22
|
-
|
23
|
-
desc "start(resume) the CI Server"
|
24
|
-
task :start_server do
|
25
|
-
require 'fog'
|
26
|
-
require 'yaml'
|
27
|
-
require 'socket'
|
28
|
-
|
29
|
-
aws_conf_location = File.join(Dir.pwd, 'config', 'ci.yml')
|
30
|
-
aws_conf = YAML.load_file(aws_conf_location)
|
31
|
-
aws_credentials = aws_conf['credentials']
|
32
|
-
server_config = aws_conf['server']
|
33
|
-
|
34
|
-
aws_connection = Fog::Compute.new(
|
35
|
-
:provider => aws_credentials['provider'],
|
36
|
-
:aws_access_key_id => aws_credentials['aws_access_key_id'],
|
37
|
-
:aws_secret_access_key => aws_credentials['aws_secret_access_key']
|
38
|
-
)
|
39
|
-
|
40
|
-
server = aws_connection.servers.new(:id => server_config['instance_id'])
|
41
|
-
server.start
|
42
|
-
server.wait_for { ready? }
|
43
|
-
|
44
|
-
aws_connection.associate_address(server_config['instance_id'], server_config['elastic_ip']) if server_config['elastic_ip']
|
45
|
-
end
|
46
|
-
|
47
|
-
desc "Get build status"
|
48
|
-
task :status do
|
49
|
-
require 'nokogiri'
|
50
|
-
aws_conf_location = File.join(Dir.pwd, 'config', 'ci.yml')
|
51
|
-
ci_conf = YAML.load_file(aws_conf_location)
|
52
|
-
|
53
|
-
jenkins_rss_feed = `curl --user #{ci_conf['basic_auth'][0]['username']}:#{ci_conf['basic_auth'][0]['password']} --anyauth --insecure https://#{ci_conf['server']['elastic_ip']}/rssAll`
|
54
|
-
# jenkins_rss_feed = `curl -s --user #{ci_conf['basic_auth'][0]['username']}:#{ci_conf['basic_auth'][0]['password']} --anyauth --insecure https://#{ci_conf['server']['elastic_ip']}/rssAll`
|
55
|
-
p jenkins_rss_feed
|
56
|
-
if latest_build = Nokogiri::XML.parse(jenkins_rss_feed.downcase).css('feed entry:first').first
|
57
|
-
title = latest_build.css("title").first.content
|
58
|
-
else
|
59
|
-
title = "not available yet"
|
60
|
-
end
|
61
|
-
status = !!(title =~ /success|stable|back to normal/)
|
62
|
-
if status
|
63
|
-
puts "Great Success (#{title})"
|
64
|
-
else
|
65
|
-
puts "Someone needs to fix the build (#{title})"
|
66
|
-
end
|
67
|
-
status ? exit(0) : exit(1)
|
68
|
-
end
|
69
|
-
|
70
|
-
desc "Print cimonitor and ccmenu setup information"
|
71
|
-
task :info do
|
72
|
-
ci_conf_location = File.join(Dir.pwd, 'config', 'ci.yml')
|
73
|
-
ci_conf = YAML.load_file(ci_conf_location)
|
74
|
-
|
75
|
-
if ci_conf['server']['elastic_ip']
|
76
|
-
puts "CI Monitor Config:"
|
77
|
-
puts "\tURL:\t\thttps://#{ci_conf['server']['elastic_ip']}/job/#{ci_conf['app_name']}/rssAll"
|
78
|
-
puts "\tProject Type:\tHudson/Jenkins"
|
79
|
-
puts "\tFeed Username:\t#{ci_conf['basic_auth'][0]['username']}"
|
80
|
-
puts "\tFeed Password:\t#{ci_conf['basic_auth'][0]['password']}"
|
81
|
-
puts "\t-- Lobot Setup --"
|
82
|
-
puts "\tEC2 Instance ID:\t#{ci_conf['server']['instance_id']}"
|
83
|
-
puts "\tEC2 Elastic IP Address:\t#{ci_conf['server']['elastic_ip']}"
|
84
|
-
puts "\tEC2 Access Key ID:\t#{ci_conf['credentials']['aws_access_key_id']}"
|
85
|
-
puts "\tEC2 Secret Access Key :\t#{ci_conf['credentials']['aws_secret_access_key']}"
|
86
|
-
puts ""
|
87
|
-
puts "CC Menu Config:"
|
88
|
-
puts "\tURL:\thttps://#{ci_conf['basic_auth'][0]['username']}:#{ci_conf['basic_auth'][0]['password']}@#{ci_conf['server']['elastic_ip']}/cc.xml"
|
89
|
-
else
|
90
|
-
puts "EC2 instance information not available. Did you run rake ci:server_start?"
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Lobot::Jenkins do
|
4
|
-
let(:lobot_config) { Lobot::Config.new }
|
5
|
-
let(:jenkins) { Lobot::Jenkins.new(lobot_config) }
|
6
|
-
|
7
|
-
describe "#jobs" do
|
8
|
-
before { jenkins.stub(:api_json).and_return({"jobs" => [{"name" => "meat"}]}) }
|
9
|
-
|
10
|
-
it "returns the jobs on a running instance" do
|
11
|
-
jenkins.jobs.first.name.should == "meat"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|