add token to quotaholder client
[astakos] / snf-astakos-app / astakos / im / settings.py
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)