Statistics
| Branch: | Tag: | Revision:

root / snf-pithos-app / README @ 4cfccdd2

History | View | Annotate | Download (3.6 kB)

1
README
2
======
3

    
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
6

    
7
Consult COPYRIGHT for licensing information.
8

    
9
About Pithos application
10
------------------------
11

    
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.
13

    
14
How to run
15
----------
16

    
17
Use snf-webproject to run Pithos automatically.
18

    
19
To use Pithos in a custom Django project, just add ``pithos.api`` to ``INSTALLED_APPS``.
20

    
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::
22

    
23
    CREATE DATABASE pithos WITH ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE=template0;
24

    
25
Settings
26
--------
27

    
28
Configure in ``settings.py`` or a ``.conf`` file in ``/etc/synnefo`` if using snf-webproject.
29

    
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_UPDATE_MD5                True                                              Update object checksums when using hashmaps
46
PITHOS_SERVICE_TOKEN             ''                                                Service token acquired by the identity provider (astakos)
47
===============================  ================================================  ============================================================
48

    
49
To update checksums asynchronously, enable the queue, install snf-pithos-tools and use ``pithos-dispatcher``::
50

    
51
    pithos-dispatcher --exchange=pithos --key=pithos.object --callback=pithos.api.dispatch.update_md5
52

    
53
To send sharing notifications::
54

    
55
    pithos-dispatcher --exchange=pithos --key=pithos.sharing --callback=pithos.api.dispatch.send_sharing_notification
56

    
57
Administrator functions
58
-----------------------
59

    
60
Available as extensions to Django's command-line management utility:
61

    
62
============  ======================
63
Name          Description
64
============  ======================
65
storagequota  Get/set a user's quota
66
============  ======================
67

    
68