# capstrap A command to remotely install git, rvm, ruby, and chef-solo using capistrano. To get started, install capstrap: gem install capstrap capstrap assumes you are operating as *root* so you might want to drop in your ssh key to root's *authorized_keys*: ssh root@zland '(if [ ! -d "${HOME}/.ssh" ]; then \ mkdir -m 0700 -p ${HOME}/.ssh; fi; \ cat - >> .ssh/authorized_keys)' < ${HOME}/.ssh/id_dsa.pub To install a baseline RVM/ruby environment (*ree-1.8.7* is default): capstrap ruby root@zland To use a custom RVM ruby: capstrap ruby root@zland --ruby=ruby-1.8.7 To install the *chef* gem: capstrap chef root@zland To install a chef cookbooks repository and chef configuration: capstrap solo root@zland \ --cookbooks-repo=git://github.com/fnichol/chef-repo.git \ --config-repo=git://github.com/fnichol/chef-dna-spike.git To override the default cookbooks and configuration paths: capstrap solo root@zland \ --cookbooks-repo=git://github.com/fnichol/chef-repo.git \ --cookbooks-path=/opt/chef \ --config-repo=git://github.com/fnichol/chef-dna-spike.git \ --config-path=/opt/chef/config To use a rake update instead of the default git submodule init && git submodule update after a git update: capstrap execute root@zland \ --cookbooks-rake-update \ --config-rake-update To execute a chef configuration (the full monty): capstrap execute root@zland \ --cookbooks-repo=git://github.com/fnichol/chef-repo.git \ --config-repo=git://github.com/fnichol/chef-dna-spike.git To set some other crazy configuration (the full monty with cheese): capstrap execute root@zland \ --ruby=ruby-1.8.7 \ --cookbooks-repo=git://github.com/fnichol/chef-repo.git \ --cookbooks-path=/opt/chef \ --config-repo=git://github.com/fnichol/chef-dna-spike.git \ --config-path=/opt/chef/config To pull new cookbook/configuration updates and run chef-solo: capstrap update root@zland To save config options to a yaml file to be read by capstrap: cat > "$HOME/.capstraprc" <