Statistics
| Branch: | Tag: | Revision:

root / snf-pithos-app / README @ 02d94254

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

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

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

    
58
To send sharing notifications::
59

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

    
62
Administrator functions
63
-----------------------
64

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

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

    
73