Statistics
| Branch: | Tag: | Revision:

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

History | View | Annotate | Download (5.9 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        \https://<astakos.host>/im/authenticate/                           Astakos Authentication URL
34
PITHOS_AUTHENTICATION_USERS      A dictionary of sample users (token to username)                   Set to empty or None to disable
35
PITHOS_ASTAKOS_COOKIE_NAME       _pithos2_a                                                         Cookie name to retrieve fallback token
36
PITHOS_BACKEND_DB_MODULE         pithos.backends.lib.sqlalchemy
37
PITHOS_BACKEND_DB_CONNECTION     sqlite:////tmp/pithos-backend.db                                   SQLAlchemy database connection string
38
PITHOS_BACKEND_BLOCK_MODULE      pithos.backends.lib.hashfile
39
PITHOS_BACKEND_BLOCK_PATH        /tmp/pithos-data/                                                  Map and block storage path
40
PITHOS_BACKEND_BLOCK_UMASK       0o022                                                              Map and block storage umask
41
PITHOS_BACKEND_QUEUE_MODULE      None                                                               Use ``pithos.backends.lib.rabbitmq`` to enable
42
PITHOS_BACKEND_QUEUE_HOSTS       None                                                               Format like [``amqp://guest:guest@localhost:5672``
43
PITHOS_BACKEND_QUEUE_EXCHANGE    pithos
44
PITHOS_BACKEND_QUOTA             50 GB (50 * 1024 ** 3)                                             Default user quota
45
PITHOS_BACKEND_VERSIONING        auto                                                               Default versioning policy for containers
46
PITHOS_BACKEND_FREE_VERSIONING   True                                                               Default versioning debit policy (default free)
47
PITHOS_UPDATE_MD5                True                                                               Update object checksums when using hashmaps
48
PITHOS_SERVICE_TOKEN             ''                                                                 Service token acquired by the identity provider (astakos)
49
PITHOS_RADOS_STORAGE             False                                                              Enables or disables secondary Pithos storage on RADOS
50
PITHOS_RADOS_POOL_BLOCKS         None                                                               RADOS pool to be used for block storage
51
PITHOS_RADOS_POOL_MAPS           None                                                               RADOS pool to be used for maps storage
52
PITHOS_TRANSLATE_UUIDS           False                                                              Enables a ui compatibility layer for the introduction of UUIDs in identity management.
53
PITHOS_PROXY_USER_SERVICES       True                                                               Whether to proxy user feedback and catalog services
54
PITHOS_USER_CATALOG_URL          \https://<astakos.host>/user_catalogs/                             Astakos User Catalog URL
55
PITHOS_USER_FEEDBACK_URL         \https://<astakos.host>/feedback/                                  Astakos User Feedback URL
56
PITHOS_USER_LOGIN_URL            \https://<astakos.host>/login/                                     Astakos User Login URL
57
PITHOS_USE_QUOTAHOLDER           True                                                               Enable quotaholder
58
PITHOS_QUOTAHOLDER_URL           ''                                                                 Quotaholder URL
59
PITHOS_QUOTAHOLDER_TOKEN         ''                                                                 Quotaholder token
60
PITHOS_PUBLIC_URL_SECURITY       16                                                                 How many random bytes to use for constructing the URL of Pithos public files
61
PITHOS_PUBLIC_URL_ALPHABET       '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'   The alphabet to use for constructing the URL of Pithos public files
62
===============================  ================================================================   ============================================================
63

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

    
66
    pithos-dispatcher --exchange=pithos --key=pithos.object --callback=pithos.api.dispatch.update_md5
67

    
68
To send sharing notifications::
69

    
70
    pithos-dispatcher --exchange=pithos --key=pithos.sharing --callback=pithos.api.dispatch.send_sharing_notification
71

    
72
Administrator functions
73
-----------------------
74

    
75
Available as extensions to Django's command-line management utility:
76

    
77
============  ======================
78
Name          Description
79
============  ======================
80
storagequota  Get/set a user's quota
81
============  ======================
82

    
83