Introduction

We're pleased to announce the first release of knife-stencil - a knife plugin for Opscode 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 web24.prod.search.mycompany.com

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!