ciborg 0.0.1 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of ciborg might be problematic. Click here for more details.
- data/.gitignore +9 -16
- data/.gitmodules +3 -0
- data/.pairs +17 -0
- data/.rspec +2 -0
- data/.rvmrc +1 -0
- data/.travis.yml +5 -0
- data/Gemfile +3 -1
- data/Guardfile +10 -0
- data/LICENSE.txt +17 -18
- data/README.md +152 -17
- data/Rakefile +16 -1
- data/Vagrantfile +18 -0
- data/bin/ciborg +5 -0
- data/chef/cookbooks/pivotal_ci/.gitignore +4 -0
- data/chef/cookbooks/pivotal_ci/Gemfile +3 -0
- data/chef/cookbooks/pivotal_ci/README.md +3 -0
- data/chef/cookbooks/pivotal_ci/attributes/git.rb +4 -0
- data/chef/cookbooks/pivotal_ci/attributes/jenkins.rb +3 -0
- data/chef/cookbooks/pivotal_ci/attributes/nginx.rb +1 -0
- data/chef/cookbooks/pivotal_ci/attributes/ssl.rb +5 -0
- data/chef/cookbooks/pivotal_ci/files/default/jenkins-ci.org.key +112 -0
- data/chef/cookbooks/pivotal_ci/files/default/tests/minitest/default_test.rb +75 -0
- data/chef/cookbooks/pivotal_ci/metadata.rb +32 -0
- data/chef/cookbooks/pivotal_ci/recipes/default.rb +6 -0
- data/chef/cookbooks/pivotal_ci/recipes/fonts.rb +5 -0
- data/chef/cookbooks/pivotal_ci/recipes/git_config.rb +17 -0
- data/chef/cookbooks/pivotal_ci/recipes/id_rsa.rb +32 -0
- data/chef/cookbooks/pivotal_ci/recipes/jenkins.rb +26 -0
- data/chef/cookbooks/pivotal_ci/recipes/jenkins_config.rb +48 -0
- data/chef/cookbooks/pivotal_ci/recipes/limited_travis_ci_environment.rb +39 -0
- data/chef/cookbooks/pivotal_ci/recipes/nginx.rb +19 -0
- data/chef/cookbooks/pivotal_ci/recipes/ssl_certificate.rb +44 -0
- data/chef/cookbooks/pivotal_ci/recipes/teamcity.rb +42 -0
- data/chef/cookbooks/pivotal_ci/templates/default/jenkins-job-config.xml.erb +79 -0
- data/chef/cookbooks/pivotal_ci/templates/default/nginx-conf.erb +58 -0
- data/chef/cookbooks/pivotal_ci/templates/default/nginx-htaccess.erb +3 -0
- data/chef/cookbooks/pivotal_ci/templates/default/org.jenkinsci.plugins.xvfb.XvfbBuildWrapper.xml.erb +11 -0
- data/chef/cookbooks/pivotal_ci/templates/default/teamcity-initd.erb +44 -0
- data/chef/cookbooks/pivotal_ci/test/kitchen/Kitchenfile +4 -0
- data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/attributes/default.rb +2 -0
- data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/metadata.rb +10 -0
- 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 -0
- data/chef/travis-cookbooks/.gitignore +7 -0
- data/chef/travis-cookbooks/LICENSE +23 -0
- data/chef/travis-cookbooks/README.md +28 -0
- data/chef/travis-cookbooks/ci_environment/.gitignore +1 -0
- data/chef/travis-cookbooks/ci_environment/ant/README.md +51 -0
- data/chef/travis-cookbooks/ci_environment/ant/metadata.rb +14 -0
- data/chef/travis-cookbooks/ci_environment/ant/recipes/default.rb +41 -0
- data/chef/travis-cookbooks/ci_environment/apt/README.md +109 -0
- data/chef/travis-cookbooks/ci_environment/apt/attributes/default.rb +1 -0
- data/chef/travis-cookbooks/ci_environment/apt/files/default/apt-cacher +9 -0
- data/chef/travis-cookbooks/ci_environment/apt/files/default/apt-cacher.conf +144 -0
- data/chef/travis-cookbooks/ci_environment/apt/files/default/apt-proxy-v2.conf +50 -0
- data/chef/travis-cookbooks/ci_environment/apt/metadata.json +34 -0
- data/chef/travis-cookbooks/ci_environment/apt/metadata.rb +13 -0
- data/chef/travis-cookbooks/ci_environment/apt/providers/repository.rb +73 -0
- data/chef/travis-cookbooks/ci_environment/apt/recipes/cacher-client.rb +37 -0
- data/chef/travis-cookbooks/ci_environment/apt/recipes/cacher.rb +45 -0
- data/chef/travis-cookbooks/ci_environment/apt/recipes/default.rb +55 -0
- data/chef/travis-cookbooks/ci_environment/apt/resources/repository.rb +31 -0
- data/chef/travis-cookbooks/ci_environment/apt/templates/ubuntu-10.04/sources.list.erb +31 -0
- data/chef/travis-cookbooks/ci_environment/apt/templates/ubuntu-11.04/sources.list.erb +31 -0
- data/chef/travis-cookbooks/ci_environment/apt/templates/ubuntu-11.10/sources.list.erb +31 -0
- data/chef/travis-cookbooks/ci_environment/apt/templates/ubuntu-12.04/sources.list.erb +54 -0
- data/chef/travis-cookbooks/ci_environment/bazaar/recipes/default.rb +26 -0
- data/chef/travis-cookbooks/ci_environment/bison/attributes/default.rb +7 -0
- data/chef/travis-cookbooks/ci_environment/bison/recipes/default.rb +48 -0
- data/chef/travis-cookbooks/ci_environment/build-essential/README.md +24 -0
- data/chef/travis-cookbooks/ci_environment/build-essential/metadata.rb +10 -0
- data/chef/travis-cookbooks/ci_environment/build-essential/recipes/default.rb +47 -0
- data/chef/travis-cookbooks/ci_environment/cassandra/attributes/default.rb +28 -0
- data/chef/travis-cookbooks/ci_environment/cassandra/recipes/datastax.rb +43 -0
- data/chef/travis-cookbooks/ci_environment/cassandra/recipes/package.rb +43 -0
- data/chef/travis-cookbooks/ci_environment/cassandra/recipes/tarball.rb +158 -0
- data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra-cli.erb +60 -0
- data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra-env.sh.erb +159 -0
- data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra-limits.conf.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra.init.erb +158 -0
- data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra.yaml.erb +567 -0
- data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/log4j-server.properties.yml +43 -0
- data/chef/travis-cookbooks/ci_environment/chromium/recipes/default.rb +26 -0
- data/chef/travis-cookbooks/ci_environment/clang/attributes/tarball.rb +6 -0
- data/chef/travis-cookbooks/ci_environment/clang/metadata.rb +11 -0
- data/chef/travis-cookbooks/ci_environment/clang/recipes/default.rb +26 -0
- data/chef/travis-cookbooks/ci_environment/clang/recipes/tarball.rb +73 -0
- data/chef/travis-cookbooks/ci_environment/cmake/README.md +21 -0
- data/chef/travis-cookbooks/ci_environment/cmake/metadata.rb +10 -0
- data/chef/travis-cookbooks/ci_environment/cmake/recipes/default.rb +23 -0
- data/chef/travis-cookbooks/ci_environment/composer/recipes/default.rb +21 -0
- data/chef/travis-cookbooks/ci_environment/composer/templates/default/composer.erb +3 -0
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/default.rb +33 -0
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ppa.rb +37 -0
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu-12.04.rb +39 -0
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1110_ppa.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1204_ppa.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/doxygen/recipes/default.rb +24 -0
- data/chef/travis-cookbooks/ci_environment/elasticsearch/attributes/default.rb +6 -0
- data/chef/travis-cookbooks/ci_environment/elasticsearch/recipes/default.rb +67 -0
- data/chef/travis-cookbooks/ci_environment/emacs/metadata.rb +11 -0
- data/chef/travis-cookbooks/ci_environment/emacs/recipes/default.rb +21 -0
- data/chef/travis-cookbooks/ci_environment/emacs/recipes/nox.rb +32 -0
- data/chef/travis-cookbooks/ci_environment/erlang/attributes/default.rb +1 -0
- data/chef/travis-cookbooks/ci_environment/erlang/metadata.rb +11 -0
- data/chef/travis-cookbooks/ci_environment/erlang/recipes/default.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/firefox/recipes/default.rb +29 -0
- data/chef/travis-cookbooks/ci_environment/git/README.rdoc +37 -0
- data/chef/travis-cookbooks/ci_environment/git/files/default/git_1.7.5.4-1+github5_amd64.deb +0 -0
- data/chef/travis-cookbooks/ci_environment/git/files/default/git_1.7.5.4-1+github5_i386.deb +0 -0
- data/chef/travis-cookbooks/ci_environment/git/metadata.rb +15 -0
- data/chef/travis-cookbooks/ci_environment/git/recipes/custom.git +65 -0
- data/chef/travis-cookbooks/ci_environment/git/recipes/default.rb +23 -0
- data/chef/travis-cookbooks/ci_environment/git/recipes/ppa.rb +37 -0
- data/chef/travis-cookbooks/ci_environment/git/templates/default/sv-git-daemon-log-run.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/git/templates/default/sv-git-daemon-run.erb +3 -0
- data/chef/travis-cookbooks/ci_environment/golang/README.md +35 -0
- data/chef/travis-cookbooks/ci_environment/golang/attributes/default.rb +11 -0
- data/chef/travis-cookbooks/ci_environment/golang/recipes/default.rb +20 -0
- data/chef/travis-cookbooks/ci_environment/golang/recipes/multi.rb +55 -0
- data/chef/travis-cookbooks/ci_environment/golang/recipes/ppa.rb +32 -0
- data/chef/travis-cookbooks/ci_environment/gradle/README.md +33 -0
- data/chef/travis-cookbooks/ci_environment/gradle/attributes/tarball.rb +9 -0
- data/chef/travis-cookbooks/ci_environment/gradle/files/default/etc/profile.d/gradle.sh +1 -0
- data/chef/travis-cookbooks/ci_environment/gradle/recipes/tarball.rb +65 -0
- data/chef/travis-cookbooks/ci_environment/gvm/files/ubuntu/gvm.sh +3 -0
- data/chef/travis-cookbooks/ci_environment/gvm/recipes/default.rb +44 -0
- data/chef/travis-cookbooks/ci_environment/haskell/attributes/ghc.rb +4 -0
- data/chef/travis-cookbooks/ci_environment/haskell/attributes/platform.rb +5 -0
- data/chef/travis-cookbooks/ci_environment/haskell/files/default/cabal.sh +3 -0
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/default.rb +38 -0
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_package.rb +28 -0
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_source.rb +78 -0
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_package.rb +52 -0
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_ppa.rb +68 -0
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_source.rb +67 -0
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/source.rb +25 -0
- data/chef/travis-cookbooks/ci_environment/hbase/recipes/cdh4.rb +49 -0
- data/chef/travis-cookbooks/ci_environment/htop/recipes/default.rb +4 -0
- data/chef/travis-cookbooks/ci_environment/imagemagick/README.rdoc +33 -0
- data/chef/travis-cookbooks/ci_environment/imagemagick/metadata.rb +12 -0
- data/chef/travis-cookbooks/ci_environment/imagemagick/recipes/default.rb +37 -0
- data/chef/travis-cookbooks/ci_environment/iptables/files/default/iptables_rules +13 -0
- data/chef/travis-cookbooks/ci_environment/iptables/metadata.rb +10 -0
- data/chef/travis-cookbooks/ci_environment/iptables/recipes/default.rb +48 -0
- data/chef/travis-cookbooks/ci_environment/iptables/templates/default/iptables_load.erb +3 -0
- data/chef/travis-cookbooks/ci_environment/java/README.md +102 -0
- data/chef/travis-cookbooks/ci_environment/java/attributes/default.rb +43 -0
- data/chef/travis-cookbooks/ci_environment/java/files/ubuntu/java.seed +14 -0
- data/chef/travis-cookbooks/ci_environment/java/files/ubuntu/load_jdk_switcher.sh +7 -0
- data/chef/travis-cookbooks/ci_environment/java/files/ubuntu/oraclejdk7.jinfo +44 -0
- data/chef/travis-cookbooks/ci_environment/java/files/ubuntu/oraclejdk8.jinfo +44 -0
- data/chef/travis-cookbooks/ci_environment/java/files/ubuntu/startssl_root_ca_installer.sh +48 -0
- data/chef/travis-cookbooks/ci_environment/java/metadata.rb +16 -0
- data/chef/travis-cookbooks/ci_environment/java/recipes/default.rb +30 -0
- data/chef/travis-cookbooks/ci_environment/java/recipes/multi.rb +30 -0
- data/chef/travis-cookbooks/ci_environment/java/recipes/openjdk6.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/java/recipes/openjdk7.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/java/recipes/oraclejdk7.rb +83 -0
- data/chef/travis-cookbooks/ci_environment/java/recipes/oraclejdk8.rb +71 -0
- data/chef/travis-cookbooks/ci_environment/java/templates/ubuntu/etc/profile.d/java_home.sh.erb +3 -0
- data/chef/travis-cookbooks/ci_environment/jpackage/CHANGELOG.md +7 -0
- data/chef/travis-cookbooks/ci_environment/jpackage/CONTRIBUTING +29 -0
- data/chef/travis-cookbooks/ci_environment/jpackage/LICENSE +201 -0
- data/chef/travis-cookbooks/ci_environment/jpackage/README.md +52 -0
- data/chef/travis-cookbooks/ci_environment/jpackage/attributes/default.rb +20 -0
- data/chef/travis-cookbooks/ci_environment/jpackage/metadata.rb +14 -0
- data/chef/travis-cookbooks/ci_environment/jpackage/recipes/default.rb +58 -0
- data/chef/travis-cookbooks/ci_environment/jpackage/templates/default/jpackage.repo.erb +49 -0
- data/chef/travis-cookbooks/ci_environment/jpackage/templates/fedora/jpackage.repo.erb +49 -0
- data/chef/travis-cookbooks/ci_environment/kerl/README.md +3 -0
- data/chef/travis-cookbooks/ci_environment/kerl/attributes/default.rb +1 -0
- data/chef/travis-cookbooks/ci_environment/kerl/attributes/source.rb +2 -0
- data/chef/travis-cookbooks/ci_environment/kerl/files/default/erlang.cookie +1 -0
- data/chef/travis-cookbooks/ci_environment/kerl/metadata.rb +6 -0
- data/chef/travis-cookbooks/ci_environment/kerl/recipes/default.rb +19 -0
- data/chef/travis-cookbooks/ci_environment/kerl/recipes/source.rb +104 -0
- data/chef/travis-cookbooks/ci_environment/kestrel/attributes/tarball.rb +15 -0
- data/chef/travis-cookbooks/ci_environment/kestrel/files/default/config/development.scala +33 -0
- data/chef/travis-cookbooks/ci_environment/kestrel/recipes/tarball.rb +134 -0
- data/chef/travis-cookbooks/ci_environment/kestrel/templates/ubuntu/kestrel-limits.conf.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/kestrel/templates/ubuntu/kestrel.init.erb +208 -0
- data/chef/travis-cookbooks/ci_environment/leiningen/README.rdoc +5 -0
- data/chef/travis-cookbooks/ci_environment/leiningen/attributes/default.rb +5 -0
- data/chef/travis-cookbooks/ci_environment/leiningen/files/default/profiles.clj +1 -0
- data/chef/travis-cookbooks/ci_environment/leiningen/metadata.json +32 -0
- data/chef/travis-cookbooks/ci_environment/leiningen/metadata.rb +8 -0
- data/chef/travis-cookbooks/ci_environment/leiningen/recipes/default.rb +23 -0
- data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein1x.rb +68 -0
- data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein2x.rb +82 -0
- data/chef/travis-cookbooks/ci_environment/libffi/recipes/default.rb +34 -0
- data/chef/travis-cookbooks/ci_environment/libgdbm/recipes/default.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/libncurses/recipes/default.rb +31 -0
- data/chef/travis-cookbooks/ci_environment/libossp-uuid/recipes/default.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/libqt4/recipes/default.rb +5 -0
- data/chef/travis-cookbooks/ci_environment/libreadline/recipes/default.rb +34 -0
- data/chef/travis-cookbooks/ci_environment/libssl/recipes/098.rb +28 -0
- data/chef/travis-cookbooks/ci_environment/libssl/recipes/default.rb +24 -0
- data/chef/travis-cookbooks/ci_environment/libxml/recipes/default.rb +30 -0
- data/chef/travis-cookbooks/ci_environment/libyaml/recipes/default.rb +6 -0
- data/chef/travis-cookbooks/ci_environment/lighttpd/attributes/default.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/lighttpd/recipes/default.rb +39 -0
- data/chef/travis-cookbooks/ci_environment/lighttpd/templates/default/lighttpd.conf.erb +166 -0
- data/chef/travis-cookbooks/ci_environment/maven3/attributes/default.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/maven3/files/default/settings.xml +136 -0
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/default.rb +56 -0
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/package.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/ppa.rb +44 -0
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/tarball.rb +37 -0
- data/chef/travis-cookbooks/ci_environment/maven3/templates/ubuntu-11.04/install_maven3.sh.erb +32 -0
- data/chef/travis-cookbooks/ci_environment/memcached/README.rdoc +52 -0
- data/chef/travis-cookbooks/ci_environment/memcached/attributes/default.rb +5 -0
- data/chef/travis-cookbooks/ci_environment/memcached/attributes/ppa.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/memcached/definitions/memcached_instance.rb +32 -0
- data/chef/travis-cookbooks/ci_environment/memcached/metadata.rb +33 -0
- data/chef/travis-cookbooks/ci_environment/memcached/recipes/default.rb +60 -0
- data/chef/travis-cookbooks/ci_environment/memcached/recipes/ppa.rb +34 -0
- data/chef/travis-cookbooks/ci_environment/memcached/templates/default/memcached.conf.erb +54 -0
- data/chef/travis-cookbooks/ci_environment/memcached/templates/default/memcached.default.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/memcached/templates/default/sv-memcached-log-run.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/memcached/templates/default/sv-memcached-run.erb +3 -0
- data/chef/travis-cookbooks/ci_environment/mercurial/recipes/default.rb +26 -0
- data/chef/travis-cookbooks/ci_environment/mercurial/recipes/ppa.rb +36 -0
- data/chef/travis-cookbooks/ci_environment/mingw32/README.md +21 -0
- data/chef/travis-cookbooks/ci_environment/mingw32/metadata.rb +10 -0
- data/chef/travis-cookbooks/ci_environment/mingw32/recipes/default.rb +23 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/.gitignore +1 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/README.md +0 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/attributes/mongodb.rb +67 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/files/default/mongodb.list +1 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/files/default/mongodb.sysvinit.sh +261 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/metadata.rb +235 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/recipes/apt.rb +65 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/recipes/default.rb +23 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/recipes/server.rb +44 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/templates/default/mongod.upstart.erb +16 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/templates/default/mongodb.conf.erb +5 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/templates/default/mongodb.init.10gen.erb +74 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/templates/default/mongodb.init.erb +268 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/templates/default/mongodb.list.erb +1 -0
- data/chef/travis-cookbooks/ci_environment/mysql/README.md +141 -0
- data/chef/travis-cookbooks/ci_environment/mysql/attributes/default.rb +1 -0
- data/chef/travis-cookbooks/ci_environment/mysql/attributes/server.rb +69 -0
- data/chef/travis-cookbooks/ci_environment/mysql/attributes/server_on_ramfs.rb +1 -0
- data/chef/travis-cookbooks/ci_environment/mysql/libraries/database.rb +19 -0
- data/chef/travis-cookbooks/ci_environment/mysql/libraries/helpers.rb +33 -0
- data/chef/travis-cookbooks/ci_environment/mysql/metadata.rb +77 -0
- data/chef/travis-cookbooks/ci_environment/mysql/providers/database.rb +81 -0
- data/chef/travis-cookbooks/ci_environment/mysql/recipes/client.rb +60 -0
- data/chef/travis-cookbooks/ci_environment/mysql/recipes/default.rb +20 -0
- data/chef/travis-cookbooks/ci_environment/mysql/recipes/server.rb +125 -0
- data/chef/travis-cookbooks/ci_environment/mysql/recipes/server_on_ramfs.rb +88 -0
- data/chef/travis-cookbooks/ci_environment/mysql/resources/database.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/mysql/templates/default/debian.cnf.erb +12 -0
- data/chef/travis-cookbooks/ci_environment/mysql/templates/default/grants.sql.erb +33 -0
- data/chef/travis-cookbooks/ci_environment/mysql/templates/default/init/mysql.conf.erb +49 -0
- data/chef/travis-cookbooks/ci_environment/mysql/templates/default/my.cnf.erb +182 -0
- data/chef/travis-cookbooks/ci_environment/mysql/templates/default/mysql-server.seed.erb +10 -0
- data/chef/travis-cookbooks/ci_environment/mysql/templates/default/port_mysql.erb +3 -0
- data/chef/travis-cookbooks/ci_environment/mysql/templates/default/ramfs/my.cnf.erb +175 -0
- data/chef/travis-cookbooks/ci_environment/neo4j-server/.gitignore +4 -0
- data/chef/travis-cookbooks/ci_environment/neo4j-server/README.md +47 -0
- data/chef/travis-cookbooks/ci_environment/neo4j-server/attributes/tarball.rb +43 -0
- data/chef/travis-cookbooks/ci_environment/neo4j-server/recipes/tarball.rb +164 -0
- data/chef/travis-cookbooks/ci_environment/neo4j-server/templates/default/neo4j-limits.conf.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/neo4j-server/templates/default/neo4j-server.properties.erb +75 -0
- data/chef/travis-cookbooks/ci_environment/neo4j-server/templates/default/neo4j-wrapper.conf.erb +26 -0
- data/chef/travis-cookbooks/ci_environment/neo4j-server/templates/default/neo4j.init.erb +55 -0
- data/chef/travis-cookbooks/ci_environment/networking_basic/recipes/default.rb +39 -0
- data/chef/travis-cookbooks/ci_environment/nodejs/attributes/multi.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/nodejs/files/default/nvm.sh +281 -0
- data/chef/travis-cookbooks/ci_environment/nodejs/files/default/profile_entry.sh +3 -0
- data/chef/travis-cookbooks/ci_environment/nodejs/recipes/multi.rb +79 -0
- data/chef/travis-cookbooks/ci_environment/nodejs/templates/default/nvm.sh.erb +3 -0
- data/chef/travis-cookbooks/ci_environment/openssh/files/default/ssh_init.sh +181 -0
- data/chef/travis-cookbooks/ci_environment/openssh/files/default/sshd_config +54 -0
- data/chef/travis-cookbooks/ci_environment/openssh/recipes/default.rb +42 -0
- data/chef/travis-cookbooks/ci_environment/openssl/README.md +37 -0
- data/chef/travis-cookbooks/ci_environment/openssl/libraries/secure_password.rb +37 -0
- data/chef/travis-cookbooks/ci_environment/openssl/metadata.rb +8 -0
- data/chef/travis-cookbooks/ci_environment/openssl/recipes/default.rb +19 -0
- data/chef/travis-cookbooks/ci_environment/perlbrew/attributes/default.rb +0 -0
- data/chef/travis-cookbooks/ci_environment/perlbrew/attributes/multi.rb +8 -0
- data/chef/travis-cookbooks/ci_environment/perlbrew/files/default/perlbrew.sh +7 -0
- data/chef/travis-cookbooks/ci_environment/perlbrew/metadata.rb +11 -0
- data/chef/travis-cookbooks/ci_environment/perlbrew/recipes/default.rb +26 -0
- data/chef/travis-cookbooks/ci_environment/perlbrew/recipes/multi.rb +41 -0
- data/chef/travis-cookbooks/ci_environment/phantomjs/attributes/default.rb +10 -0
- data/chef/travis-cookbooks/ci_environment/phantomjs/files/ubuntu/etc/profile.d/phantomjs.sh +1 -0
- data/chef/travis-cookbooks/ci_environment/phantomjs/metadata.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/default.rb +26 -0
- data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/tarball.rb +69 -0
- data/chef/travis-cookbooks/ci_environment/php/README.md +5 -0
- data/chef/travis-cookbooks/ci_environment/php/attributes/default.rb +47 -0
- data/chef/travis-cookbooks/ci_environment/php/metadata.rb +10 -0
- data/chef/travis-cookbooks/ci_environment/php/providers/pecl.rb +87 -0
- data/chef/travis-cookbooks/ci_environment/php/recipes/extensions.rb +26 -0
- data/chef/travis-cookbooks/ci_environment/php/recipes/multi.rb +26 -0
- data/chef/travis-cookbooks/ci_environment/php/resources/pecl.rb +11 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/attributes/default.rb +19 -0
- 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 +18 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.3.3 +6 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.5.0beta1 +5 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/metadata.rb +5 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/providers/build.rb +56 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/recipes/default.rb +122 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/resources/build.rb +7 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/templates/default/default_configure_options.erb +42 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/templates/default/travis.ini.erb +9 -0
- data/chef/travis-cookbooks/ci_environment/phpenv/attributes/default.rb +6 -0
- data/chef/travis-cookbooks/ci_environment/phpenv/files/default/phpenv.sh +5 -0
- data/chef/travis-cookbooks/ci_environment/phpenv/metadata.rb +5 -0
- data/chef/travis-cookbooks/ci_environment/phpenv/recipes/default.rb +33 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/README.rdoc +49 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/attributes/default.rb +74 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/metadata.rb +15 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/recipes/client.rb +28 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/recipes/default.rb +20 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server.rb +83 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server_debian.rb +73 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server_on_ramfs.rb +32 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server_redhat.rb +84 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/30-shared-memory.conf.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/debian.pg_hba.conf.erb +83 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/debian.postgresql.conf.erb +234 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/ramfs.init.erb +50 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/redhat.pg_hba.conf.erb +74 -0
- data/chef/travis-cookbooks/ci_environment/postgresql/templates/default/redhat.postgresql.conf.erb +502 -0
- data/chef/travis-cookbooks/ci_environment/pypy/attributes/default.rb +21 -0
- data/chef/travis-cookbooks/ci_environment/pypy/files/default/etc/profile.d/pypy.sh +1 -0
- data/chef/travis-cookbooks/ci_environment/pypy/recipes/ppa.rb +39 -0
- data/chef/travis-cookbooks/ci_environment/pypy/recipes/tarball.rb +54 -0
- data/chef/travis-cookbooks/ci_environment/python/README.md +162 -0
- data/chef/travis-cookbooks/ci_environment/python/attributes/default.rb +22 -0
- data/chef/travis-cookbooks/ci_environment/python/files/default/virtualenv_settings.sh +1 -0
- data/chef/travis-cookbooks/ci_environment/python/metadata.json +52 -0
- data/chef/travis-cookbooks/ci_environment/python/metadata.rb +17 -0
- data/chef/travis-cookbooks/ci_environment/python/providers/pip.rb +146 -0
- data/chef/travis-cookbooks/ci_environment/python/providers/virtualenv.rb +79 -0
- data/chef/travis-cookbooks/ci_environment/python/recipes/default.rb +21 -0
- data/chef/travis-cookbooks/ci_environment/python/recipes/devshm.rb +10 -0
- data/chef/travis-cookbooks/ci_environment/python/recipes/multi.rb +188 -0
- data/chef/travis-cookbooks/ci_environment/python/recipes/package.rb +36 -0
- data/chef/travis-cookbooks/ci_environment/python/recipes/pip.rb +38 -0
- data/chef/travis-cookbooks/ci_environment/python/recipes/virtualenv.rb +32 -0
- data/chef/travis-cookbooks/ci_environment/python/resources/pip.rb +26 -0
- data/chef/travis-cookbooks/ci_environment/python/resources/virtualenv.rb +28 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/README.md +86 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/attributes/default.rb +11 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/metadata.rb +63 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/providers/user.rb +66 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/providers/vhost.rb +34 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/recipes/default.rb +67 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/recipes/with_management_plugin.rb +13 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/resources/user.rb +25 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/resources/vhost.rb +22 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/templates/default/doterlang.cookie.erb +1 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/templates/default/rabbitmq-env.conf.erb +10 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/templates/default/rabbitmq.config.erb +5 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/templates/default/rabbitmq_cluster.config.erb +5 -0
- data/chef/travis-cookbooks/ci_environment/ragel/recipes/custom.rb +56 -0
- data/chef/travis-cookbooks/ci_environment/ragel/recipes/default.rb +28 -0
- data/chef/travis-cookbooks/ci_environment/ramfs/attributes/default.rb +1 -0
- data/chef/travis-cookbooks/ci_environment/ramfs/recipes/default.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/rebar/README.md +3 -0
- data/chef/travis-cookbooks/ci_environment/rebar/attributes/default.rb +2 -0
- data/chef/travis-cookbooks/ci_environment/rebar/metadata.rb +7 -0
- data/chef/travis-cookbooks/ci_environment/rebar/recipes/default.rb +26 -0
- data/chef/travis-cookbooks/ci_environment/redis/attributes/default.rb +10 -0
- data/chef/travis-cookbooks/ci_environment/redis/recipes/default.rb +68 -0
- data/chef/travis-cookbooks/ci_environment/redis/recipes/ppa.rb +42 -0
- data/chef/travis-cookbooks/ci_environment/riak/.gitignore +1 -0
- data/chef/travis-cookbooks/ci_environment/riak/README.md +161 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/api.rb +21 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/bitcask.rb +22 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/control.rb +23 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/core.rb +41 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/default.rb +33 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/dets.rb +20 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/eleveldb.rb +6 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/erlang.rb +30 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/err.rb +21 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/innostore.rb +28 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/kernel.rb +22 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/kv.rb +62 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/lager.rb +31 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/merge.rb +22 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/netdev.rb +22 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/package.rb +30 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/sasl.rb +25 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/search.rb +19 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/service.rb +20 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/sysmon.rb +25 -0
- data/chef/travis-cookbooks/ci_environment/riak/libraries/riak_template_helper.rb +180 -0
- data/chef/travis-cookbooks/ci_environment/riak/metadata.rb +32 -0
- data/chef/travis-cookbooks/ci_environment/riak/providers/cluster.rb +80 -0
- data/chef/travis-cookbooks/ci_environment/riak/recipes/autoconf.rb +47 -0
- data/chef/travis-cookbooks/ci_environment/riak/recipes/config.rb +70 -0
- data/chef/travis-cookbooks/ci_environment/riak/recipes/default.rb +160 -0
- data/chef/travis-cookbooks/ci_environment/riak/recipes/innostore.rb +74 -0
- data/chef/travis-cookbooks/ci_environment/riak/recipes/iptables.rb +25 -0
- data/chef/travis-cookbooks/ci_environment/riak/resources/cluster.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/riak/templates/default/app.config.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/riak/templates/default/iptables.erb +13 -0
- data/chef/travis-cookbooks/ci_environment/riak/templates/default/vm.args.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/runit/CHANGELOG.md +3 -0
- data/chef/travis-cookbooks/ci_environment/runit/CONTRIBUTING +29 -0
- data/chef/travis-cookbooks/ci_environment/runit/LICENSE +201 -0
- data/chef/travis-cookbooks/ci_environment/runit/README.md +226 -0
- data/chef/travis-cookbooks/ci_environment/runit/attributes/default.rb +31 -0
- data/chef/travis-cookbooks/ci_environment/runit/definitions/runit_service.rb +164 -0
- data/chef/travis-cookbooks/ci_environment/runit/files/default/runit.seed +1 -0
- data/chef/travis-cookbooks/ci_environment/runit/files/default/runsvdir +0 -0
- data/chef/travis-cookbooks/ci_environment/runit/files/ubuntu-6.10/runsvdir +6 -0
- data/chef/travis-cookbooks/ci_environment/runit/files/ubuntu-7.04/runsvdir +7 -0
- data/chef/travis-cookbooks/ci_environment/runit/files/ubuntu-7.10/runsvdir +7 -0
- data/chef/travis-cookbooks/ci_environment/runit/files/ubuntu-8.04/runsvdir +7 -0
- data/chef/travis-cookbooks/ci_environment/runit/metadata.json +102 -0
- data/chef/travis-cookbooks/ci_environment/runit/metadata.rb +37 -0
- data/chef/travis-cookbooks/ci_environment/runit/recipes/default.rb +72 -0
- data/chef/travis-cookbooks/ci_environment/runit/templates/gentoo/runit-start.sh.erb +32 -0
- data/chef/travis-cookbooks/ci_environment/rvm/attributes/default.rb +1 -0
- data/chef/travis-cookbooks/ci_environment/rvm/attributes/multi.rb +6 -0
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/default.gems +1 -0
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/global.gems +2 -0
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/jruby/global.gems +4 -0
- 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/files/default/rvm.sh +3 -0
- data/chef/travis-cookbooks/ci_environment/rvm/metadata.json +43 -0
- data/chef/travis-cookbooks/ci_environment/rvm/metadata.rb +25 -0
- data/chef/travis-cookbooks/ci_environment/rvm/recipes/default.rb +98 -0
- data/chef/travis-cookbooks/ci_environment/rvm/recipes/multi.rb +88 -0
- data/chef/travis-cookbooks/ci_environment/rvm/templates/default/bundler_config.yml.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/rvm/templates/default/dot_rvmrc.sh.erb +3 -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 +79 -0
- data/chef/travis-cookbooks/ci_environment/sbt/attributes/default.rb +36 -0
- data/chef/travis-cookbooks/ci_environment/sbt/metadata.json +42 -0
- data/chef/travis-cookbooks/ci_environment/sbt/metadata.rb +15 -0
- data/chef/travis-cookbooks/ci_environment/sbt/recipes/default.rb +119 -0
- 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/scons/recipes/default.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/sphinx/README.md +0 -0
- data/chef/travis-cookbooks/ci_environment/sphinx/attributes/default.rb +8 -0
- data/chef/travis-cookbooks/ci_environment/sphinx/metadata.rb +17 -0
- data/chef/travis-cookbooks/ci_environment/sphinx/recipes/all.rb +64 -0
- data/chef/travis-cookbooks/ci_environment/sphinx/recipes/default.rb +24 -0
- data/chef/travis-cookbooks/ci_environment/sqlite/metadata.rb +11 -0
- data/chef/travis-cookbooks/ci_environment/sqlite/recipes/default.rb +30 -0
- data/chef/travis-cookbooks/ci_environment/sqlite/recipes/ppa.rb +34 -0
- data/chef/travis-cookbooks/ci_environment/subversion/recipes/default.rb +24 -0
- data/chef/travis-cookbooks/ci_environment/sweeper/recipes/default.rb +45 -0
- data/chef/travis-cookbooks/ci_environment/sysctl/attributes/default.rb +5 -0
- data/chef/travis-cookbooks/ci_environment/sysctl/recipes/default.rb +6 -0
- data/chef/travis-cookbooks/ci_environment/sysctl/templates/default/sysctl.conf.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/timezone/attributes/default.rb +1 -0
- data/chef/travis-cookbooks/ci_environment/timezone/metadata.json +35 -0
- data/chef/travis-cookbooks/ci_environment/timezone/metadata.rb +9 -0
- data/chef/travis-cookbooks/ci_environment/timezone/recipes/._default.rb +0 -0
- data/chef/travis-cookbooks/ci_environment/timezone/recipes/default.rb +38 -0
- data/chef/travis-cookbooks/ci_environment/timezone/templates/default/timezone.conf.erb +1 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/attributes/default.rb +20 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/ci_user/dot_erlang_dot_cookie +1 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/ci_user/dot_gemrc.yml +1 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/ci_user/known_hosts +1 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/ci_user/travis_environment.sh +30 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/etc/default/locale.sh +1 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/etc/sudoers/env_keep +1 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/root/recover_eth0.sh +8 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/ci_user.rb +113 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/default.rb +134 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/root.rb +44 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/ci_user/ci_environment_metadata.yml.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/ci_user/dot_bashrc.sh.erb +111 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/apt/assumeyes.erb +1 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/apt/timeouts.erb +3 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/environment.sh.erb +11 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/hostname.erb +12 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/hosts.erb +30 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/etc/security/limits.conf.erb +62 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/root/dot_bashrc.sh.erb +88 -0
- data/chef/travis-cookbooks/ci_environment/unarchivers/recipes/default.rb +29 -0
- data/chef/travis-cookbooks/ci_environment/util-linux/recipes/default.rb +5 -0
- data/chef/travis-cookbooks/ci_environment/vim/README.md +39 -0
- data/chef/travis-cookbooks/ci_environment/vim/attributes/default.rb +20 -0
- data/chef/travis-cookbooks/ci_environment/vim/metadata.rb +6 -0
- data/chef/travis-cookbooks/ci_environment/vim/recipes/default.rb +24 -0
- data/chef/travis-cookbooks/ci_environment/xserver/files/default/etc/init.d/xvfb.sh +24 -0
- data/chef/travis-cookbooks/ci_environment/xserver/metadata.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/xserver/recipes/default.rb +37 -0
- data/chef/travis-cookbooks/ci_environment/zeromq/recipes/default.rb +27 -0
- data/chef/travis-cookbooks/ci_environment/zeromq/recipes/ppa.rb +33 -0
- data/chef/travis-cookbooks/ci_environment/zookeeper/recipes/cdh4.rb +51 -0
- data/chef/travis-cookbooks/worker_host/.gitignore +1 -0
- data/chef/travis-cookbooks/worker_host/ant/README.md +51 -0
- data/chef/travis-cookbooks/worker_host/ant/metadata.rb +12 -0
- data/chef/travis-cookbooks/worker_host/ant/recipes/default.rb +36 -0
- data/chef/travis-cookbooks/worker_host/apt/README.md +109 -0
- data/chef/travis-cookbooks/worker_host/apt/files/default/apt-cacher +9 -0
- data/chef/travis-cookbooks/worker_host/apt/files/default/apt-cacher.conf +144 -0
- data/chef/travis-cookbooks/worker_host/apt/files/default/apt-proxy-v2.conf +50 -0
- data/chef/travis-cookbooks/worker_host/apt/metadata.json +34 -0
- data/chef/travis-cookbooks/worker_host/apt/metadata.rb +13 -0
- data/chef/travis-cookbooks/worker_host/apt/providers/repository.rb +72 -0
- data/chef/travis-cookbooks/worker_host/apt/recipes/cacher-client.rb +37 -0
- data/chef/travis-cookbooks/worker_host/apt/recipes/cacher.rb +45 -0
- data/chef/travis-cookbooks/worker_host/apt/recipes/default.rb +33 -0
- data/chef/travis-cookbooks/worker_host/apt/resources/repository.rb +30 -0
- data/chef/travis-cookbooks/worker_host/build-essential/README.md +24 -0
- data/chef/travis-cookbooks/worker_host/build-essential/metadata.rb +10 -0
- data/chef/travis-cookbooks/worker_host/build-essential/recipes/default.rb +45 -0
- data/chef/travis-cookbooks/worker_host/chef-client/CHANGELOG.md +29 -0
- data/chef/travis-cookbooks/worker_host/chef-client/CONTRIBUTING +29 -0
- data/chef/travis-cookbooks/worker_host/chef-client/LICENSE +201 -0
- data/chef/travis-cookbooks/worker_host/chef-client/README.md +265 -0
- data/chef/travis-cookbooks/worker_host/chef-client/attributes/default.rb +70 -0
- data/chef/travis-cookbooks/worker_host/chef-client/metadata.json +44 -0
- data/chef/travis-cookbooks/worker_host/chef-client/metadata.rb +15 -0
- data/chef/travis-cookbooks/worker_host/chef-client/recipes/config.rb +53 -0
- data/chef/travis-cookbooks/worker_host/chef-client/recipes/cron.rb +83 -0
- data/chef/travis-cookbooks/worker_host/chef-client/recipes/default.rb +20 -0
- data/chef/travis-cookbooks/worker_host/chef-client/recipes/delete_validation.rb +26 -0
- data/chef/travis-cookbooks/worker_host/chef-client/recipes/service.rb +242 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/arch/conf.d/chef-client.conf.erb +5 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/arch/rc.d/chef-client.erb +76 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/default/chef-client.pill.erb +14 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/default/client.rb.erb +36 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/default/debian/default/chef-client.erb +4 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/default/debian/init.d/chef-client.erb +185 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/default/debian/init/chef-client.conf.erb +17 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/default/redhat/init.d/chef-client.erb +110 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/default/redhat/sysconfig/chef-client.erb +15 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/default/solaris/chef-client.erb +78 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/default/solaris/manifest.xml.erb +103 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/default/sv-chef-client-log-run.erb +2 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/default/sv-chef-client-run.erb +4 -0
- data/chef/travis-cookbooks/worker_host/chef-client/templates/windows/chef-client.xml.erb +38 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/CHANGELOG.md +12 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/CONTRIBUTING +29 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/LICENSE +201 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/README.md +103 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/attributes/default.rb +21 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/files/default/handlers/README +1 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/files/default/handlers/campfire_handler.rb +61 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/metadata.json +29 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/metadata.rb +6 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/providers/default.rb +83 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/recipes/campfire.rb +15 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/recipes/default.rb +31 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/recipes/json_file.rb +28 -0
- data/chef/travis-cookbooks/worker_host/chef_handler/resources/default.rb +34 -0
- data/chef/travis-cookbooks/worker_host/collectd-librato/.gitignore +1 -0
- data/chef/travis-cookbooks/worker_host/collectd-librato/README.md +22 -0
- data/chef/travis-cookbooks/worker_host/collectd-librato/attributes/collectd_librato.rb +4 -0
- data/chef/travis-cookbooks/worker_host/collectd-librato/metadata.rb +11 -0
- data/chef/travis-cookbooks/worker_host/collectd-librato/recipes/default.rb +41 -0
- data/chef/travis-cookbooks/worker_host/collectd/README.rdoc +85 -0
- data/chef/travis-cookbooks/worker_host/collectd/attributes/default.rb +33 -0
- data/chef/travis-cookbooks/worker_host/collectd/definitions/collectd_plugin.rb +52 -0
- data/chef/travis-cookbooks/worker_host/collectd/libraries/default.rb +47 -0
- data/chef/travis-cookbooks/worker_host/collectd/metadata.rb +15 -0
- data/chef/travis-cookbooks/worker_host/collectd/recipes/client.rb +33 -0
- data/chef/travis-cookbooks/worker_host/collectd/recipes/collectd_web.rb +49 -0
- data/chef/travis-cookbooks/worker_host/collectd/recipes/default.rb +90 -0
- data/chef/travis-cookbooks/worker_host/collectd/recipes/server.rb +24 -0
- data/chef/travis-cookbooks/worker_host/collectd/templates/default/collectd.conf.erb +23 -0
- data/chef/travis-cookbooks/worker_host/collectd/templates/default/collectd_web.conf.erb +32 -0
- data/chef/travis-cookbooks/worker_host/collectd/templates/default/collection.conf.erb +2 -0
- data/chef/travis-cookbooks/worker_host/collectd/templates/default/plugin.conf.erb +15 -0
- data/chef/travis-cookbooks/worker_host/collectd/templates/default/python_plugin.conf.erb +20 -0
- data/chef/travis-cookbooks/worker_host/collectd/templates/default/thresholds.conf.erb +37 -0
- data/chef/travis-cookbooks/worker_host/disks/attributes/default.rb +1 -0
- data/chef/travis-cookbooks/worker_host/disks/recipes/default.rb +15 -0
- data/chef/travis-cookbooks/worker_host/emacs/emacs/metadata.rb +11 -0
- data/chef/travis-cookbooks/worker_host/emacs/emacs/recipes/default.rb +21 -0
- data/chef/travis-cookbooks/worker_host/emacs/metadata.rb +11 -0
- data/chef/travis-cookbooks/worker_host/emacs/recipes/default.rb +21 -0
- data/chef/travis-cookbooks/worker_host/git/README.rdoc +37 -0
- data/chef/travis-cookbooks/worker_host/git/metadata.rb +11 -0
- data/chef/travis-cookbooks/worker_host/git/recipes/default.rb +24 -0
- data/chef/travis-cookbooks/worker_host/git/templates/default/sv-git-daemon-log-run.erb +2 -0
- data/chef/travis-cookbooks/worker_host/git/templates/default/sv-git-daemon-run.erb +3 -0
- data/chef/travis-cookbooks/worker_host/iptables/files/default/iptables_rules +13 -0
- data/chef/travis-cookbooks/worker_host/iptables/metadata.rb +10 -0
- data/chef/travis-cookbooks/worker_host/iptables/recipes/default.rb +48 -0
- data/chef/travis-cookbooks/worker_host/iptables/templates/default/iptables_load.erb +3 -0
- data/chef/travis-cookbooks/worker_host/java/README.md +102 -0
- data/chef/travis-cookbooks/worker_host/java/attributes/default.rb +29 -0
- data/chef/travis-cookbooks/worker_host/java/files/default/java.seed +11 -0
- data/chef/travis-cookbooks/worker_host/java/metadata.rb +16 -0
- data/chef/travis-cookbooks/worker_host/java/recipes/default.rb +61 -0
- data/chef/travis-cookbooks/worker_host/java/recipes/openjdk.rb +54 -0
- data/chef/travis-cookbooks/worker_host/java/recipes/sun.rb +49 -0
- data/chef/travis-cookbooks/worker_host/jruby/attributes/default.rb +5 -0
- data/chef/travis-cookbooks/worker_host/jruby/metadata.rb +8 -0
- data/chef/travis-cookbooks/worker_host/jruby/recipes/default.rb +24 -0
- data/chef/travis-cookbooks/worker_host/monit/attributes/default.rb +3 -0
- data/chef/travis-cookbooks/worker_host/monit/files/default/default.monit +1 -0
- data/chef/travis-cookbooks/worker_host/monit/recipes/default.rb +56 -0
- data/chef/travis-cookbooks/worker_host/monit/templates/default/alerts.erb +12 -0
- data/chef/travis-cookbooks/worker_host/monit/templates/default/filesystems.erb +6 -0
- data/chef/travis-cookbooks/worker_host/monit/templates/default/monitrc.erb +6 -0
- data/chef/travis-cookbooks/worker_host/monit/templates/default/system.erb +4 -0
- data/chef/travis-cookbooks/worker_host/networking_basic/README.rdoc +8 -0
- data/chef/travis-cookbooks/worker_host/networking_basic/metadata.json +35 -0
- data/chef/travis-cookbooks/worker_host/networking_basic/metadata.rb +10 -0
- data/chef/travis-cookbooks/worker_host/networking_basic/recipes/default.rb +32 -0
- 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/worker_host/ntp/attributes/ntpdate.rb +21 -0
- 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/worker_host/ntp/recipes/undo.rb +36 -0
- 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/runit/CHANGELOG.md +3 -0
- data/chef/travis-cookbooks/worker_host/runit/CONTRIBUTING +29 -0
- data/chef/travis-cookbooks/worker_host/runit/LICENSE +201 -0
- data/chef/travis-cookbooks/worker_host/runit/README.md +226 -0
- data/chef/travis-cookbooks/worker_host/runit/attributes/default.rb +31 -0
- data/chef/travis-cookbooks/worker_host/runit/definitions/runit_service.rb +164 -0
- data/chef/travis-cookbooks/worker_host/runit/files/default/runit.seed +1 -0
- data/chef/travis-cookbooks/worker_host/runit/files/default/runsvdir +0 -0
- data/chef/travis-cookbooks/worker_host/runit/files/ubuntu-6.10/runsvdir +6 -0
- data/chef/travis-cookbooks/worker_host/runit/files/ubuntu-7.04/runsvdir +7 -0
- data/chef/travis-cookbooks/worker_host/runit/files/ubuntu-7.10/runsvdir +7 -0
- data/chef/travis-cookbooks/worker_host/runit/files/ubuntu-8.04/runsvdir +7 -0
- data/chef/travis-cookbooks/worker_host/runit/metadata.json +102 -0
- data/chef/travis-cookbooks/worker_host/runit/metadata.rb +37 -0
- data/chef/travis-cookbooks/worker_host/runit/recipes/default.rb +72 -0
- data/chef/travis-cookbooks/worker_host/runit/templates/gentoo/runit-start.sh.erb +32 -0
- data/chef/travis-cookbooks/worker_host/rvm/attributes/default.rb +20 -0
- data/chef/travis-cookbooks/worker_host/rvm/attributes/install.rb +1 -0
- data/chef/travis-cookbooks/worker_host/rvm/attributes/ree.rb +1 -0
- data/chef/travis-cookbooks/worker_host/rvm/attributes/ruby_187.rb +2 -0
- data/chef/travis-cookbooks/worker_host/rvm/attributes/ruby_192.rb +2 -0
- data/chef/travis-cookbooks/worker_host/rvm/files/default/rvm.sh +1 -0
- data/chef/travis-cookbooks/worker_host/rvm/metadata.rb +27 -0
- data/chef/travis-cookbooks/worker_host/rvm/recipes/default.rb +27 -0
- data/chef/travis-cookbooks/worker_host/rvm/recipes/install.rb +36 -0
- data/chef/travis-cookbooks/worker_host/rvm/recipes/multi.rb +48 -0
- data/chef/travis-cookbooks/worker_host/rvm/recipes/ree.rb +6 -0
- data/chef/travis-cookbooks/worker_host/rvm/recipes/ruby_187.rb +7 -0
- data/chef/travis-cookbooks/worker_host/rvm/recipes/ruby_192.rb +7 -0
- data/chef/travis-cookbooks/worker_host/ssh/recipes/sshd.rb +12 -0
- data/chef/travis-cookbooks/worker_host/ssh/templates/default/sshd_config.erb +87 -0
- data/chef/travis-cookbooks/worker_host/sudo/attributes/sudoers.rb +2 -0
- data/chef/travis-cookbooks/worker_host/sudo/recipes/default.rb +14 -0
- data/chef/travis-cookbooks/worker_host/sudo/templates/default/sudoers.erb +19 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/attributes/default.rb +20 -0
- 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 +6 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/recipes/bluebox.rb +98 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/recipes/default.rb +140 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/sv-travis-worker-log-run.erb +2 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/sv-travis-worker-run.erb +4 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/travis-worker-bluebox.monitrc.erb +8 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/travis-worker.monitrc.erb +3 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker-bluebox.yml.erb +31 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker.yml.erb +10 -0
- data/chef/travis-cookbooks/worker_host/travis_worker_collectd/metadata.rb +2 -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 +12 -0
- data/chef/travis-cookbooks/worker_host/users/attributes/default.rb +2 -0
- data/chef/travis-cookbooks/worker_host/users/metadata.rb +9 -0
- data/chef/travis-cookbooks/worker_host/users/recipes/default.rb +88 -0
- data/chef/travis-cookbooks/worker_host/users/templates/default/authorized_keys.pub +4 -0
- data/chef/travis-cookbooks/worker_host/vim/README.md +39 -0
- data/chef/travis-cookbooks/worker_host/vim/attributes/default.rb +20 -0
- data/chef/travis-cookbooks/worker_host/vim/metadata.rb +6 -0
- data/chef/travis-cookbooks/worker_host/vim/recipes/default.rb +24 -0
- data/chef/travis-cookbooks/worker_host/virtualbox/attributes/default.rb +0 -0
- data/chef/travis-cookbooks/worker_host/virtualbox/metadata.rb +11 -0
- data/chef/travis-cookbooks/worker_host/virtualbox/recipes/default.rb +13 -0
- data/ciborg.gemspec +33 -19
- data/config/.gitkeep +0 -0
- data/cookbooks/.gitkeep +3 -0
- data/jenkins_plugin/.travis.yml +5 -0
- data/jenkins_plugin/README.md +8 -0
- data/jenkins_plugin/pom.xml +39 -0
- data/jenkins_plugin/src/main/java/com/pivotallabs/CiborgDecorator.java +22 -0
- data/jenkins_plugin/src/main/resources/com/pivotallabs/CiborgDecorator/header.jelly +3 -0
- data/jenkins_plugin/src/main/resources/index.jelly +6 -0
- data/jenkins_plugin/src/main/webapp/ciborg.css +5 -0
- data/jenkins_plugin/src/main/webapp/ciborg.png +0 -0
- data/lib/ciborg.rb +7 -4
- data/lib/ciborg/amazon.rb +105 -0
- data/lib/ciborg/cli.rb +172 -0
- data/lib/ciborg/config.rb +214 -0
- data/lib/ciborg/configuration_wizard.rb +122 -0
- data/lib/ciborg/keychain.rb +36 -0
- data/lib/ciborg/password.rb +13 -0
- data/lib/ciborg/sobo.rb +79 -0
- data/lib/ciborg/templates/default_rails_build_script.sh +13 -0
- data/lib/ciborg/version.rb +1 -1
- data/script/bootstrap_server.sh +35 -0
- data/script/ci_build.sh +13 -0
- data/spec/assets/test_cert.crt +15 -0
- data/spec/assets/test_cert.csr +12 -0
- data/spec/assets/test_cert.key +15 -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/ciborg/amazon_spec.rb +168 -0
- data/spec/lib/ciborg/cli_spec.rb +292 -0
- data/spec/lib/ciborg/config_spec.rb +299 -0
- data/spec/lib/ciborg/configuration_wizard_spec.rb +364 -0
- data/spec/lib/ciborg/keychain_spec.rb +33 -0
- data/spec/lib/ciborg/password_spec.rb +15 -0
- data/spec/spec_helper.rb +24 -0
- data/templates/Gemfile-remote +4 -0
- metadata +928 -20
@@ -0,0 +1,292 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Ciborg::CLI do
|
4
|
+
let(:cli) { subject }
|
5
|
+
let(:sobo) { Ciborg::Sobo.new(ciborg_config.master, ciborg_config.server_ssh_key_path) }
|
6
|
+
|
7
|
+
before do
|
8
|
+
cli.stub(:ciborg_config).and_return(ciborg_config) # ciborg_config must be defined in each context below
|
9
|
+
end
|
10
|
+
|
11
|
+
context 'with Amazon' do
|
12
|
+
let(:ciborg_config) {
|
13
|
+
Ciborg::Config.new(
|
14
|
+
:aws_key => ENV["EC2_KEY"],
|
15
|
+
:aws_secret => ENV["EC2_SECRET"],
|
16
|
+
:server_ssh_key => ssh_key_pair_path)
|
17
|
+
}
|
18
|
+
|
19
|
+
describe '#create & #destroy_ec2', :slow, :ec2 do
|
20
|
+
it "launches an instance and associates elastic ip" do
|
21
|
+
pending "Missing EC2 Credentials" unless SpecHelpers::ec2_credentials_present?
|
22
|
+
cli.ciborg_config.instance_size = 't1.micro'
|
23
|
+
expect { cli.create }.to change { ciborg_config.master }.from(nil)
|
24
|
+
|
25
|
+
cli.stub(:options).and_return({'force' => 'force'})
|
26
|
+
expect { cli.destroy_ec2 }.to change { ciborg_config.master }.to(nil)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe "#ssh" do
|
31
|
+
it "starts an ssh session to the ciborg host" do
|
32
|
+
cli.should_receive(:exec).with("ssh -i #{cli.ciborg_config.server_ssh_key_path} ubuntu@#{cli.ciborg_config.master} -p #{cli.ciborg_config.ssh_port}")
|
33
|
+
cli.ssh
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "#open", :osx do
|
38
|
+
let(:ciborg_config) do
|
39
|
+
Ciborg::Config.new(:node_attributes => {
|
40
|
+
:nginx => {
|
41
|
+
:basic_auth_user => "ci",
|
42
|
+
:basic_auth_password => "secret"
|
43
|
+
}
|
44
|
+
})
|
45
|
+
end
|
46
|
+
|
47
|
+
it "opens a web browser with the ciborg page" do
|
48
|
+
ciborg_config.master = "127.0.0.1"
|
49
|
+
cli.should_receive(:exec).with("open https://ci:secret@127.0.0.1/")
|
50
|
+
cli.open
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "#trust_certificate", :osx do
|
55
|
+
let(:keychain) { Ciborg::Keychain.new("/Library/Keychains/System.keychain") }
|
56
|
+
before { ciborg_config.master = "192.168.99.99" }
|
57
|
+
|
58
|
+
it "adds the key to the keychain" do
|
59
|
+
fake_keychain = double(:keychain)
|
60
|
+
fake_keychain.should_receive(:fetch_remote_certificate).with("https://#{ciborg_config.master}/").and_return("IAMACERTIFICATE")
|
61
|
+
fake_keychain.should_receive(:add_certificate).with("IAMACERTIFICATE")
|
62
|
+
Ciborg::Keychain.should_receive(:new).with("/Library/Keychains/System.keychain").and_return(fake_keychain)
|
63
|
+
|
64
|
+
cli.trust_certificate
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe "#add_build" do
|
69
|
+
let(:name) { "bob" }
|
70
|
+
let(:repository) { "http://github.com/mkocher/soloist.git" }
|
71
|
+
let(:branch) { "master" }
|
72
|
+
let(:command) { "script/ci_build.sh" }
|
73
|
+
|
74
|
+
context "when the config is invalid" do
|
75
|
+
before { ciborg_config.node_attributes.jenkins = {} }
|
76
|
+
|
77
|
+
it "raises an error" do
|
78
|
+
expect do
|
79
|
+
cli.add_build(name, repository, branch, command)
|
80
|
+
end.to raise_error %r{your config file does not have a}
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
context "when the configuration is valid" do
|
85
|
+
context "with persisted configuration data" do
|
86
|
+
let(:tempfile) do
|
87
|
+
Tempfile.new('ciborg-config').tap do |file|
|
88
|
+
file.write YAML.dump({})
|
89
|
+
file.close
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
let(:ciborg_config) { Ciborg::Config.from_file(tempfile.path) }
|
94
|
+
|
95
|
+
def builds
|
96
|
+
cli.ciborg_config.reload.node_attributes.jenkins.builds
|
97
|
+
end
|
98
|
+
|
99
|
+
it "persists a build" do
|
100
|
+
cli.add_build(name, repository, branch, command)
|
101
|
+
builds.should_not be_nil
|
102
|
+
builds.should_not be_empty
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
context "with a fake amazon" do
|
109
|
+
let(:ip_address) { "127.0.0.1" }
|
110
|
+
let(:server) { double("server", :public_ip_address => ip_address).as_null_object }
|
111
|
+
let(:amazon) { double("AMZN", :launch_server => server).as_null_object }
|
112
|
+
let(:instance_id) { 'i-xxxxxx' }
|
113
|
+
|
114
|
+
before do
|
115
|
+
cli.stub(:amazon).and_return(amazon)
|
116
|
+
end
|
117
|
+
|
118
|
+
describe "#create" do
|
119
|
+
before do
|
120
|
+
amazon.stub(:with_key_pair).and_yield("unique-key-pair-name")
|
121
|
+
cli.should_receive(:wait_for_server)
|
122
|
+
end
|
123
|
+
|
124
|
+
it "uses the configured key pair" do
|
125
|
+
amazon.should_receive(:with_key_pair).with(cli.ciborg_config.server_ssh_pubkey)
|
126
|
+
cli.create
|
127
|
+
end
|
128
|
+
|
129
|
+
context "with a custom security group", :slow => false do
|
130
|
+
before { cli.ciborg_config.security_group = 'custom_group' }
|
131
|
+
|
132
|
+
it "launches the instance with the configured security group" do
|
133
|
+
amazon.should_receive(:create_security_group).with('custom_group')
|
134
|
+
amazon.should_receive(:open_port).with('custom_group', anything, anything)
|
135
|
+
amazon.should_receive(:launch_server).with(anything, 'custom_group', anything, anything)
|
136
|
+
cli.create
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
context "with a custom instance size", :slow => false do
|
141
|
+
before { cli.ciborg_config.instance_size = 'really_big_instance' }
|
142
|
+
|
143
|
+
it "launches the instance with the configured instance size" do
|
144
|
+
amazon.should_receive(:launch_server).with(anything, anything, 'really_big_instance', 'us-east-1b')
|
145
|
+
cli.create
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
describe "destroy_ec2" do
|
151
|
+
before do
|
152
|
+
cli.ciborg_config.master = ip_address
|
153
|
+
cli.ciborg_config.instance_id = instance_id
|
154
|
+
end
|
155
|
+
|
156
|
+
context 'by default' do
|
157
|
+
before do
|
158
|
+
amazon.stub(:destroy_ec2).and_yield(mock("SERVER").as_null_object)
|
159
|
+
end
|
160
|
+
|
161
|
+
it 'deletes the known instance' do
|
162
|
+
amazon.should_receive(:destroy_ec2).and_yield(mock("SERVER").as_null_object)
|
163
|
+
cli.destroy_ec2
|
164
|
+
end
|
165
|
+
|
166
|
+
it 'clears the master ip address' do
|
167
|
+
expect { cli.destroy_ec2 }.to change(cli.ciborg_config, :master).to(nil)
|
168
|
+
end
|
169
|
+
|
170
|
+
it 'clears the master instance id' do
|
171
|
+
expect { cli.destroy_ec2 }.to change(cli.ciborg_config, :instance_id).to(nil)
|
172
|
+
end
|
173
|
+
|
174
|
+
it 'does not delete sibling instances' do
|
175
|
+
amazon.should_receive(:destroy_ec2).with(a_kind_of(Proc), instance_id)
|
176
|
+
cli.destroy_ec2
|
177
|
+
end
|
178
|
+
|
179
|
+
it 'prompts for confirmation' do
|
180
|
+
cli.should_receive(:yes?).and_return(true)
|
181
|
+
amazon.should_receive(:destroy_ec2).with(a_kind_of(Proc), instance_id) do |confirm_proc, instance_id|
|
182
|
+
confirm_proc.call(mock("SERVER").as_null_object)
|
183
|
+
end
|
184
|
+
cli.destroy_ec2
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
context 'with --all' do
|
189
|
+
before do
|
190
|
+
cli.stub(:options).and_return({'all' => 'all'})
|
191
|
+
end
|
192
|
+
|
193
|
+
it 'deletes everything tagged "ciborg"' do
|
194
|
+
amazon.should_receive(:destroy_ec2).with(a_kind_of(Proc), :all)
|
195
|
+
cli.destroy_ec2
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
context 'with --force' do
|
200
|
+
before do
|
201
|
+
cli.stub(:options).and_return({'force' => 'force'})
|
202
|
+
end
|
203
|
+
|
204
|
+
it 'does not prompt for confirmation' do
|
205
|
+
cli.should_not_receive(:ask)
|
206
|
+
amazon.should_receive(:destroy_ec2).with(a_kind_of(Proc), instance_id) do |confirm_proc, instance_id|
|
207
|
+
confirm_proc.call(mock("SERVER").as_null_object)
|
208
|
+
end
|
209
|
+
cli.destroy_ec2
|
210
|
+
end
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
context 'with Vagrant', :vagrant do
|
217
|
+
let(:ciborg_config) {
|
218
|
+
Ciborg::Config.new(
|
219
|
+
"node_attributes" => {
|
220
|
+
"jenkins" => {
|
221
|
+
"builds" => []
|
222
|
+
},
|
223
|
+
"nginx" => {
|
224
|
+
"basic_auth_user" => "ci",
|
225
|
+
"basic_auth_password" => "secret"
|
226
|
+
}
|
227
|
+
},
|
228
|
+
"server_ssh_key" => ssh_key_pair_path,
|
229
|
+
"github_ssh_key" => ssh_key_pair_path
|
230
|
+
)
|
231
|
+
}
|
232
|
+
|
233
|
+
describe "#create_vagrant" do
|
234
|
+
it "starts a virtual machine" do
|
235
|
+
cli.create_vagrant
|
236
|
+
Godot.wait('192.168.33.10', 22).should be
|
237
|
+
end
|
238
|
+
|
239
|
+
it "updates the config master ip address" do
|
240
|
+
expect { cli.create_vagrant }.to change { ciborg_config.master }.to('192.168.33.10')
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
describe "#bootstrap", :slow do
|
245
|
+
before { cli.create_vagrant }
|
246
|
+
|
247
|
+
it "installs all necessary packages, installs rvm and sets up the user" do
|
248
|
+
cli.bootstrap
|
249
|
+
sobo.backtick("dpkg --get-selections").should include("libncurses5-dev")
|
250
|
+
sobo.backtick("ls /usr/local/rvm/").should_not be_empty
|
251
|
+
sobo.backtick("groups ubuntu").should include("rvm")
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
255
|
+
describe "#chef", :slow do
|
256
|
+
let(:name) { "Bob" }
|
257
|
+
let(:repository) { "http://github.com/mkocher/soloist.git" }
|
258
|
+
let(:branch) { "master" }
|
259
|
+
let(:command) { "exit 0" }
|
260
|
+
|
261
|
+
let(:godot) { Godot.new(cli.master_server.ip, 8080, timeout: 180) }
|
262
|
+
let(:jenkins) { Ciborg::Jenkins.new(ciborg_config) }
|
263
|
+
|
264
|
+
before do
|
265
|
+
cli.create_vagrant
|
266
|
+
cli.bootstrap
|
267
|
+
cli.add_build(name, repository, branch, command)
|
268
|
+
FileUtils.mkdir_p("/tmp/ciborg_dummy/cookbooks/pork/recipes/")
|
269
|
+
File.write("/tmp/ciborg_dummy/cookbooks/pork/recipes/bacon.rb", "package 'htop'")
|
270
|
+
end
|
271
|
+
|
272
|
+
after do
|
273
|
+
FileUtils.rm_rf("/tmp/ciborg_dummy")
|
274
|
+
end
|
275
|
+
|
276
|
+
it "runs chef" do
|
277
|
+
Dir.chdir('/tmp/ciborg_dummy/') do
|
278
|
+
cli.ciborg_config.recipes = ["pivotal_ci::jenkins", "pivotal_ci::id_rsa", "pivotal_ci::git_config", "sysctl", "pivotal_ci::jenkins_config", "pork::bacon"]
|
279
|
+
cli.chef
|
280
|
+
end
|
281
|
+
|
282
|
+
sobo.backtick("ls /var/lib/").should include "jenkins"
|
283
|
+
sobo.backtick("grep 'kernel.shmmax=' /etc/sysctl.conf").should_not be_empty
|
284
|
+
sobo.backtick("sudo cat /var/lib/jenkins/.ssh/id_rsa").should == ciborg_config.github_ssh_key
|
285
|
+
sobo.system("dpkg -l htop").should == 0
|
286
|
+
|
287
|
+
godot.wait!
|
288
|
+
godot.match!(/Bob/, 'api/json')
|
289
|
+
end
|
290
|
+
end
|
291
|
+
end
|
292
|
+
end
|
@@ -0,0 +1,299 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
describe Ciborg::Config do
|
5
|
+
let(:default_config) { Ciborg::Config.new }
|
6
|
+
|
7
|
+
describe "#add_build" do
|
8
|
+
let(:name) { "bob" }
|
9
|
+
let(:repository) { "http://github.com/mkocher/soloist.git" }
|
10
|
+
let(:branch) { "master" }
|
11
|
+
let(:command) { "script/ci_build.sh" }
|
12
|
+
|
13
|
+
let(:build_params) { {
|
14
|
+
"name" => name,
|
15
|
+
"repository" => repository,
|
16
|
+
"command" => command,
|
17
|
+
"branch" => branch,
|
18
|
+
"junit_publisher" => true
|
19
|
+
} }
|
20
|
+
|
21
|
+
it "adds a build to the node attributes" do
|
22
|
+
subject.add_build(name, repository, branch, command)
|
23
|
+
subject.node_attributes.jenkins.builds.should =~ [build_params]
|
24
|
+
end
|
25
|
+
|
26
|
+
it "does not add a build twice with identical parameters" do
|
27
|
+
subject.add_build(name, repository, branch, command)
|
28
|
+
subject.add_build(name, repository, branch, command)
|
29
|
+
subject.node_attributes.jenkins.builds.should =~ [build_params]
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "#display" do
|
34
|
+
before do
|
35
|
+
subject.add_build("default", "repos", "branch", "command")
|
36
|
+
subject.add_build("integration", "repos", "branch", "command")
|
37
|
+
subject.add_build("enemy", "repos", "branch", "command")
|
38
|
+
end
|
39
|
+
|
40
|
+
context "without a running instance" do
|
41
|
+
it "returns a pretty-printed string version of the config" do
|
42
|
+
# The basic_auth_password will be blank on CI, so we force it
|
43
|
+
subject.stub(:basic_auth_password).and_return('password')
|
44
|
+
|
45
|
+
subject.display.should == <<OOTPÜT
|
46
|
+
-- ciborg configuration --
|
47
|
+
Instance ID:
|
48
|
+
IP Address:
|
49
|
+
Instance size: #{subject.instance_size}
|
50
|
+
|
51
|
+
Builds:
|
52
|
+
default
|
53
|
+
integration
|
54
|
+
enemy
|
55
|
+
|
56
|
+
Web URL:
|
57
|
+
User name: #{subject.basic_auth_user}
|
58
|
+
User password: #{subject.basic_auth_password}
|
59
|
+
|
60
|
+
CC Menu URL:
|
61
|
+
OOTPÜT
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context "with a running instance" do
|
66
|
+
subject do
|
67
|
+
Ciborg::Password.stub(:generate).and_return('password')
|
68
|
+
Ciborg::Config.new({instance_id: 'i-xxxxxx',
|
69
|
+
master: '127.0.0.1',
|
70
|
+
instance_size: 'c9.humungous'
|
71
|
+
})
|
72
|
+
end
|
73
|
+
|
74
|
+
it "returns a pretty-printed string version of the config" do
|
75
|
+
|
76
|
+
subject.display.should == <<OOTPÜT
|
77
|
+
-- ciborg configuration --
|
78
|
+
Instance ID: i-xxxxxx
|
79
|
+
IP Address: 127.0.0.1
|
80
|
+
Instance size: c9.humungous
|
81
|
+
|
82
|
+
Builds:
|
83
|
+
default https://127.0.0.1/job/default/rssAll
|
84
|
+
integration https://127.0.0.1/job/integration/rssAll
|
85
|
+
enemy https://127.0.0.1/job/enemy/rssAll
|
86
|
+
|
87
|
+
Web URL: https://127.0.0.1
|
88
|
+
User name: ci
|
89
|
+
User password: password
|
90
|
+
|
91
|
+
CC Menu URL: https://ci:password@127.0.0.1/cc.xml
|
92
|
+
OOTPÜT
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
describe "with a file" do
|
98
|
+
let(:config_contents) { {ssh_port: 42} }
|
99
|
+
let(:tempfile) do
|
100
|
+
Tempfile.new('ciborg-config').tap do |file|
|
101
|
+
file.write YAML.dump(config_contents)
|
102
|
+
file.close
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
let(:config) { Ciborg::Config.from_file(tempfile.path) }
|
107
|
+
|
108
|
+
describe "#valid?" do
|
109
|
+
it "returns true by default" do
|
110
|
+
config.should be_valid
|
111
|
+
config.errors.should be_empty
|
112
|
+
end
|
113
|
+
|
114
|
+
context "when there is no jenkins config" do
|
115
|
+
let(:config_contents) { {node_attributes: {}} }
|
116
|
+
|
117
|
+
it "returns false" do
|
118
|
+
config.should_not be_valid
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
context "when jenkins config has no builds" do
|
123
|
+
let(:config_contents) { {node_attributes: {jenkins: {}}} }
|
124
|
+
|
125
|
+
it "returns false" do
|
126
|
+
config.should_not be_valid
|
127
|
+
end
|
128
|
+
|
129
|
+
it "has a useful error message" do
|
130
|
+
config.errors.should include("your config file does not have a [:node_attributes][:jenkins][:builds] key")
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
describe ".from_file" do
|
136
|
+
it "loads from a yaml file" do
|
137
|
+
config.ssh_port.should == 42
|
138
|
+
end
|
139
|
+
|
140
|
+
context "when the yaml file does not exist" do
|
141
|
+
let(:config) { Ciborg::Config.from_file("#{tempfile.path}-nonexistent") }
|
142
|
+
|
143
|
+
it "does not load from a yaml file" do
|
144
|
+
config.ssh_port.should == 22
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
context "handles deprecated keypair_name attribute" do
|
149
|
+
let(:tempfile) do
|
150
|
+
Tempfile.new('ciborg-config').tap do |file|
|
151
|
+
file.write <<-YAML
|
152
|
+
---
|
153
|
+
ssh_port: 42
|
154
|
+
keypair_name: ciborg
|
155
|
+
YAML
|
156
|
+
file.close
|
157
|
+
end
|
158
|
+
end
|
159
|
+
let(:config) { Ciborg::Config.from_file(tempfile.path) }
|
160
|
+
|
161
|
+
it "silently removes it from the configuration" do
|
162
|
+
config.ssh_port.should == 42
|
163
|
+
end
|
164
|
+
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
describe "#save" do
|
169
|
+
it "writes the values to the file" do
|
170
|
+
config.ssh_port = 20912
|
171
|
+
config.save
|
172
|
+
config = Ciborg::Config.from_file(tempfile.path)
|
173
|
+
config.ssh_port.should == 20912
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
describe "#update" do
|
178
|
+
it "sets and persists the provided values" do
|
179
|
+
config.update(ssh_port: 20912)
|
180
|
+
config = Ciborg::Config.from_file(tempfile.path)
|
181
|
+
config.ssh_port.should == 20912
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
describe "soloistrc-specific attributes" do
|
186
|
+
let(:recipes) { ["pivotal_workstation::broken_postgres", "pivotal_workstation::janus"] }
|
187
|
+
let(:node_attributes) { default_config.node_attributes.merge({"radiator" => {"busted" => "hella"}}) }
|
188
|
+
let(:config_contents) { {recipes: recipes, node_attributes: node_attributes} }
|
189
|
+
|
190
|
+
describe "#recipes" do
|
191
|
+
it "preserves the recipes in a config file" do
|
192
|
+
config.recipes.should == recipes
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
describe "#soloistrc" do
|
197
|
+
it "has recipes" do
|
198
|
+
config.soloistrc['recipes'].should == recipes
|
199
|
+
end
|
200
|
+
|
201
|
+
it "has node_attributes" do
|
202
|
+
config.soloistrc['node_attributes']['radiator']['busted'].should == "hella"
|
203
|
+
end
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
208
|
+
describe "defaults" do
|
209
|
+
its(:ssh_port) { should == 22 }
|
210
|
+
its(:recipes) { should == ["pivotal_ci::jenkins", "pivotal_ci::limited_travis_ci_environment", "pivotal_ci"] }
|
211
|
+
its(:cookbook_paths) { should == ['./chef/cookbooks/', './chef/travis-cookbooks/ci_environment', './chef/project-cookbooks'] }
|
212
|
+
its(:instance_size) { should == 'c1.medium' }
|
213
|
+
its(:security_group) { should == 'ciborg'}
|
214
|
+
its(:availability_zone) { should == 'us-east-1b' }
|
215
|
+
|
216
|
+
context 'when id_rsa exists' do
|
217
|
+
before { File.stub(:exists?).and_return(true) }
|
218
|
+
|
219
|
+
its(:server_ssh_key_path) { should == File.expand_path('~/.ssh/id_rsa')}
|
220
|
+
its(:github_ssh_key_path) { should == File.expand_path('~/.ssh/id_rsa')}
|
221
|
+
end
|
222
|
+
|
223
|
+
context 'when id_rsa does not exist' do
|
224
|
+
before { File.stub(:exists?).and_return(false) }
|
225
|
+
|
226
|
+
its(:server_ssh_key_path) { should_not be }
|
227
|
+
its(:github_ssh_key_path) { should_not be }
|
228
|
+
end
|
229
|
+
|
230
|
+
describe "#node_attributes" do
|
231
|
+
it "defaults to overwriting the travis build environment" do
|
232
|
+
subject.node_attributes.travis_build_environment.to_hash.should == {
|
233
|
+
"user" => "jenkins",
|
234
|
+
"group" => "nogroup",
|
235
|
+
"home" => "/var/lib/jenkins"
|
236
|
+
}
|
237
|
+
end
|
238
|
+
end
|
239
|
+
|
240
|
+
describe "#soloistrc" do
|
241
|
+
before do
|
242
|
+
Haddock::Password.stub(:generate).and_return('a_secure_password')
|
243
|
+
end
|
244
|
+
|
245
|
+
it "defaults to recipes and nginx basic auth" do
|
246
|
+
subject.soloistrc.should == {
|
247
|
+
"recipes" => subject.recipes,
|
248
|
+
"cookbook_paths" => subject.cookbook_paths,
|
249
|
+
"node_attributes" => {
|
250
|
+
"nginx" => {
|
251
|
+
"basic_auth_user" => "ci",
|
252
|
+
"basic_auth_password" => 'a_secure_password'
|
253
|
+
},
|
254
|
+
"travis_build_environment" => {
|
255
|
+
"user" => "jenkins",
|
256
|
+
"group" => "nogroup",
|
257
|
+
"home" => "/var/lib/jenkins"
|
258
|
+
},
|
259
|
+
"jenkins" => {
|
260
|
+
"builds" => []
|
261
|
+
}
|
262
|
+
}
|
263
|
+
}
|
264
|
+
end
|
265
|
+
end
|
266
|
+
|
267
|
+
describe 'ssh key accessors' do
|
268
|
+
before do
|
269
|
+
File.stub(:exists?).with(File.expand_path('~/.ssh/id_rsa')).and_return(true)
|
270
|
+
end
|
271
|
+
|
272
|
+
context 'github' do
|
273
|
+
before do
|
274
|
+
File.stub(:read).with(subject.github_ssh_key_path) { "---GITHUB PRIVATE---" }
|
275
|
+
File.stub(:read).with(subject.github_ssh_pubkey_path) { "---GITHUB PUBLIC---" }
|
276
|
+
end
|
277
|
+
|
278
|
+
its(:github_ssh_key_path) { should =~ /^\/.*id_rsa$/ }
|
279
|
+
its(:github_ssh_pubkey_path) { should =~ /^\/.*id_rsa\.pub$/ }
|
280
|
+
|
281
|
+
its(:github_ssh_key) { should == "---GITHUB PRIVATE---" }
|
282
|
+
its(:github_ssh_pubkey) { should == "---GITHUB PUBLIC---" }
|
283
|
+
end
|
284
|
+
|
285
|
+
context 'server' do
|
286
|
+
before do
|
287
|
+
File.stub(:read).with(subject.server_ssh_key_path) { "---SERVER PRIVATE---" }
|
288
|
+
File.stub(:read).with(subject.server_ssh_pubkey_path) { "---SERVER PUBLIC---" }
|
289
|
+
end
|
290
|
+
|
291
|
+
its(:server_ssh_key_path) { should =~ /^\/.*id_rsa$/ }
|
292
|
+
its(:server_ssh_pubkey_path) { should =~ /^\/.*id_rsa\.pub$/ }
|
293
|
+
|
294
|
+
its(:server_ssh_key) { should == "---SERVER PRIVATE---" }
|
295
|
+
its(:server_ssh_pubkey) { should == "---SERVER PUBLIC---" }
|
296
|
+
end
|
297
|
+
end
|
298
|
+
end
|
299
|
+
end
|