Statistics
| Branch: | Tag: | Revision:

root / snf-pithos-app / README @ d21f29f0

History | View | Annotate | Download (3.5 kB)

1 dfb1fafa Antony Chazapis
README
2 dfb1fafa Antony Chazapis
======
3 dfb1fafa Antony Chazapis
4 dfb1fafa Antony Chazapis
Pithos is a file storage service, built by GRNET using Django (https://www.djangoproject.com/).
5 dfb1fafa Antony Chazapis
Learn more about Pithos at: http://code.grnet.gr/projects/pithos
6 dfb1fafa Antony Chazapis
7 dfb1fafa Antony Chazapis
Consult COPYRIGHT for licensing information.
8 dfb1fafa Antony Chazapis
9 dfb1fafa Antony Chazapis
About Pithos application
10 dfb1fafa Antony Chazapis
------------------------
11 dfb1fafa Antony Chazapis
12 dfb1fafa Antony Chazapis
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.
13 dfb1fafa Antony Chazapis
14 dfb1fafa Antony Chazapis
How to run
15 dfb1fafa Antony Chazapis
----------
16 dfb1fafa Antony Chazapis
17 dfb1fafa Antony Chazapis
Use snf-webproject to run Pithos automatically.
18 dfb1fafa Antony Chazapis
19 dfb1fafa Antony Chazapis
To use Pithos in a custom Django project, just add ``pithos.api`` to ``INSTALLED_APPS``.
20 dfb1fafa Antony Chazapis
21 2c04b1dd Antony Chazapis
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::
22 2c04b1dd Antony Chazapis
23 2c04b1dd Antony Chazapis
    CREATE DATABASE pithos WITH ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE=template0;
24 2c04b1dd Antony Chazapis
25 dfb1fafa Antony Chazapis
Settings
26 dfb1fafa Antony Chazapis
--------
27 dfb1fafa Antony Chazapis
28 dfb1fafa Antony Chazapis
Configure in ``settings.py`` or a ``.conf`` file in ``/etc/synnefo`` if using snf-webproject.
29 dfb1fafa Antony Chazapis
30 dfb1fafa Antony Chazapis
===============================  ================================================  ============================================================
31 dfb1fafa Antony Chazapis
Name                             Default value                                     Description
32 dfb1fafa Antony Chazapis
===============================  ================================================  ============================================================
33 dfb1fafa Antony Chazapis
PITHOS_AUTHENTICATION_URL        \http://127.0.0.1:8000/im/authenticate            Astakos API URL
34 dfb1fafa Antony Chazapis
PITHOS_AUTHENTICATION_USERS      A dictionary of sample users (token to username)  Set to empty or None to disable
35 dfb1fafa Antony Chazapis
PITHOS_BACKEND_DB_MODULE         pithos.backends.lib.sqlalchemy
36 dfb1fafa Antony Chazapis
PITHOS_BACKEND_DB_CONNECTION     sqlite:////tmp/pithos-backend.db                  SQLAlchemy database connection string
37 dfb1fafa Antony Chazapis
PITHOS_BACKEND_BLOCK_MODULE      pithos.backends.lib.hashfiler
38 dfb1fafa Antony Chazapis
PITHOS_BACKEND_BLOCK_PATH        /tmp/pithos-data/                                 Map and block storage path
39 f3b65e8f Antony Chazapis
PITHOS_BACKEND_BLOCK_UMASK       0o022                                             Map and block storage umask
40 dfb1fafa Antony Chazapis
PITHOS_BACKEND_QUEUE_MODULE      None                                              Use ``pithos.backends.lib.rabbitmq`` to enable
41 dfb1fafa Antony Chazapis
PITHOS_BACKEND_QUEUE_CONNECTION  None                                              Format like ``rabbitmq://guest:guest@localhost:5672/pithos``
42 dfb1fafa Antony Chazapis
PITHOS_BACKEND_QUOTA             50 GB (50 * 1024 ** 3)                            Default user quota
43 dfb1fafa Antony Chazapis
PITHOS_BACKEND_VERSIONING        auto                                              Default versioning policy for containers
44 8efd183f Antony Chazapis
PITHOS_UPDATE_MD5                True                                              Update object checksums when using hashmaps
45 b91bd50a Sofia Papagiannaki
PITHOS_SERVICE_TOKEN             ''                                                Service token acquired by the identity provider (astakos)
46 dfb1fafa Antony Chazapis
===============================  ================================================  ============================================================
47 dfb1fafa Antony Chazapis
48 b3155065 Antony Chazapis
To update checksums asynchronously, enable the queue, install snf-pithos-tools and use ``pithos-dispatcher``::
49 b3155065 Antony Chazapis
50 8d9a3fbd Antony Chazapis
    pithos-dispatcher --exchange=pithos --key=pithos.object --callback=pithos.api.dispatch.update_md5
51 b3155065 Antony Chazapis
52 a74ba506 Sofia Papagiannaki
To send sharing notifications::
53 a74ba506 Sofia Papagiannaki
54 a74ba506 Sofia Papagiannaki
    pithos-dispatcher --exchange=pithos --key=pithos.sharing --callback=pithos.api.dispatch.send_sharing_notification
55 a74ba506 Sofia Papagiannaki
56 dfb1fafa Antony Chazapis
Administrator functions
57 dfb1fafa Antony Chazapis
-----------------------
58 dfb1fafa Antony Chazapis
59 dfb1fafa Antony Chazapis
Available as extensions to Django's command-line management utility:
60 dfb1fafa Antony Chazapis
61 dfb1fafa Antony Chazapis
============  ======================
62 dfb1fafa Antony Chazapis
Name          Description
63 dfb1fafa Antony Chazapis
============  ======================
64 dfb1fafa Antony Chazapis
storagequota  Get/set a user's quota
65 dfb1fafa Antony Chazapis
============  ======================
66 dfb1fafa Antony Chazapis