Statistics
| Branch: | Tag: | Revision:

root / snf-pithos-app / README @ c72c19e4

History | View | Annotate | Download (6.1 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
ASTAKOS_URL                      \https://<astakos.host>/                                           Astakos Authentication URL
34
PITHOS_ASTAKOS_COOKIE_NAME       _pithos2_a                                                         Cookie name to retrieve fallback token
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.hashfile
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_ACCOUNT_QUOTA     50 GB (50 * 1024 ** 3)                                             Default account quota (set to 0 to disable control)
44
PITHOS_BACKEND_CONTAINER_QUOTA   0                                                                  Default container quota (set to 0 to disable control - default disabled)
45
PITHOS_BACKEND_VERSIONING        auto                                                               Default versioning policy for containers
46
PITHOS_BACKEND_FREE_VERSIONING   True                                                               Default versioning debit policy (default free)
47
PITHOS_BACKEND_POOL_SIZE         5                                                                  Default backend pool size
48
PITHOS_UPDATE_MD5                False                                                               Update object checksums
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
PITHOS_TRANSLATE_UUIDS           False                                                              Enables a ui compatibility layer for the introduction of UUIDs in identity management.
54
PITHOS_PROXY_USER_SERVICES       True                                                               Whether to proxy user feedback and catalog services
55
PITHOS_USER_CATALOG_URL          \https://<astakos.host>/user_catalogs/                             Astakos User Catalog URL
56
PITHOS_USER_FEEDBACK_URL         \https://<astakos.host>/feedback/                                  Astakos User Feedback URL
57
PITHOS_USER_LOGIN_URL            \https://<astakos.host>/login/                                     Astakos User Login URL
58
PITHOS_USE_QUOTAHOLDER           True                                                               Enable quotaholder
59
PITHOS_QUOTAHOLDER_URL           ''                                                                 Quotaholder URL
60
PITHOS_QUOTAHOLDER_TOKEN         ''                                                                 Quotaholder token
61
PITHOS_PUBLIC_URL_SECURITY       16                                                                 How many random bytes to use for constructing the URL of Pithos public files
62
PITHOS_PUBLIC_URL_ALPHABET       '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'   The alphabet to use for constructing the URL of Pithos public files
63
===============================  ================================================================   ============================================================
64

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

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

    
69
To send sharing notifications::
70

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

    
73
Administrator functions
74
-----------------------
75

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

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

    
84