Grunt tasks for working with the Rackspace Cloud Api


Grunt tasks for working with the Rackspace Cloud Api


  1. Change directories to the root directory of your project.
  2. npm install grunt-rackspace


Add the following line to your grunt.js file


The rackspace task is now available, for example

grunt rackspace

There is also grunt rackspace --debug if you want to see debug output.


Options are placed in the grunt.initConfig section of your grunt.js file in the rackspace object.


rackspace : {
  config : {
    authUser : "someCoolUser",
    authKey : "1234567890abcdef1234567890abcdef"
  upload : {
    remotedir : "container"
    testfiles : {
      filename : "test/*",
      remotedir : "site"


Required options:

  • authUser This is a rackspace username
  • authKey This is a rackspace Api key

Other options:

  • authUrl Url of the rackspace cloud authentication service


upload is a multitask that organizes files into named groups. Example:

upload {
  _options : {
    remotedir : "container"
    localdir : "files"
  images : {
    filename : "images/*"
  css : {
    filename : "css/*"
  html : {
    filename : "*",
    localdir : "html"
  disclaimer : {
    filename : "disclaimer.txt"
    remotedir : "misc"

Required options:

  • filename

Other options:

  • remotedir The location of the remote file: container/dir/subdir/subsubdir, etc.
  • localdir The location of the local file. This path is removed from the remote file location.
  • For example, if you want a local file fun/index.html to show up remotely as just index.html, set filename : "index.html" and localdir : "fun"
  • upload._options.remotedir top-level starting point (or container) for all remote files
  • upload._options.localdir top-level version of localdir (affects all files)

Filenames use the minimatch syntax for matching multiple files