rsolo is a simple shell-script which runs chef-solo on remote hosts.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


rsolo is a simple tool which runs chef-solo on a remote host.


it can do:

  • install chef on remote host
  • run chef-solo on remote host

rsolo is a shell-script version of knife-solo.


# At first , install Chef on the remote host
$ rsolo prepare user@remote

# Second, run chef-solo
$ rsolo cook user@remote

rsolo prepare

install Chef on the remote host by the omnibus installer.

rsolo cook

upload kitchen(in other words, chef-repo) to a remote host and run sudo chef-solo over there.

rsolo revendor

just do the same thing as below when you have installed Berkshelf

$ rm -rf cookbooks Berksfile.lock
$ berks vendor cookbooks

rsolo helloworld

This is a very unique feature.

It creates a cookbook name helloworld , and do prepare + cook -o helloworld it automatically.

Coordination with Vagrant (experimental)

If You has a node json file nodes/vagrant.json, you can just do

$ rsolo prepare --vagrant
$ rsolo cook --vagrant

Or if you want to use another json file (e.g. nodes/foo.json )

$ rsolo prepare --vagrant -N foo
$ rsolo cook --vagrant -N foo


$ curl -sO
$ chmod  0755 ./rsolo
# if you would like to install globally
$ sudo mv rsolo /usr/local/bin/


Bash version 3.2 or later

rsolo VS. knife-solo

gem knife-solo is a great tool, but I don't want to care about ruby tools like gem, bunlder.

rsolo is a zero dependency tool. It's just a BASH script.

besides, knife-solo has too complicated options. I am tired of doing lik this:

$ knife solo cook --no-berkshelf --no-chef-check -F tmpconfig hostname nodes/hostname.json

In rsolo, you can do this:

$ rsolo cook -F tmpconfig -N nodename hostname


GPL v3




  • option
  • -o
  • --format
  • help for subcommands