Vito
Vito installs webservers for you very easily. Its goal is to be opinionated, with a shallow learning curve needed due to the use of a Gemfile-like specification file.
server :linode do
connection :ssh, :command => "vagrant ssh -c" }
install :rbenv
install :git
install :ruby, version: "2.0.0-p195"
install :tmux
install :apache do
vhosts_for :rails, port: 80
vhosts_for :rails, port: 443
end
install :passenger, with: :apache
end
server :ec2 do
install :postgres do
allow_connection from: :linode
end
# ...
end
Along with the installation process, it'll also be able to output status reports about a particular server.
For now, it won't be hosted, just sending SSH messages instead.
Working packages
These are the packages that are currently working:
rbenv, git, ruby, postgres
Usage
Vito currently works only in development.
Documentation
Contributing
Integration tests are run with Vagrant, you have to install it first. Important: don't use the gem, but the newer packaged installation. In fact, you should uninstall it (removing binstubs even) or Bundler will start complaining.
Once you clone the repo, run:
$ rake setup:download_vagrant_box
This will download a VirtualBox image, initialize it with Vagrant and take a initial snapshot. Whenever you run a spec, we'll roll back to this snapshot to test it in a clean slate.
Add recipes to the recipes/ dir. You can base your recipe on the existing ones.
Also, take a look at the rake tasks for running specs, e.g rake spec:unit,
rake spec:acceptance, rake spec:all etc
Once you're ready to push:
- Fork the repo
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Added some feature') - Run specs with
rake spec:all(checkrake -Tfor more options) - Push to the branch (
git push origin my-new-feature) - Create new Pull Request