Now with Partition Management


    0.2.0 • Public • Published

    openstack-storage NPM version

    A node.js client library for interacting with Openstack Storage (Swift)

    Copyright 2012, FeedHenry Ltd. Licensed under the MIT license, please see the LICENSE file. All rights reserved.


    npm install openstack-storage

    Example usage 1

    var async = require('async');
    var storage = require('storage');
    var authenticate = require('authenticate');
    ## get an authentication function. config formats are described in lib/authenticate.js
    ## use one of these:
    var authFn = async.apply(authenticate.getTokensKeystone, config); // for keystone auth
    var authFn = async.apply(authenticate.getTokensNative, config); // for native auth (swauth or tempauth)
    var storageSwift = new storage.OpenStackStorage (authFn, function(err, res, tokens) {
      console.log('Storage constructor - err: ', err, ', tokens: ', tokens);
      var containers = storageSwift.getContainers(function(err, containers) {
        console.log('getCOntainers - err: ', err, ', containers: ', containers);
        // containers is an array of objects [{name: "Name1"...}, ...]

    Example usage 2

    // Create a container called "EngTest"
    storageSwift.createContainer("EngTest", function (err, statusCode) {});
    // upload a local file test.png to a container called "EngTest" naming the remote file: file1.png 
    storageSwift.putFile("EngTest", {remoteName:'file1.png', localFile:'./test.png'}, function(err, statusCode) {});
    // delete a remote file: file1.png from a container called "EngTest"
    storageSwift.deleteFile("EngTest", 'file1.png', function (err, statusCode) {})
    // delete a container
    storageSwift.deleteContainer("EngTest", function (err, statusCode) {});

    See the examples folder for more sample API usage.


    The tests use mocha and require access to an Openstack compliant Identity/Storage service. The tests load a config file called testconfig.json in the config directory, there is a sample provided as testconfig-sample.json, but the user credentials will have to be entered. The timeout for the tests has been specified at 10 seconds in the package.json file, to allow for testing against a slow remote server.

    "test": "mocha --ui tdd --globals writeln --reporter spec --timeout 10000"


    npm i openstack-storage

    DownloadsWeekly Downloads





    Copyright (c) 2014 FeedHenry Ltd, All Rights Reserved.

    Last publish


    • feedhenry
    • feedhenry-dev
    • grdryn
    • jasonmadigan