Skip to main content

Simple replicated file storage

Project description

[![Build Status](https://travis-ci.org/raphaelm/cockatiel.svg?branch=master)](https://travis-ci.org/raphaelm/cockatiel)

THIS IS HIGHLY EXPERIMENTAL, DON’T USE IT IN PRODUCTION (YET)

cockatiel is a replicating file server for small-scale setups. It is intended to be used e.g. for handling user-uploaded files to a web application in a redundant way.

cockatiel doesn’t try to be a CDN, but to implement the simplest solution that fulfills our needs. Currently, cockatiel makes the following assumptions. If those won’t work for you, you should probably be looking for a CDN-like solution.

Assumptions

  • All files can and should be on all cockatiel servers, no sharding

  • File names don’t matter to you, we’ll add the file’s hashsum to the name

  • Files get replicated asynchronously. If that fails, the request will be retried eventually.

  • Files don’t change (if they do, they get a new filename)

  • Adding or removing nodes from the cluster requires manual intervention

  • Files are small enough to be held in memory for a short period

Requirements

  • Python 3.4+

Installation

TBD

Contributing

  • Check out our git repository

  • Install the dependencies using pip install -r requirements.txt. You’ll need a fairly recent pip version and we recommend using virtual environments.

  • You can run all the functional tests using py.test functional_tests/, the unit tests using py.test unit_tests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cockatiel-0.0.1.tar.gz (5.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page