The SSP gem provides various command line tools that we use internally. It might be useful to others as well, but we're not trying to make them general.
Available commands
This is an organized list of the same thing ssp list
shows you. For more information on each command run ssp help commandname
.
Chef related commands
Run chef-client on a remote node or multiple nodes:
ssp chef:client [NODES...]
Download data bags from the chef server and upload local json files as data bags to the server. Looks for data bags in the ./databags
directory by default.
Note: It is recommended to only do the download command once and then use your repo to store data bags and upload updates from it. This should be used with care though. We should find a better sync solution for this.
ssp bags:download
ssp bags:upload [BAG [ITEM]]
Server management commands
Create a new chef client on Rackspace. This will use your rackspace api key and username stored in your ~/.ssp
file by default. The image used for the new node is a custom image on our CloudFiles account called chef-node
.
ssp node:create FQDN [ROLES...]
List available servers on Rackspace:
ssp node:list
Create a new chef client on Vanilla (our Xen host machine):
ssp officenode:create FQDN [ROLES...] -i, --iplastpart=N
Remove a chef client while also destroying the Xen guest on Vanilla:
ssp officenode:destroy FQDN
List available servers on Vanilla:
ssp officenode:list
Utility commands
Pairing
Set the commit author for the repository to a pair or just to yourself:
ssp pair [PAIR]
Install a git pre-commit hook which checks commit author and email (only for interactive use):
ssp pair:install_hook
Displays current commit author and email and asks for confirmation (used by the installed hook):
ssp pair:status