Statistics
| Branch: | Tag: | Revision:

root / snf-pithos-app / README @ 898f06bb

History | View | Annotate | Download (4.4 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_ASTAKOS_URL               \http://127.0.0.1:8000/im/                             Astakos API URL
34
PITHOS_AUTHENTICATION_URL        \http://127.0.0.1:8000/im/authenticate/                Astakos Authentication URL
35
PITHOS_USER_INFO_URL             \http://127.0.0.1:8000/im/service/api/v2.0/users/      Astakos User Information URL
36
PITHOS_AUTHENTICATION_USERS      A dictionary of sample users (token to username)       Set to empty or None to disable
37
PITHOS_BACKEND_DB_MODULE         pithos.backends.lib.sqlalchemy
38
PITHOS_BACKEND_DB_CONNECTION     sqlite:////tmp/pithos-backend.db                       SQLAlchemy database connection string
39
PITHOS_BACKEND_BLOCK_MODULE      pithos.backends.lib.hashfiler
40
PITHOS_BACKEND_BLOCK_PATH        /tmp/pithos-data/                                      Map and block storage path
41
PITHOS_BACKEND_BLOCK_UMASK       0o022                                                  Map and block storage umask
42
PITHOS_BACKEND_QUEUE_MODULE      None                                                   Use ``pithos.backends.lib.rabbitmq`` to enable
43
PITHOS_BACKEND_QUEUE_HOSTS       None                                                   Format like [``amqp://guest:guest@localhost:5672``
44
PITHOS_BACKEND_QUEUE_EXCHANGE    pithos
45
PITHOS_BACKEND_QUOTA             50 GB (50 * 1024 ** 3)                                 Default user quota
46
PITHOS_BACKEND_VERSIONING        auto                                                   Default versioning policy for containers
47
PITHOS_BACKEND_FREE_VERSIONING   True                                                   Default versioning debit policy (default free)
48
PITHOS_UPDATE_MD5                True                                                   Update object checksums when using hashmaps
49
PITHOS_SERVICE_TOKEN             ''                                                     Service token acquired by the identity provider (astakos)
50
PITHOS_RADOS_STORAGE             False                                                  Enables or disables secondary Pithos storage on RADOS
51
PITHOS_RADOS_POOL_BLOCKS         None                                                   RADOS pool to be used for block storage
52
PITHOS_RADOS_POOL_MAPS           None                                                   RADOS pool to be used for maps storage
53
===============================  ==================================================     ============================================================
54

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

    
57
    pithos-dispatcher --exchange=pithos --key=pithos.object --callback=pithos.api.dispatch.update_md5
58

    
59
To send sharing notifications::
60

    
61
    pithos-dispatcher --exchange=pithos --key=pithos.sharing --callback=pithos.api.dispatch.send_sharing_notification
62

    
63
Administrator functions
64
-----------------------
65

    
66
Available as extensions to Django's command-line management utility:
67

    
68
============  ======================
69
Name          Description
70
============  ======================
71
storagequota  Get/set a user's quota
72
============  ======================
73

    
74