0.0
No commit activity in last 3 years
No release in over 3 years
A Ruby OpenStack Swift Client to create, manage and test Object Storage based on Swift and AWS S3
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

swift-manager (beta)

swift-manager aims to be a Ruby based OpenStack Swift Client with a git-like interface used to test and manage native Swift and AWS S3 APIs. This version builds on the excellent Ruby Fog gem. Furture versions may use native JSON/XML. Currently uses JSON for configuration files located under ~/.swift-manager.

##Audience

swift-manager is targeted towards Developers to test Swift or S3 APIs. However, anyone wanting to use it to test a Swift Cloud or S3 semantics may find it useful.

##Features

Supported on Ruby 1.9.3-p125 and JRuby-1.6.7

  1. Ability to create/delete containers and objects in S3 and Swift native APIs. No CDN is supported at this time.
  2. Ability to list containers and objects (files)
  3. Batch jobs: a. create containers at scale by providing a container prefix and the number of containers to create b. upload files to a container (can be used for backups)
  4. Unix-like(read-only) shell to browse containers with TAB completion (very basic)

**Assumptions: The current implementation requires SSL at the Swift Proxy server due to Ruby Fog dependencies. Make sure to have the following in /etc/swift/proxy-server.conf

[DEFAULT]

cert_file = /etc/swift/cert.crt

key_file = /etc/swift/cert.key

##Install

After installing Ruby or JRuby, run:

gem install swift-manager

##Documentation

  1. swift-manager help command
  2. Read examples.txt in the docs directory

####ToDos (Patches are Welcome!)

In addition to continued improvement in documentation...

  1. CDN support and CDN enable existing containers
  2. Shell support for listing objects
  3. Write support for Shell. Example, implement"create or touch commands" to create containers and objects
  4. More granulor metrics for create and delete containers/objects in order to test large requests (millions)
  5. Implement port, URL, and other parameters for Authentiation Configuration JSON