4 Pithos is a file storage service, built by GRNET using Django (https://www.djangoproject.com/).
5 Learn more about Pithos at: http://code.grnet.gr/projects/pithos
7 Consult COPYRIGHT for licensing information.
9 About Pithos application
10 ------------------------
12 This package contains the Django application that implements the Pithos v2 API. It depends on the Pithos backend, which does the actual data and metadata operations.
17 Use snf-webproject to run Pithos automatically.
19 To use Pithos in a custom Django project, just add ``pithos.api`` to ``INSTALLED_APPS``.
21 Pithos has been tested with SQLite and PostgreSQL backend databases. When using PostgreSQL, ensure that the has been created with the appropriate encoding and collation::
23 CREATE DATABASE pithos WITH ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE=template0;
28 Configure in ``settings.py`` or a ``.conf`` file in ``/etc/synnefo`` if using snf-webproject.
30 =============================== ================================================ ============================================================
31 Name Default value Description
32 =============================== ================================================ ============================================================
33 PITHOS_AUTHENTICATION_URL \http://127.0.0.1:8000/im/authenticate Astakos API URL
34 PITHOS_AUTHENTICATION_USERS A dictionary of sample users (token to username) Set to empty or None to disable
35 PITHOS_BACKEND_DB_MODULE pithos.backends.lib.sqlalchemy
36 PITHOS_BACKEND_DB_CONNECTION sqlite:////tmp/pithos-backend.db SQLAlchemy database connection string
37 PITHOS_BACKEND_BLOCK_MODULE pithos.backends.lib.hashfiler
38 PITHOS_BACKEND_BLOCK_PATH /tmp/pithos-data/ Map and block storage path
39 PITHOS_BACKEND_BLOCK_UMASK 0o022 Map and block storage umask
40 PITHOS_BACKEND_QUEUE_MODULE None Use ``pithos.backends.lib.rabbitmq`` to enable
41 PITHOS_BACKEND_QUEUE_HOSTS None Format like [``amqp://guest:guest@localhost:5672``
42 PITHOS_BACKEND_QUEUE_EXCHANGE pithos
43 PITHOS_BACKEND_QUOTA 50 GB (50 * 1024 ** 3) Default user quota
44 PITHOS_BACKEND_VERSIONING auto Default versioning policy for containers
45 PITHOS_BACKEND_FREE_VERSIONING True Default versioning debit policy (default free)
46 PITHOS_UPDATE_MD5 True Update object checksums when using hashmaps
47 PITHOS_SERVICE_TOKEN '' Service token acquired by the identity provider (astakos)
48 =============================== ================================================ ============================================================
50 To update checksums asynchronously, enable the queue, install snf-pithos-tools and use ``pithos-dispatcher``::
52 pithos-dispatcher --exchange=pithos --key=pithos.object --callback=pithos.api.dispatch.update_md5
54 To send sharing notifications::
56 pithos-dispatcher --exchange=pithos --key=pithos.sharing --callback=pithos.api.dispatch.send_sharing_notification
58 Administrator functions
59 -----------------------
61 Available as extensions to Django's command-line management utility:
63 ============ ======================
65 ============ ======================
66 storagequota Get/set a user's quota
67 ============ ======================