Statistics
| Branch: | Tag: | Revision:

root / snf-pithos-app / README @ 46c7945b

History | View | Annotate | Download (4.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 890c2065 Sofia Papagiannaki
===============================  ====================================================   ============================================================
31 c700f742 Sofia Papagiannaki
Name                             Default value                                          Description
32 890c2065 Sofia Papagiannaki
===============================  ====================================================   ============================================================
33 27932481 Sofia Papagiannaki
PITHOS_PROXY_USER_SERVICES       True                                                   Whether to proxy user feedback and catalog services
34 890c2065 Sofia Papagiannaki
PITHOS_USER_CATALOG_URL          \http://127.0.0.1:8000/im/service/api/v2.0/users/      Astakos User Catalog URL
35 890c2065 Sofia Papagiannaki
PITHOS_USER_FEEDBACK_URL         \http://127.0.0.1:8000/im/service/api/v2.0/feedback/   Astakos User Feedback URL
36 890c2065 Sofia Papagiannaki
PITHOS_USER_LOGIN_URL            \http://127.0.0.1:8000/login/                          Astakos User Login URL
37 c700f742 Sofia Papagiannaki
PITHOS_AUTHENTICATION_URL        \http://127.0.0.1:8000/im/authenticate/                Astakos Authentication URL
38 c700f742 Sofia Papagiannaki
PITHOS_AUTHENTICATION_USERS      A dictionary of sample users (token to username)       Set to empty or None to disable
39 dfb1fafa Antony Chazapis
PITHOS_BACKEND_DB_MODULE         pithos.backends.lib.sqlalchemy
40 c700f742 Sofia Papagiannaki
PITHOS_BACKEND_DB_CONNECTION     sqlite:////tmp/pithos-backend.db                       SQLAlchemy database connection string
41 dfb1fafa Antony Chazapis
PITHOS_BACKEND_BLOCK_MODULE      pithos.backends.lib.hashfiler
42 c700f742 Sofia Papagiannaki
PITHOS_BACKEND_BLOCK_PATH        /tmp/pithos-data/                                      Map and block storage path
43 c700f742 Sofia Papagiannaki
PITHOS_BACKEND_BLOCK_UMASK       0o022                                                  Map and block storage umask
44 c700f742 Sofia Papagiannaki
PITHOS_BACKEND_QUEUE_MODULE      None                                                   Use ``pithos.backends.lib.rabbitmq`` to enable
45 c700f742 Sofia Papagiannaki
PITHOS_BACKEND_QUEUE_HOSTS       None                                                   Format like [``amqp://guest:guest@localhost:5672``
46 4cfccdd2 Sofia Papagiannaki
PITHOS_BACKEND_QUEUE_EXCHANGE    pithos
47 c700f742 Sofia Papagiannaki
PITHOS_BACKEND_QUOTA             50 GB (50 * 1024 ** 3)                                 Default user quota
48 c700f742 Sofia Papagiannaki
PITHOS_BACKEND_VERSIONING        auto                                                   Default versioning policy for containers
49 c700f742 Sofia Papagiannaki
PITHOS_BACKEND_FREE_VERSIONING   True                                                   Default versioning debit policy (default free)
50 c700f742 Sofia Papagiannaki
PITHOS_UPDATE_MD5                True                                                   Update object checksums when using hashmaps
51 02d94254 Sofia Papagiannaki
PITHOS_SERVICE_TOKEN             ''                                                     Service token acquired by the identity provider (astakos)
52 898f06bb Filippos Giannakos
PITHOS_RADOS_STORAGE             False                                                  Enables or disables secondary Pithos storage on RADOS
53 898f06bb Filippos Giannakos
PITHOS_RADOS_POOL_BLOCKS         None                                                   RADOS pool to be used for block storage
54 898f06bb Filippos Giannakos
PITHOS_RADOS_POOL_MAPS           None                                                   RADOS pool to be used for maps storage
55 c700f742 Sofia Papagiannaki
===============================  ==================================================     ============================================================
56 dfb1fafa Antony Chazapis
57 b3155065 Antony Chazapis
To update checksums asynchronously, enable the queue, install snf-pithos-tools and use ``pithos-dispatcher``::
58 b3155065 Antony Chazapis
59 8d9a3fbd Antony Chazapis
    pithos-dispatcher --exchange=pithos --key=pithos.object --callback=pithos.api.dispatch.update_md5
60 b3155065 Antony Chazapis
61 a74ba506 Sofia Papagiannaki
To send sharing notifications::
62 a74ba506 Sofia Papagiannaki
63 a74ba506 Sofia Papagiannaki
    pithos-dispatcher --exchange=pithos --key=pithos.sharing --callback=pithos.api.dispatch.send_sharing_notification
64 a74ba506 Sofia Papagiannaki
65 dfb1fafa Antony Chazapis
Administrator functions
66 dfb1fafa Antony Chazapis
-----------------------
67 dfb1fafa Antony Chazapis
68 dfb1fafa Antony Chazapis
Available as extensions to Django's command-line management utility:
69 dfb1fafa Antony Chazapis
70 dfb1fafa Antony Chazapis
============  ======================
71 dfb1fafa Antony Chazapis
Name          Description
72 dfb1fafa Antony Chazapis
============  ======================
73 dfb1fafa Antony Chazapis
storagequota  Get/set a user's quota
74 dfb1fafa Antony Chazapis
============  ======================
75 dfb1fafa Antony Chazapis