Statistics
| Branch: | Tag: | Revision:

root / snf-pithos-app / README @ f4fbb0fa

History | View | Annotate | Download (3.6 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 f4fbb0fa Sofia Papagiannaki
PITHOS_BACKEND_QUEUE_HOSTS       None                                              Format like [``amqp://guest:guest@localhost:5672``
42 f4fbb0fa Sofia Papagiannaki
PITHOS_BACKEND_QUEUE_EXCHANGE    pithos
43 dfb1fafa Antony Chazapis
PITHOS_BACKEND_QUOTA             50 GB (50 * 1024 ** 3)                            Default user quota
44 dfb1fafa Antony Chazapis
PITHOS_BACKEND_VERSIONING        auto                                              Default versioning policy for containers
45 8efd183f Antony Chazapis
PITHOS_UPDATE_MD5                True                                              Update object checksums when using hashmaps
46 b91bd50a Sofia Papagiannaki
PITHOS_SERVICE_TOKEN             ''                                                Service token acquired by the identity provider (astakos)
47 dfb1fafa Antony Chazapis
===============================  ================================================  ============================================================
48 dfb1fafa Antony Chazapis
49 b3155065 Antony Chazapis
To update checksums asynchronously, enable the queue, install snf-pithos-tools and use ``pithos-dispatcher``::
50 b3155065 Antony Chazapis
51 8d9a3fbd Antony Chazapis
    pithos-dispatcher --exchange=pithos --key=pithos.object --callback=pithos.api.dispatch.update_md5
52 b3155065 Antony Chazapis
53 a74ba506 Sofia Papagiannaki
To send sharing notifications::
54 a74ba506 Sofia Papagiannaki
55 a74ba506 Sofia Papagiannaki
    pithos-dispatcher --exchange=pithos --key=pithos.sharing --callback=pithos.api.dispatch.send_sharing_notification
56 a74ba506 Sofia Papagiannaki
57 dfb1fafa Antony Chazapis
Administrator functions
58 dfb1fafa Antony Chazapis
-----------------------
59 dfb1fafa Antony Chazapis
60 dfb1fafa Antony Chazapis
Available as extensions to Django's command-line management utility:
61 dfb1fafa Antony Chazapis
62 dfb1fafa Antony Chazapis
============  ======================
63 dfb1fafa Antony Chazapis
Name          Description
64 dfb1fafa Antony Chazapis
============  ======================
65 dfb1fafa Antony Chazapis
storagequota  Get/set a user's quota
66 dfb1fafa Antony Chazapis
============  ======================
67 dfb1fafa Antony Chazapis