We’re pleased to announce the first release of knife-stencil - a knife
plugin for Chef that greatly simplifies the launching of servers with the
knife command. It uses the information encoded in your host naming
convention to apply JSON templates populated with configuration options
that would otherwise have to be passed to knife manually.
This is best illustrated with an example. Previously, if one wanted to
launch a server in EC2, the knife invocation might look like this:
knife ec2 server create -r “role[base],role[webserver],role[search]” -I
ami-b4c1a4d4 -G default,web,search -x root -N
By using knife-stencil to capture the above information in JSON templates,
this could be simplified to:
knife stencil server create -N web24.prod.search.mycompany.com
The above example only scratches the surface of what is possible;
knife-stencil supports all of the major cloud plugins to knife, so you can,
for example, launch DR servers in HP’s cloud whilst launching production
servers in AWS and development machines in Rackspace, ensure that database
slaves are launched in a different zone, geographical region or cloud, to
their masters, enforce instance sizing, and so on.
If this sounds interesting, head over to the GitHub page for a more
in-depth description, further examples and installation instructions. We
hope you enjoy it!
Sam Pointer & Alex Greg