GithubHelp home page GithubHelp logo

elastocloud / elasto Goto Github PK

View Code? Open in Web Editor NEW
10.0 4.0 2.0 1.46 MB

Lightweight cloud storage library and client

Home Page: http://elastocloud.org

License: GNU Lesser General Public License v2.1

C 97.31% Python 2.68% Makefile 0.01%

elasto's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.