All Projects → frugalos → Frugalos

frugalos / Frugalos

Licence: mit
Frugal Object Storage

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Frugalos

Seaweedfs
SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding.
Stars: ✭ 13,380 (+4855.56%)
Mutual labels:  object-storage
python-ecsclient
Python library for interacting with the Dell ECS Management API
Stars: ✭ 12 (-95.56%)
Mutual labels:  object-storage
minio-ruby
MinIO Client SDK for Ruby
Stars: ✭ 26 (-90.37%)
Mutual labels:  object-storage
ossperf
A lightweight tool for analyzing the performance and data integrity of object-based storage services
Stars: ✭ 67 (-75.19%)
Mutual labels:  object-storage
minio-dart
Unofficial MinIO Dart Client SDK that provides simple APIs to access any Amazon S3 compatible object storage server.
Stars: ✭ 42 (-84.44%)
Mutual labels:  object-storage
ECS-CommunityEdition
ECS Community Edition "Free & Frictionless"
Stars: ✭ 125 (-53.7%)
Mutual labels:  object-storage
Akubra
Simple solution to keep a independent S3 storages in sync
Stars: ✭ 79 (-70.74%)
Mutual labels:  object-storage
docker-s3fs
S3FS Docker image
Stars: ✭ 18 (-93.33%)
Mutual labels:  object-storage
php object storage
对象存储PHP简易代码,支持简单上传,删除,列表功能。支持网易,腾讯,七牛,UCloud,亚马逊
Stars: ✭ 17 (-93.7%)
Mutual labels:  object-storage
auklet
Auklet is a high performance storage engine based on Openstack Swift
Stars: ✭ 86 (-68.15%)
Mutual labels:  object-storage
qscamel
qscamel is a command line tool to migrate data between different endpoint efficiently.
Stars: ✭ 34 (-87.41%)
Mutual labels:  object-storage
ufile-gosdk
UCloud 对象存储官方 SDK。
Stars: ✭ 34 (-87.41%)
Mutual labels:  object-storage
laravel-ovh
Wrapper for OVH Object Storage integration with laravel
Stars: ✭ 30 (-88.89%)
Mutual labels:  object-storage
Dosa
DOSA is a data object abstraction layer
Stars: ✭ 172 (-36.3%)
Mutual labels:  object-storage
ibm-cloud-functions-serverless-ocr-openchecks
Serverless bank check deposit processing with object storage and optical character recognition using Apache OpenWhisk powered by IBM Cloud Functions. See the Tech Talk replay for a demo.
Stars: ✭ 40 (-85.19%)
Mutual labels:  object-storage
Storj
Ongoing Storj v3 development. Decentralized cloud object storage that is affordable, easy to use, private, and secure.
Stars: ✭ 1,278 (+373.33%)
Mutual labels:  object-storage
tgstore
An encrypted object storage system with unlimited space backed by Telegram.
Stars: ✭ 69 (-74.44%)
Mutual labels:  object-storage
yfs
🏠超精简分布式对象存储
Stars: ✭ 35 (-87.04%)
Mutual labels:  object-storage
phalanx
Phalanx is a cloud-native distributed search engine that provides endpoints through gRPC and traditional RESTful API.
Stars: ✭ 192 (-28.89%)
Mutual labels:  object-storage
S4
S4 is 100% S3 compatible storage, accessed through Tor and distributed using IPFS.
Stars: ✭ 67 (-75.19%)
Mutual labels:  object-storage

Frugalos

Frugal Object Storage

Crates.io: frugalos Documentation Build Status License: MIT

Frugalos is a distributed object storage written by Rust.
It is suitable for storing medium size BLOBs that become petabyte scale in total.

Documentation

Installation

You can install frugalos by the following command:

$ cargo install frugalos

Note: The current installation process requires automake, autoconf, and libtool to build liberasurecode internally. If you have not installed them, please install them. (See also liberasurecode's prerequisites)

You can also use pre-build binaries from the releases page.

Simple Example

// Create a cluster.
$ frugalos create --id example --data-dir example/
Oct 26 13:42:06.244 INFO [START] create: local=Server { id: "example", seqno: 0, host: V4(127.0.0.1), port: 14278 }; data_dir.as_ref()="example/"; , server: [email protected]:14278, module: frugalos_config::cluster:121
Oct 26 13:42:06.245 INFO Creates data directry: "example/", server: [email protected]:14278, module: frugalos_config::cluster:113
Oct 26 13:42:06.256 INFO [START] LoadBallot: lump_id=LumpId("03000000000000000000000000000000"); , server: [email protected]:14278, module: frugalos_raft::storage::ballot:21
...
...

// Start a frugalos process in the background.
$ frugalos start --data-dir example/ &
Oct 26 13:46:16.046 INFO Local server info: Server { id: "example", seqno: 0, host: V4(127.0.0.1), port: 14278 }, module: frugalos_config::service:68
Oct 26 13:46:16.062 INFO [START] LoadBallot: lump_id=LumpId("03000000000000000000000000000000"); , module: frugalos_raft::storage::ballot:21
Oct 26 13:46:16.086 INFO Starts RPC server, server: 127.0.0.1:14278, module: fibers_rpc::rpc_server:221
...
...

// Add a device and a bucket to store objects.
$ DEVICE_JSON='{"file": {"id": "file0", "server": "example", "filepath": "example/file0.lusf"}}'
$ curl -XPUT -d "$DEVICE_JSON" http://localhost:3000/v1/devices/file0
{"file":{"id":"file0","seqno":0,"weight":"auto","server":"example","capacity":19556691462,"filepath":"example/file0.lusf"}}%

$ BUCKET_JSON='{"metadata": {"id": "bucket0", "device": "file0", "tolerable_faults": 1}}'
$ curl -XPUT -d "$BUCKET_JSON" http://localhost:3000/v1/buckets/bucket0
{"metadata":{"id":"bucket0","seqno":0,"device":"file0","segment_count":1,"tolerable_faults":1}}%

// PUT and GET an object.
$ curl -XPUT -d 'your_object_data' http://localhost:3000/v1/buckets/bucket0/objects/your_object_id
$ curl http://localhost:3000/v1/buckets/bucket0/objects/your_object_id
your_object_data

Please see REST API for details and other available APIs.

For Frugalos Developers

Please see Developer's Guide.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].