Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / settings.py @ a2214bd1

History | View | Annotate | Download (9.9 kB)

1
from django.conf import settings
2

    
3
# Set the expiration time of newly created auth tokens
4
# to be this many hours after their creation time.
5
AUTH_TOKEN_DURATION = getattr(settings, 'ASTAKOS_AUTH_TOKEN_DURATION', 30 * 24)
6

    
7
# Authenticate via Twitter.
8
TWITTER_KEY = getattr(settings, 'ASTAKOS_TWITTER_KEY', '')
9
TWITTER_SECRET = getattr(settings, 'ASTAKOS_TWITTER_SECRET', '')
10

    
11
DEFAULT_USER_LEVEL = getattr(settings, 'ASTAKOS_DEFAULT_USER_LEVEL', 4)
12

    
13
INVITATIONS_PER_LEVEL = getattr(settings, 'ASTAKOS_INVITATIONS_PER_LEVEL', {
14
    0: 100,
15
    1: 2,
16
    2: 0,
17
    3: 0,
18
    4: 0
19
})
20

    
21
# Address to use for outgoing emails
22
DEFAULT_CONTACT_EMAIL = getattr(
23
    settings, 'ASTAKOS_DEFAULT_CONTACT_EMAIL', 'support@cloud.grnet.gr')
24

    
25
# Identity Management enabled modules
26
IM_MODULES = getattr(settings, 'ASTAKOS_IM_MODULES', ['local', 'shibboleth'])
27

    
28
# Force user profile verification
29
FORCE_PROFILE_UPDATE = getattr(settings, 'ASTAKOS_FORCE_PROFILE_UPDATE', True)
30

    
31
#Enable invitations
32
INVITATIONS_ENABLED = getattr(settings, 'ASTAKOS_INVITATIONS_ENABLED', True)
33

    
34
COOKIE_NAME = getattr(settings, 'ASTAKOS_COOKIE_NAME', '_pithos2_a')
35
COOKIE_DOMAIN = getattr(settings, 'ASTAKOS_COOKIE_DOMAIN', None)
36
COOKIE_SECURE = getattr(settings, 'ASTAKOS_COOKIE_SECURE', True)
37

    
38
IM_STATIC_URL = getattr(settings, 'ASTAKOS_IM_STATIC_URL', '/static/im/')
39

    
40
# If set to False and invitations not enabled newly created user will be automatically accepted
41
MODERATION_ENABLED = getattr(settings, 'ASTAKOS_MODERATION_ENABLED', True)
42

    
43
# Set baseurl
44
BASEURL = getattr(settings, 'ASTAKOS_BASEURL', 'http://pithos.dev.grnet.gr')
45

    
46
# Set service name
47
SITENAME = getattr(settings, 'ASTAKOS_SITENAME', 'GRNET Cloud')
48

    
49
# Set recaptcha keys
50
RECAPTCHA_PUBLIC_KEY = getattr(settings, 'ASTAKOS_RECAPTCHA_PUBLIC_KEY', '')
51
RECAPTCHA_PRIVATE_KEY = getattr(settings, 'ASTAKOS_RECAPTCHA_PRIVATE_KEY', '')
52
RECAPTCHA_OPTIONS = getattr(settings, 'ASTAKOS_RECAPTCHA_OPTIONS',
53
                            {'theme': 'custom', 'custom_theme_widget': 'okeanos_recaptcha'})
54
RECAPTCHA_USE_SSL = getattr(settings, 'ASTAKOS_RECAPTCHA_USE_SSL', True)
55
RECAPTCHA_ENABLED = getattr(settings, 'ASTAKOS_RECAPTCHA_ENABLED', True)
56

    
57
# set AstakosUser fields to propagate in the billing system
58
BILLING_FIELDS = getattr(settings, 'ASTAKOS_BILLING_FIELDS', ['is_active'])
59

    
60
# Queue for billing.
61
QUEUE_CONNECTION = getattr(settings, 'ASTAKOS_QUEUE_CONNECTION', None)  # Example: 'rabbitmq://guest:guest@localhost:5672/astakos'
62

    
63
# Set where the user should be redirected after logout
64
LOGOUT_NEXT = getattr(settings, 'ASTAKOS_LOGOUT_NEXT', '')
65

    
66
# Set user email patterns that are automatically activated
67
RE_USER_EMAIL_PATTERNS = getattr(
68
    settings, 'ASTAKOS_RE_USER_EMAIL_PATTERNS', [])
69

    
70
# Messages to display on login page header
71
# e.g. {'warning': 'This warning message will be displayed on the top of login page'}
72
LOGIN_MESSAGES = getattr(settings, 'ASTAKOS_LOGIN_MESSAGES', [])
73

    
74
# Messages to display on login page header
75
# e.g. {'warning': 'This warning message will be displayed on the top of signup page'}
76
SIGNUP_MESSAGES = getattr(settings, 'ASTAKOS_SIGNUP_MESSAGES', [])
77

    
78
# Messages to display on login page header
79
# e.g. {'warning': 'This warning message will be displayed on the top of profile page'}
80
PROFILE_MESSAGES = getattr(settings, 'ASTAKOS_PROFILE_MESSAGES', [])
81

    
82
# Messages to display on all pages
83
# e.g. {'warning': 'This warning message will be displayed on the top of every page'}
84
GLOBAL_MESSAGES = getattr(settings, 'ASTAKOS_GLOBAL_MESSAGES', [])
85

    
86
# messages to display as extra actions in account forms
87
# e.g. {'https://cms.okeanos.grnet.gr/': 'Back to ~okeanos'}
88
PROFILE_EXTRA_LINKS = getattr(settings, 'ASTAKOS_PROFILE_EXTRA_LINKS', {})
89

    
90
# The number of unsuccessful login requests per minute allowed for a specific user
91
RATELIMIT_RETRIES_ALLOWED = getattr(
92
    settings, 'ASTAKOS_RATELIMIT_RETRIES_ALLOWED', 3)
93

    
94
# If False the email change mechanism is disabled
95
EMAILCHANGE_ENABLED = getattr(settings, 'ASTAKOS_EMAILCHANGE_ENABLED', False)
96

    
97
# Set the expiration time (in days) of email change requests
98
EMAILCHANGE_ACTIVATION_DAYS = getattr(
99
    settings, 'ASTAKOS_EMAILCHANGE_ACTIVATION_DAYS', 10)
100

    
101
# Set the astakos main functions logging severity (None to disable)
102
from logging import INFO
103
LOGGING_LEVEL = getattr(settings, 'ASTAKOS_LOGGING_LEVEL', INFO)
104

    
105
# Configurable email subjects
106
INVITATION_EMAIL_SUBJECT = getattr(
107
    settings, 'ASTAKOS_INVITATION_EMAIL_SUBJECT',
108
    'Invitation to %s alpha2 testing' % SITENAME)
109
GREETING_EMAIL_SUBJECT = getattr(settings, 'ASTAKOS_GREETING_EMAIL_SUBJECT',
110
                                 'Welcome to %s alpha2 testing' % SITENAME)
111
FEEDBACK_EMAIL_SUBJECT = getattr(settings, 'ASTAKOS_FEEDBACK_EMAIL_SUBJECT',
112
                                 'Feedback from %s alpha2 testing' % SITENAME)
113
VERIFICATION_EMAIL_SUBJECT = getattr(
114
    settings, 'ASTAKOS_VERIFICATION_EMAIL_SUBJECT',
115
    '%s alpha2 testing account activation is needed' % SITENAME)
116
ACCOUNT_CREATION_SUBJECT = getattr(
117
    settings, 'ASTAKOS_ACCOUNT_CREATION_SUBJECT',
118
    '%s alpha2 testing account created (%%(user)s)' % SITENAME)
119
GROUP_CREATION_SUBJECT = getattr(settings, 'ASTAKOS_GROUP_CREATION_SUBJECT',
120
                                 '%s alpha2 testing group created (%%(group)s)' % SITENAME)
121
HELPDESK_NOTIFICATION_EMAIL_SUBJECT = getattr(
122
    settings, 'ASTAKOS_HELPDESK_NOTIFICATION_EMAIL_SUBJECT',
123
    '%s alpha2 testing account activated (%%(user)s)' % SITENAME)
124
EMAIL_CHANGE_EMAIL_SUBJECT = getattr(
125
    settings, 'ASTAKOS_EMAIL_CHANGE_EMAIL_SUBJECT',
126
    'Email change on %s alpha2 testing' % SITENAME)
127
PASSWORD_RESET_EMAIL_SUBJECT = getattr(
128
    settings, 'ASTAKOS_PASSWORD_RESET_EMAIL_SUBJECT',
129
    'Password reset on %s alpha2 testing' % SITENAME)
130

    
131
# Set the quota holder component URI
132
QUOTAHOLDER_URL = getattr(settings, 'ASTAKOS_QUOTAHOLDER_URL', '')
133
QUOTAHOLDER_TOKEN = getattr(settings, 'ASTAKOS_QUOTAHOLDER_TOKEN', '')
134

    
135
# Set the cloud service properties
136
SERVICES = getattr(settings, 'ASTAKOS_SERVICES', {
137
    'cyclades': {
138
        'url': 'https://node1.example.com/ui/',
139
        'resources': [{
140
            'name':'vm',
141
            'group':'compute',
142
            'uplimit':2,
143
            'desc': 'Number of virtual machines'
144
            },{
145
            'name':'disk',
146
            'group':'compute',
147
            'uplimit':30*1024*1024*1024,
148
            'unit':'bytes',
149
            'desc': 'Virtual machine disk size'
150
            },{
151
            'name':'cpu',
152
            'group':'compute',
153
            'uplimit':6,
154
            'desc': 'Number of virtual machine processors'
155
            },{
156
            'name':'ram',
157
            'group':'compute',
158
            'uplimit':6*1024*1024*1024,
159
            'unit':'bytes',
160
            'desc': 'Virtual machines'
161
            },{
162
            'name':'network.private',
163
            'group':'network',
164
            'uplimit':1,
165
            'desc': 'Private networks'
166
            }
167
        ]
168
    },
169
    'pithos+': {
170
        'url': 'https://node2.example.com/ui/',
171
        'resources':[{
172
            'name':'diskspace',
173
            'group':'storage',
174
            'uplimit':5 * 1024 * 1024 * 1024,
175
            'unit':'bytes',
176
            'desc': 'Pithos account diskspace'
177
            }]
178
    }
179
})
180

    
181
# Set the billing URI
182
AQUARIUM_URL = getattr(settings, 'ASTAKOS_AQUARIUM_URL', '')
183

    
184
# Set how many objects should be displayed per page
185
PAGINATE_BY = getattr(settings, 'ASTAKOS_PAGINATE_BY', 8)
186

    
187
# Set how many objects should be displayed per page in show all groups page
188
PAGINATE_BY_ALL = getattr(settings, 'ASTAKOS_PAGINATE_BY_ALL', 15)
189

    
190
# Enforce token renewal on password change/reset
191
NEWPASSWD_INVALIDATE_TOKEN = getattr(
192
    settings, 'ASTAKOS_NEWPASSWD_INVALIDATE_TOKEN', True)
193

    
194

    
195
RESOURCES_PRESENTATION_DATA = getattr(
196
    settings, 'ASTAKOS_RESOURCES_PRESENTATION_DATA', {
197
        'groups': {
198
             'compute': {
199
                'help_text':'group compute help text',
200
                'is_abbreviation':False,
201
                'report_desc':'',
202
                 'verbose_name':'compute',
203
            },
204
            'storage': {
205
                'help_text':'group storage help text',
206
                'is_abbreviation':False,
207
                'report_desc':'',
208
                 'verbose_name':'storage',
209
            },
210
        },
211
        'resources': {
212
            'pithos+.diskspace': {
213
                'help_text':'resource pithos+.diskspace help text',
214
                'is_abbreviation':False,
215
                'report_desc':'Pithos+ Diskspace',
216
                'placeholder':'eg. 10GB',
217
                'verbose_name':'diskspace',
218
            },
219
            'cyclades.vm': {
220
                'help_text':'resource cyclades.vm help text resource cyclades.vm help text resource cyclades.vm help text resource cyclades.vm help text',
221
                'is_abbreviation':True,
222
                'report_desc':'Virtual Machines',
223
                'placeholder':'eg. 2',
224
                'verbose_name':'vm',
225
            },
226
            'cyclades.disk': {
227
                'help_text':'resource cyclades.disk help text',
228
                'is_abbreviation':False,
229
                'report_desc':'Disk',
230
                'placeholder':'eg. 5GB, 2GB etc',
231
                'verbose_name':'disk'
232
            },
233
            'cyclades.ram': {
234
                'help_text':'resource cyclades.ram help text',
235
                'is_abbreviation':True,
236
                'report_desc':'RAM',
237
                'placeholder':'eg. 4GB',
238
                'verbose_name':'ram'
239
            },
240
            'cyclades.cpu': {
241
                'help_text':'resource cyclades.cpu help text',
242
                'is_abbreviation':True,
243
                'report_desc':'CPUs',
244
                'placeholder':'eg. 1',
245
                'verbose_name':'cpu'
246
            },
247
            'cyclades.network.private': {
248
                'help_text':'resource cyclades.network.private help text',
249
                'is_abbreviation':False,
250
                'report_desc':'Network',
251
                'placeholder':'eg. 1',
252
                'verbose_name':'private network'
253
            }
254

    
255
        }
256

    
257
    })
258

    
259
# Permit local account migration
260
ENABLE_LOCAL_ACCOUNT_MIGRATION = getattr(settings, 'ASTAKOS_ENABLE_LOCAL_ACCOUNT_MIGRATION', True)