32 |
32 |
# or implied, of GRNET S.A.
|
33 |
33 |
|
34 |
34 |
from django.conf import settings
|
|
35 |
from synnefo.lib import join_urls, parse_base_url
|
|
36 |
from synnefo.util.keypath import get_path
|
|
37 |
from pithos_webclient.services import pithos_services
|
|
38 |
from astakosclient import astakos_services
|
35 |
39 |
|
36 |
|
# !!!!!ATTENTION!!!!!
|
37 |
|
# loginUrl MUST end at "next=". You should not give the value of the next
|
38 |
|
# parameter. It will be determined automatically
|
39 |
|
LOGIN_URL = getattr(settings, 'PITHOS_UI_LOGIN_URL',
|
40 |
|
'https://accounts.synnefo.org/astakos/im/login?next=')
|
|
40 |
from copy import deepcopy
|
|
41 |
|
|
42 |
# Process Pithos settings. This code is shared between snf-pithos-app and
|
|
43 |
# snf-pithos-webclient since they share the PITHOS_ settings prefix for most
|
|
44 |
# of their settings.
|
|
45 |
|
|
46 |
# Top-level URL for Pithos. Must set.
|
|
47 |
BASE_URL = getattr(settings, 'PITHOS_BASE_URL',
|
|
48 |
"https://object-store.example.synnefo.org/pithos/")
|
|
49 |
|
|
50 |
BASE_HOST, BASE_PATH = parse_base_url(BASE_URL)
|
|
51 |
|
|
52 |
# Process Astakos settings
|
|
53 |
ASTAKOS_BASE_URL = getattr(settings, 'ASTAKOS_BASE_URL',
|
|
54 |
'https://accounts.example.synnefo.org/astakos/')
|
|
55 |
ASTAKOS_BASE_HOST, ASTAKOS_BASE_PATH = parse_base_url(ASTAKOS_BASE_URL)
|
|
56 |
|
|
57 |
PITHOS_PREFIX = get_path(pithos_services, 'pithos_object-store.prefix')
|
|
58 |
PUBLIC_PREFIX = get_path(pithos_services, 'pithos_public.prefix')
|
|
59 |
UI_PREFIX = get_path(pithos_services, 'pithos_ui.prefix')
|
|
60 |
|
|
61 |
CUSTOMIZE_ASTAKOS_SERVICES = \
|
|
62 |
getattr(settings, 'PITHOS_CUSTOMIZE_ASTAKOS_SERVICES', ())
|
|
63 |
for path, value in CUSTOMIZE_ASTAKOS_SERVICES:
|
|
64 |
set_path(astakos_services, path, value, createpath=True)
|
|
65 |
|
|
66 |
ASTAKOS_ACCOUNTS_PREFIX = get_path(astakos_services, 'astakos_account.prefix')
|
|
67 |
ASTAKOS_VIEWS_PREFIX = get_path(astakos_services, 'astakos_ui.prefix')
|
|
68 |
ASTAKOS_KEYSTONE_PREFIX = get_path(astakos_services, 'astakos_keystone.prefix')
|
|
69 |
|
|
70 |
BASE_ASTAKOS_PROXY_PATH = getattr(settings, 'PITHOS_BASE_ASTAKOS_PROXY_PATH',
|
|
71 |
ASTAKOS_BASE_PATH)
|
|
72 |
|
|
73 |
PROXY_USER_SERVICES = getattr(settings, 'PITHOS_PROXY_USER_SERVICES', True)
|
|
74 |
|
|
75 |
# Base settings set. Resolve webclient required settings
|
|
76 |
ASTAKOS_ACCOUNTS_URL = join_urls(ASTAKOS_BASE_URL, ASTAKOS_ACCOUNTS_PREFIX)
|
|
77 |
if PROXY_USER_SERVICES:
|
|
78 |
ASTAKOS_ACCOUNTS_URL = join_urls('/', BASE_ASTAKOS_PROXY_PATH,
|
|
79 |
ASTAKOS_ACCOUNTS_PREFIX)
|
|
80 |
|
|
81 |
|
|
82 |
if not BASE_PATH.startswith("/"):
|
|
83 |
BASE_PATH = "/" + BASE_PATH
|
|
84 |
|
|
85 |
ACCOUNTS_URL = getattr(settings, 'PITHOS_UI_ACCOUNTS_URL',
|
|
86 |
join_urls(ASTAKOS_ACCOUNTS_URL))
|
|
87 |
USER_CATALOG_URL = getattr(settings, 'PITHOS_UI_USER_CATALOG_URL',
|
|
88 |
join_urls(ACCOUNTS_URL, 'user_catalogs'))
|
41 |
89 |
FEEDBACK_URL = getattr(settings, 'PITHOS_UI_FEEDBACK_URL',
|
42 |
|
'https://accounts.synnefo.org/astakos/im/feedback')
|
|
90 |
join_urls(ACCOUNTS_URL, 'feedback'))
|
|
91 |
PITHOS_URL = getattr(settings, 'PITHOS_UI_PITHOS_URL',
|
|
92 |
join_urls(BASE_PATH, PITHOS_PREFIX, 'v1'))
|
43 |
93 |
AUTH_COOKIE_NAME = getattr(settings, 'PITHOS_UI_AUTH_COOKIE_NAME',
|
44 |
94 |
'_pithos2_a')
|
45 |
|
CLOUDBAR_ACTIVE_SERVICE = getattr(settings,
|
46 |
|
'PITHOS_UI_CLOUDBAR_ACTIVE_SERVICE',
|
47 |
|
'pithos')
|
|
95 |
|
|
96 |
DEFAULT_LOGIN_URL = join_urls(ASTAKOS_BASE_URL, ASTAKOS_VIEWS_PREFIX, 'login')
|
|
97 |
LOGIN_URL = getattr(settings, 'PITHOS_UI_LOGIN_URL', DEFAULT_LOGIN_URL)
|
|
98 |
CLOUDBAR_ACTIVE_SERVICE = getattr(
|
|
99 |
settings,
|
|
100 |
'PITHOS_UI_CLOUDBAR_ACTIVE_SERVICE',
|
|
101 |
'pithos')
|