Skip to content

ddiss/elasto

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elasto

Warning: This project is no longer actively maintained and should not be used.

Summary

Elasto is a lightweight library and client utility for managing and manipulating cloud storage objects via REST protocols. Microsoft Azure and Amazon S3 cloud storage protocols are supported.

Installation

Prebuilt packages for GNU/Linux distributions are available for download from the Elasto project website: http://elastocloud.org/. Alternatively, Elasto can be built from source using the Waf build framework.

libevent, libexpat and openssl (libcrypto) development libraries are required for building.

To compile the library and client, run the following from the top of the source tree:

> ./waf configure
> ./waf build

After building, Elasto can be installed by running:

> ./waf install

Running (short version)

Azure

  1. Create an Azure account

  2. Download the PublishSettings file for the account:
    https://manage.windowsazure.com/publishsettings/index

  3. Start the Elasto client, connecting to the Azure Blob Service:

> elasto -s Azure_PublishSettings_File

Amazon S3

  1. Create Amazon S3 account

  2. Create an IAM group with S3 access, assign a new user to the group:
    https://console.aws.amazon.com/iam/home#home

  3. Download the user’s access key (credentials.csv) file

  4. Start the Elasto client:

> elasto -k iam_creds_file

Running (not so short version)

Azure

First step is to create an Azure account at https://azure.microsoft.com.

Authentication

The Elasto client can authenticate with Azure using one of two credentials parameters:

Access Key

An Access Key is associated with a specific storage account, and only allows access to Blob and File Service objects nested within the corresponding account. E.g.

> elasto -K access_key
PublishSettings

A PublishSettings file can be used to create and manipulate storage accounts, as well as underlying Blob and File Service objects. It can be downloaded at https://manage.windowsazure.com/publishsettings/index.
The file contains security sensitive information, so should be kept private.

> elasto -s PublishSettings_path

Service URI

Azure Blob Service (Block Blobs - default)
> elasto -u abb:// ...
Azure Blob Service (Page Blobs)
> elasto -u apb:// ...
Azure File Service
> elasto -u afs:// ...

Amazon S3

Create an Amazon S3 account at https://aws.amazon.com/s3/.

Authentication

Create an IAM group with S3 access, assign a new user to the group:
https://console.aws.amazon.com/iam/home#home → Create a New Group of Users

The IAM user creation wizard allows for the download of access credentials. Select "Generate an access key for each User", and subsequently "Download Credentials".

Commands can then be issued by running the elasto client binary with the -k argument. E.g.

> elasto -k iam_creds_file <command>

Alternatives

Ceph

Open-source, distributed storage system. https://ceph.com

Azure SDK for Rust

https://github.com/Azure/azure-sdk-for-rust

AWS SDK for Rust

https://github.com/awslabs/aws-sdk-rust

About

Lightweight cloud storage library and client

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 97.3%
  • Python 2.7%