saucier
saucier is a Capistrano Extension that uses librarian and chef-solo to manage project dependencies and provision servers for your project.
Use Capistrano Multistage to manage your servers and environments.
Use with cap-strap to bootstrap new servers.
A sample project using saucier may be found
Installation
Add this line to your application's Gemfile:
gem 'saucier'
And then execute:
$ bundle
Usage
Make sure your project has a Cheffile with required chef cookbooks.
###Configuration:
-
set :user, "<user that will be executing chef-solo>"
- default: "deploy" -
set :group, "<group for deploy user. keep as rvm if using rvm>"
- default: "rvm" -
set :chef_deploy_to, "<set path for deploying chef-solo>"
- default: "/etc/chef" -
set :chef_ruby, "<ruby you'd like to run librarian and chef-solo>"
- default: "default" -
set :chef_gemset, "<gemset for chef>"
- default: "global" -
set :chef_solo_config, "<relative path to the chef solo config>"
- default ".chef/solo.rb" -
set :chef_node_config, "<relative path to your node config>"
- default ".chef/node.json"
Testing
We're https://github.com/fnichol/minitest-capistrano for testing the capistrano configuration.
Running Tests:
-
rake test
- manually run the tests -
bundle exec guard start
- Use guard to watch for changes and run tests automatically.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request