/knife-voxel

Voxel hAPI Knife Plugin

Primary LanguageRuby

= Introduction =

knife-voxel is a plugin for the tool 'knife', part of the configuration management system 'chef'.   http://www.opscode.com/.   It allows you to provision Voxel dot Net (www.voxel.net) cloud instances (physical as well as virtual) and then bootstrap them as chef clients.

This plugin is currently a work in progress, although all major functions should work as expected.  The command set models Voxel's API hAPI (http://api.voxel.net/docs/) .   We depend on the voxel-hapi library for access to this API.   This will be replaced with a fog provider based backend in the future.

= Authentication =

Authentication can be handled in a few different ways. For each command you can pass --voxel-api-key and --voxel-api-secret with your corresponding hAPI key/secret pair. Or if you prefer, you can utilize your username and password via the --voxel-api-username and --voxel-api-password parameters. Both of these parameter sets can be specified in a knife.rb file, saving you the trouble of entering them each time at the command line. We suggest using a stored authkey/secret pair rather than a username and password when placing these options in knife.rb. The syntax is:

knife[:voxel_api_key] = '01234567890'
knife[:voxel_api_secret] = '09876543210'

= Usage = 

** VOXEL COMMANDS **
knife voxel voxcloud delete DEVICE_ID (options)
knife voxel voxservers inventory list (options)
knife voxel images list (options)
knife voxel voxcloud create (options)
knife voxel devices list (options)
knife voxel voxservers delete DEVICE_ID (options)
knife voxel voxservers create (options)
knife voxel voxcloud facilities list
knife voxel voxservers facilities list

= Examples =

> knife voxel voxcloud delete 12345

> knife voxel voxcloud create --image-id 55 --hostname app1.domain.com \
  --processing-cores 4 --disk-size 20 --facility LGA8

= Author =

J. W. Brinkerhoff <jwb@voxel.net>