root / snf-pithos-app / README @ 61c5b615
History | View | Annotate | Download (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 \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_BACKEND_POOL_SIZE 5 Default backend pool size |
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 |
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 |
|