Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / settings.py @ 775d5ad7

History | View | Annotate | Download (10 kB)

1 92defad4 Sofia Papagiannaki
from django.conf import settings
2 92defad4 Sofia Papagiannaki
3 92defad4 Sofia Papagiannaki
# Set the expiration time of newly created auth tokens
4 92defad4 Sofia Papagiannaki
# to be this many hours after their creation time.
5 92defad4 Sofia Papagiannaki
AUTH_TOKEN_DURATION = getattr(settings, 'ASTAKOS_AUTH_TOKEN_DURATION', 30 * 24)
6 92defad4 Sofia Papagiannaki
7 92defad4 Sofia Papagiannaki
# Authenticate via Twitter.
8 c101b32b Kostas Papadimitriou
TWITTER_TOKEN = getattr(settings, 'ASTAKOS_TWITTER_TOKEN', '')
9 92defad4 Sofia Papagiannaki
TWITTER_SECRET = getattr(settings, 'ASTAKOS_TWITTER_SECRET', '')
10 92defad4 Sofia Papagiannaki
11 92defad4 Sofia Papagiannaki
DEFAULT_USER_LEVEL = getattr(settings, 'ASTAKOS_DEFAULT_USER_LEVEL', 4)
12 92defad4 Sofia Papagiannaki
13 92defad4 Sofia Papagiannaki
INVITATIONS_PER_LEVEL = getattr(settings, 'ASTAKOS_INVITATIONS_PER_LEVEL', {
14 5ce3ce4f Sofia Papagiannaki
    0: 100,
15 5ce3ce4f Sofia Papagiannaki
    1: 2,
16 5ce3ce4f Sofia Papagiannaki
    2: 0,
17 5ce3ce4f Sofia Papagiannaki
    3: 0,
18 5ce3ce4f Sofia Papagiannaki
    4: 0
19 92defad4 Sofia Papagiannaki
})
20 92defad4 Sofia Papagiannaki
21 92defad4 Sofia Papagiannaki
# Address to use for outgoing emails
22 5ce3ce4f Sofia Papagiannaki
DEFAULT_CONTACT_EMAIL = getattr(
23 5ce3ce4f Sofia Papagiannaki
    settings, 'ASTAKOS_DEFAULT_CONTACT_EMAIL', 'support@cloud.grnet.gr')
24 92defad4 Sofia Papagiannaki
25 92defad4 Sofia Papagiannaki
# Identity Management enabled modules
26 8f5a3a06 Sofia Papagiannaki
IM_MODULES = getattr(settings, 'ASTAKOS_IM_MODULES', ['local', 'shibboleth'])
27 92defad4 Sofia Papagiannaki
28 92defad4 Sofia Papagiannaki
# Force user profile verification
29 92defad4 Sofia Papagiannaki
FORCE_PROFILE_UPDATE = getattr(settings, 'ASTAKOS_FORCE_PROFILE_UPDATE', True)
30 92defad4 Sofia Papagiannaki
31 92defad4 Sofia Papagiannaki
#Enable invitations
32 92defad4 Sofia Papagiannaki
INVITATIONS_ENABLED = getattr(settings, 'ASTAKOS_INVITATIONS_ENABLED', True)
33 92defad4 Sofia Papagiannaki
34 92defad4 Sofia Papagiannaki
COOKIE_NAME = getattr(settings, 'ASTAKOS_COOKIE_NAME', '_pithos2_a')
35 92defad4 Sofia Papagiannaki
COOKIE_DOMAIN = getattr(settings, 'ASTAKOS_COOKIE_DOMAIN', None)
36 ca34523e Antony Chazapis
COOKIE_SECURE = getattr(settings, 'ASTAKOS_COOKIE_SECURE', True)
37 92defad4 Sofia Papagiannaki
38 94459980 Kostas Papadimitriou
IM_STATIC_URL = getattr(settings, 'ASTAKOS_IM_STATIC_URL', '/static/im/')
39 92defad4 Sofia Papagiannaki
40 1463659a Sofia Papagiannaki
# If set to False and invitations not enabled newly created user will be automatically accepted
41 1463659a Sofia Papagiannaki
MODERATION_ENABLED = getattr(settings, 'ASTAKOS_MODERATION_ENABLED', True)
42 1463659a Sofia Papagiannaki
43 374611bc Sofia Papagiannaki
# Set baseurl
44 374611bc Sofia Papagiannaki
BASEURL = getattr(settings, 'ASTAKOS_BASEURL', 'http://pithos.dev.grnet.gr')
45 374611bc Sofia Papagiannaki
46 374611bc Sofia Papagiannaki
# Set service name
47 d552ecb7 Antony Chazapis
SITENAME = getattr(settings, 'ASTAKOS_SITENAME', 'GRNET Cloud')
48 1ae97c83 Sofia Papagiannaki
49 db7fecd9 Sofia Papagiannaki
# Set recaptcha keys
50 db7fecd9 Sofia Papagiannaki
RECAPTCHA_PUBLIC_KEY = getattr(settings, 'ASTAKOS_RECAPTCHA_PUBLIC_KEY', '')
51 db7fecd9 Sofia Papagiannaki
RECAPTCHA_PRIVATE_KEY = getattr(settings, 'ASTAKOS_RECAPTCHA_PRIVATE_KEY', '')
52 5ce3ce4f Sofia Papagiannaki
RECAPTCHA_OPTIONS = getattr(settings, 'ASTAKOS_RECAPTCHA_OPTIONS',
53 5ce3ce4f Sofia Papagiannaki
                            {'theme': 'custom', 'custom_theme_widget': 'okeanos_recaptcha'})
54 989b28f3 Kostas Papadimitriou
RECAPTCHA_USE_SSL = getattr(settings, 'ASTAKOS_RECAPTCHA_USE_SSL', True)
55 53bf2659 Sofia Papagiannaki
RECAPTCHA_ENABLED = getattr(settings, 'ASTAKOS_RECAPTCHA_ENABLED', True)
56 ee1de5e9 Kostas Papadimitriou
57 9c01d9d1 Sofia Papagiannaki
# set AstakosUser fields to propagate in the billing system
58 91bf571f Sofia Papagiannaki
BILLING_FIELDS = getattr(settings, 'ASTAKOS_BILLING_FIELDS', ['is_active'])
59 9c01d9d1 Sofia Papagiannaki
60 9c01d9d1 Sofia Papagiannaki
# Queue for billing.
61 5ce3ce4f Sofia Papagiannaki
QUEUE_CONNECTION = getattr(settings, 'ASTAKOS_QUEUE_CONNECTION', None)  # Example: 'rabbitmq://guest:guest@localhost:5672/astakos'
62 3a9f4931 Sofia Papagiannaki
63 3a9f4931 Sofia Papagiannaki
# Set where the user should be redirected after logout
64 ebd369d0 Sofia Papagiannaki
LOGOUT_NEXT = getattr(settings, 'ASTAKOS_LOGOUT_NEXT', '')
65 ebd369d0 Sofia Papagiannaki
66 ebd369d0 Sofia Papagiannaki
# Set user email patterns that are automatically activated
67 5ce3ce4f Sofia Papagiannaki
RE_USER_EMAIL_PATTERNS = getattr(
68 5ce3ce4f Sofia Papagiannaki
    settings, 'ASTAKOS_RE_USER_EMAIL_PATTERNS', [])
69 25d9d4d0 Sofia Papagiannaki
70 76776df1 Kostas Papadimitriou
# Messages to display on login page header
71 76776df1 Kostas Papadimitriou
# e.g. {'warning': 'This warning message will be displayed on the top of login page'}
72 4f78c22c Sofia Papagiannaki
LOGIN_MESSAGES = getattr(settings, 'ASTAKOS_LOGIN_MESSAGES', [])
73 25d9d4d0 Sofia Papagiannaki
74 ad956265 Kostas Papadimitriou
# Messages to display on login page header
75 ad956265 Kostas Papadimitriou
# e.g. {'warning': 'This warning message will be displayed on the top of signup page'}
76 4f78c22c Sofia Papagiannaki
SIGNUP_MESSAGES = getattr(settings, 'ASTAKOS_SIGNUP_MESSAGES', [])
77 ad956265 Kostas Papadimitriou
78 ad956265 Kostas Papadimitriou
# Messages to display on login page header
79 ad956265 Kostas Papadimitriou
# e.g. {'warning': 'This warning message will be displayed on the top of profile page'}
80 4f78c22c Sofia Papagiannaki
PROFILE_MESSAGES = getattr(settings, 'ASTAKOS_PROFILE_MESSAGES', [])
81 ad956265 Kostas Papadimitriou
82 ad956265 Kostas Papadimitriou
# Messages to display on all pages
83 ad956265 Kostas Papadimitriou
# e.g. {'warning': 'This warning message will be displayed on the top of every page'}
84 4f78c22c Sofia Papagiannaki
GLOBAL_MESSAGES = getattr(settings, 'ASTAKOS_GLOBAL_MESSAGES', [])
85 ad956265 Kostas Papadimitriou
86 76776df1 Kostas Papadimitriou
# messages to display as extra actions in account forms
87 76776df1 Kostas Papadimitriou
# e.g. {'https://cms.okeanos.grnet.gr/': 'Back to ~okeanos'}
88 76776df1 Kostas Papadimitriou
PROFILE_EXTRA_LINKS = getattr(settings, 'ASTAKOS_PROFILE_EXTRA_LINKS', {})
89 76776df1 Kostas Papadimitriou
90 1cbce16f Sofia Papagiannaki
# The number of unsuccessful login requests per minute allowed for a specific user
91 5ce3ce4f Sofia Papagiannaki
RATELIMIT_RETRIES_ALLOWED = getattr(
92 5ce3ce4f Sofia Papagiannaki
    settings, 'ASTAKOS_RATELIMIT_RETRIES_ALLOWED', 3)
93 672d445a Sofia Papagiannaki
94 e2447828 Sofia Papagiannaki
# If False the email change mechanism is disabled
95 e2447828 Sofia Papagiannaki
EMAILCHANGE_ENABLED = getattr(settings, 'ASTAKOS_EMAILCHANGE_ENABLED', False)
96 e2447828 Sofia Papagiannaki
97 e2447828 Sofia Papagiannaki
# Set the expiration time (in days) of email change requests
98 5ce3ce4f Sofia Papagiannaki
EMAILCHANGE_ACTIVATION_DAYS = getattr(
99 5ce3ce4f Sofia Papagiannaki
    settings, 'ASTAKOS_EMAILCHANGE_ACTIVATION_DAYS', 10)
100 111f3da6 Sofia Papagiannaki
101 c9e378c7 Sofia Papagiannaki
# Set the astakos main functions logging severity (None to disable)
102 111f3da6 Sofia Papagiannaki
from logging import INFO
103 ad956265 Kostas Papadimitriou
LOGGING_LEVEL = getattr(settings, 'ASTAKOS_LOGGING_LEVEL', INFO)
104 fc1e2f02 Sofia Papagiannaki
105 1fcf4a99 Kostas Papadimitriou
# Configurable email subjects
106 f46c95c4 Sofia Papagiannaki
INVITATION_EMAIL_SUBJECT = getattr(
107 f46c95c4 Sofia Papagiannaki
    settings, 'ASTAKOS_INVITATION_EMAIL_SUBJECT',
108 f46c95c4 Sofia Papagiannaki
    'Invitation to %s alpha2 testing' % SITENAME)
109 1fcf4a99 Kostas Papadimitriou
GREETING_EMAIL_SUBJECT = getattr(settings, 'ASTAKOS_GREETING_EMAIL_SUBJECT',
110 f46c95c4 Sofia Papagiannaki
                                 'Welcome to %s alpha2 testing' % SITENAME)
111 1fcf4a99 Kostas Papadimitriou
FEEDBACK_EMAIL_SUBJECT = getattr(settings, 'ASTAKOS_FEEDBACK_EMAIL_SUBJECT',
112 f46c95c4 Sofia Papagiannaki
                                 'Feedback from %s alpha2 testing' % SITENAME)
113 f46c95c4 Sofia Papagiannaki
VERIFICATION_EMAIL_SUBJECT = getattr(
114 f46c95c4 Sofia Papagiannaki
    settings, 'ASTAKOS_VERIFICATION_EMAIL_SUBJECT',
115 f46c95c4 Sofia Papagiannaki
    '%s alpha2 testing account activation is needed' % SITENAME)
116 f46c95c4 Sofia Papagiannaki
ACCOUNT_CREATION_SUBJECT = getattr(
117 f46c95c4 Sofia Papagiannaki
    settings, 'ASTAKOS_ACCOUNT_CREATION_SUBJECT',
118 f46c95c4 Sofia Papagiannaki
    '%s alpha2 testing account created (%%(user)s)' % SITENAME)
119 f46c95c4 Sofia Papagiannaki
GROUP_CREATION_SUBJECT = getattr(settings, 'ASTAKOS_GROUP_CREATION_SUBJECT',
120 f46c95c4 Sofia Papagiannaki
                                 '%s alpha2 testing group created (%%(group)s)' % SITENAME)
121 f46c95c4 Sofia Papagiannaki
HELPDESK_NOTIFICATION_EMAIL_SUBJECT = getattr(
122 f46c95c4 Sofia Papagiannaki
    settings, 'ASTAKOS_HELPDESK_NOTIFICATION_EMAIL_SUBJECT',
123 f46c95c4 Sofia Papagiannaki
    '%s alpha2 testing account activated (%%(user)s)' % SITENAME)
124 f46c95c4 Sofia Papagiannaki
EMAIL_CHANGE_EMAIL_SUBJECT = getattr(
125 f46c95c4 Sofia Papagiannaki
    settings, 'ASTAKOS_EMAIL_CHANGE_EMAIL_SUBJECT',
126 f46c95c4 Sofia Papagiannaki
    'Email change on %s alpha2 testing' % SITENAME)
127 f46c95c4 Sofia Papagiannaki
PASSWORD_RESET_EMAIL_SUBJECT = getattr(
128 f46c95c4 Sofia Papagiannaki
    settings, 'ASTAKOS_PASSWORD_RESET_EMAIL_SUBJECT',
129 f46c95c4 Sofia Papagiannaki
    'Password reset on %s alpha2 testing' % SITENAME)
130 4f78c22c Sofia Papagiannaki
131 8cc49f4d Sofia Papagiannaki
# Set the quota holder component URI
132 30d92d1e Georgios D. Tsoukalas
QUOTAHOLDER_URL = getattr(settings, 'ASTAKOS_QUOTAHOLDER_URL', '')
133 a2214bd1 Kostas Papadimitriou
QUOTAHOLDER_TOKEN = getattr(settings, 'ASTAKOS_QUOTAHOLDER_TOKEN', '')
134 8cc49f4d Sofia Papagiannaki
135 8cc49f4d Sofia Papagiannaki
# Set the cloud service properties
136 4fef28ef root
SERVICES = getattr(settings, 'ASTAKOS_SERVICES', {
137 952c0979 Sofia Papagiannaki
    'cyclades': {
138 952c0979 Sofia Papagiannaki
        'url': 'https://node1.example.com/ui/',
139 952c0979 Sofia Papagiannaki
        'resources': [{
140 952c0979 Sofia Papagiannaki
            'name':'vm',
141 1f3ad141 Sofia Papagiannaki
            'group':'compute',
142 952c0979 Sofia Papagiannaki
            'uplimit':2,
143 952c0979 Sofia Papagiannaki
            'desc': 'Number of virtual machines'
144 952c0979 Sofia Papagiannaki
            },{
145 cd1e1513 root
            'name':'disk',
146 1f3ad141 Sofia Papagiannaki
            'group':'compute',
147 cd1e1513 root
            'uplimit':30*1024*1024*1024,
148 efb70adf Sofia Papagiannaki
            'unit':'bytes',
149 952c0979 Sofia Papagiannaki
            'desc': 'Virtual machine disk size'
150 952c0979 Sofia Papagiannaki
            },{
151 952c0979 Sofia Papagiannaki
            'name':'cpu',
152 1f3ad141 Sofia Papagiannaki
            'group':'compute',
153 cd1e1513 root
            'uplimit':6,
154 952c0979 Sofia Papagiannaki
            'desc': 'Number of virtual machine processors'
155 952c0979 Sofia Papagiannaki
            },{
156 952c0979 Sofia Papagiannaki
            'name':'ram',
157 1f3ad141 Sofia Papagiannaki
            'group':'compute',
158 cd1e1513 root
            'uplimit':6*1024*1024*1024,
159 efb70adf Sofia Papagiannaki
            'unit':'bytes',
160 952c0979 Sofia Papagiannaki
            'desc': 'Virtual machines'
161 c8152897 Sofia Papagiannaki
            },{
162 c8152897 Sofia Papagiannaki
            'name':'network.private',
163 4fef28ef root
            'group':'network',
164 c8152897 Sofia Papagiannaki
            'uplimit':1,
165 c8152897 Sofia Papagiannaki
            'desc': 'Private networks'
166 c8152897 Sofia Papagiannaki
            }
167 c8152897 Sofia Papagiannaki
        ]
168 952c0979 Sofia Papagiannaki
    },
169 952c0979 Sofia Papagiannaki
    'pithos+': {
170 952c0979 Sofia Papagiannaki
        'url': 'https://node2.example.com/ui/',
171 952c0979 Sofia Papagiannaki
        'resources':[{
172 952c0979 Sofia Papagiannaki
            'name':'diskspace',
173 1f3ad141 Sofia Papagiannaki
            'group':'storage',
174 952c0979 Sofia Papagiannaki
            'uplimit':5 * 1024 * 1024 * 1024,
175 952c0979 Sofia Papagiannaki
            'unit':'bytes',
176 952c0979 Sofia Papagiannaki
            'desc': 'Pithos account diskspace'
177 952c0979 Sofia Papagiannaki
            }]
178 952c0979 Sofia Papagiannaki
    }
179 952c0979 Sofia Papagiannaki
})
180 8cc49f4d Sofia Papagiannaki
181 8cc49f4d Sofia Papagiannaki
# Set the billing URI
182 8cc49f4d Sofia Papagiannaki
AQUARIUM_URL = getattr(settings, 'ASTAKOS_AQUARIUM_URL', '')
183 8cc49f4d Sofia Papagiannaki
184 d220292f Sofia Papagiannaki
# Set how many objects should be displayed per page
185 f46c95c4 Sofia Papagiannaki
PAGINATE_BY = getattr(settings, 'ASTAKOS_PAGINATE_BY', 8)
186 f46c95c4 Sofia Papagiannaki
187 59728d4e Olga Brani
# Set how many objects should be displayed per page in show all groups page
188 59728d4e Olga Brani
PAGINATE_BY_ALL = getattr(settings, 'ASTAKOS_PAGINATE_BY_ALL', 15)
189 59728d4e Olga Brani
190 f46c95c4 Sofia Papagiannaki
# Enforce token renewal on password change/reset
191 f46c95c4 Sofia Papagiannaki
NEWPASSWD_INVALIDATE_TOKEN = getattr(
192 cd1e1513 root
    settings, 'ASTAKOS_NEWPASSWD_INVALIDATE_TOKEN', True)
193 3cbd5e47 Olga Brani
194 3cbd5e47 Olga Brani
195 3cbd5e47 Olga Brani
RESOURCES_PRESENTATION_DATA = getattr(
196 3cbd5e47 Olga Brani
    settings, 'ASTAKOS_RESOURCES_PRESENTATION_DATA', {
197 3cbd5e47 Olga Brani
        'groups': {
198 3cbd5e47 Olga Brani
             'compute': {
199 3cbd5e47 Olga Brani
                'help_text':'group compute help text',
200 3cbd5e47 Olga Brani
                'is_abbreviation':False,
201 3cbd5e47 Olga Brani
                'report_desc':'',
202 a2214bd1 Kostas Papadimitriou
                 'verbose_name':'compute',
203 3cbd5e47 Olga Brani
            },
204 3cbd5e47 Olga Brani
            'storage': {
205 3cbd5e47 Olga Brani
                'help_text':'group storage help text',
206 3cbd5e47 Olga Brani
                'is_abbreviation':False,
207 3cbd5e47 Olga Brani
                'report_desc':'',
208 a2214bd1 Kostas Papadimitriou
                 'verbose_name':'storage',
209 3cbd5e47 Olga Brani
            },
210 3cbd5e47 Olga Brani
        },
211 3cbd5e47 Olga Brani
        'resources': {
212 3cbd5e47 Olga Brani
            'pithos+.diskspace': {
213 3cbd5e47 Olga Brani
                'help_text':'resource pithos+.diskspace help text',
214 3cbd5e47 Olga Brani
                'is_abbreviation':False,
215 3cbd5e47 Olga Brani
                'report_desc':'Pithos+ Diskspace',
216 3cbd5e47 Olga Brani
                'placeholder':'eg. 10GB',
217 a2214bd1 Kostas Papadimitriou
                'verbose_name':'diskspace',
218 3cbd5e47 Olga Brani
            },
219 3cbd5e47 Olga Brani
            'cyclades.vm': {
220 3cbd5e47 Olga Brani
                'help_text':'resource cyclades.vm help text resource cyclades.vm help text resource cyclades.vm help text resource cyclades.vm help text',
221 3cbd5e47 Olga Brani
                'is_abbreviation':True,
222 3cbd5e47 Olga Brani
                'report_desc':'Virtual Machines',
223 3cbd5e47 Olga Brani
                'placeholder':'eg. 2',
224 a2214bd1 Kostas Papadimitriou
                'verbose_name':'vm',
225 3cbd5e47 Olga Brani
            },
226 3cbd5e47 Olga Brani
            'cyclades.disk': {
227 3cbd5e47 Olga Brani
                'help_text':'resource cyclades.disk help text',
228 3cbd5e47 Olga Brani
                'is_abbreviation':False,
229 3cbd5e47 Olga Brani
                'report_desc':'Disk',
230 3cbd5e47 Olga Brani
                'placeholder':'eg. 5GB, 2GB etc',
231 3cbd5e47 Olga Brani
                'verbose_name':'disk'
232 3cbd5e47 Olga Brani
            },
233 3cbd5e47 Olga Brani
            'cyclades.ram': {
234 3cbd5e47 Olga Brani
                'help_text':'resource cyclades.ram help text',
235 3cbd5e47 Olga Brani
                'is_abbreviation':True,
236 3cbd5e47 Olga Brani
                'report_desc':'RAM',
237 3cbd5e47 Olga Brani
                'placeholder':'eg. 4GB',
238 3cbd5e47 Olga Brani
                'verbose_name':'ram'
239 3cbd5e47 Olga Brani
            },
240 3cbd5e47 Olga Brani
            'cyclades.cpu': {
241 3cbd5e47 Olga Brani
                'help_text':'resource cyclades.cpu help text',
242 3cbd5e47 Olga Brani
                'is_abbreviation':True,
243 3cbd5e47 Olga Brani
                'report_desc':'CPUs',
244 3cbd5e47 Olga Brani
                'placeholder':'eg. 1',
245 3cbd5e47 Olga Brani
                'verbose_name':'cpu'
246 3cbd5e47 Olga Brani
            },
247 3cbd5e47 Olga Brani
            'cyclades.network.private': {
248 3cbd5e47 Olga Brani
                'help_text':'resource cyclades.network.private help text',
249 3cbd5e47 Olga Brani
                'is_abbreviation':False,
250 3cbd5e47 Olga Brani
                'report_desc':'Network',
251 3cbd5e47 Olga Brani
                'placeholder':'eg. 1',
252 3cbd5e47 Olga Brani
                'verbose_name':'private network'
253 3cbd5e47 Olga Brani
            }
254 a2214bd1 Kostas Papadimitriou
255 3cbd5e47 Olga Brani
        }
256 a2214bd1 Kostas Papadimitriou
257 3cbd5e47 Olga Brani
    })
258 ef20ea07 Sofia Papagiannaki
259 ef20ea07 Sofia Papagiannaki
# Permit local account migration
260 f366e3ed Olga Brani
ENABLE_LOCAL_ACCOUNT_MIGRATION = getattr(settings, 'ASTAKOS_ENABLE_LOCAL_ACCOUNT_MIGRATION', True)