Revision 5a3921a1

b/snf-astakos-app/README
48 48
ASTAKOS_INVITATIONS_PER_LEVEL               {0:100, 1:2, 2:0, 3:0, 4:0}                                                     Number of user invitations per user level
49 49
ASTAKOS_DEFAULT_FROM_EMAIL                  GRNET Cloud <no-reply\@grnet.gr>                                                ``from`` parameter passed in ``django.core.mail.send_mail``
50 50
ASTAKOS_DEFAULT_CONTACT_EMAIL               support\@cloud.grnet.gr                                                         Contact email
51
ASTAKOS_DEFAULT_ADMIN_EMAIL                 support\@cloud.grnet.gr                                                         Administrator email to receive user creation notifications (if None disables notifications)
52
ASTAKOS_IM_MODULES                          ['local', 'shibboleth']                                                         Signup modules
51
SERVER_EMAIL                                None
52
ADMINS                                      None
53
ASTAKOS_IM_MODULES                          ['local']                                                                       Signup modules
53 54
ASTAKOS_FORCE_PROFILE_UPDATE                True                                                                            Force user profile verification
54 55
ASTAKOS_INVITATIONS_ENABLED                 True                                                                            Enable invitations
55 56
ASTAKOS_COOKIE_NAME                         _pithos2_a                                                                      ``Key`` parameter passed in ``django.http.HttpResponse.set_cookie``
......
59 60
ASTAKOS_MODERATION_ENABLED                  True                                                                            If False and invitations are not enabled newly created user will be automatically accepted
60 61
ASTAKOS_BASEURL                             \http://pithos.dev.grnet.gr                                                     Astakos baseurl
61 62
ASTAKOS_SITENAME                            GRNET Cloud                                                                     Service name that appears in emails
62
ASTAKOS_RECAPTCHA_ENABLED                   True                                                                            Enable recaptcha
63 63
ASTAKOS_RECAPTCHA_PUBLIC_KEY                                                                                                Recaptcha public key obtained after registration here: http://recaptcha.net
64 64
ASTAKOS_RECAPTCHA_PRIVATE_KEY                                                                                               Recaptcha private key obtained after registration here: http://recaptcha.net
65
ASTAKOS_RECAPTCHA_OPTIONS                   {'theme': 'white'}                                                              Options for customizing reCAPTCHA look and feel
65
ASTAKOS_RECAPTCHA_OPTIONS                   {'theme': 'custom', 'custom_theme_widget': 'okeanos_recaptcha'}                 Options for customizing reCAPTCHA look and feel
66
ASTAKOS_RECAPTCHA_USE_SSL                   True
67
ASTAKOS_RECAPTCHA_ENABLED                   False                                                                           Enable recaptcha
66 68
                                                                                                                            (see: http://code.google.com/intl/el-GR/apis/recaptcha/docs/customization.html)
69
ASTAKOS_BILLING_FIELDS                      ['is_active']                                                                   AstakosUser fields to propagate in the billing system
70
ASTAKOS_QUEUE_CONNECTION                                                                                                    The queue connection ex. 'rabbitmq://guest:guest@localhost:5672/astakos'
67 71
ASTAKOS_LOGOUT_NEXT                                                                                                         Where the user should be redirected after logout
68 72
                                                                                                                            (if not set and no next parameter is defined it renders login page with message)
69
ASTAKOS_BILLING_FIELDS                      ['id', 'is_active', 'provider', 'third_party_identifier']                       AstakosUser fields to propagate in the billing system
70
ASTAKOS_QUEUE_CONNECTION                                                                                                    The queue connection ex. 'rabbitmq://guest:guest@localhost:5672/astakos'
71 73
                                                                                                                            (if it is not set, it does not send messages)
72 74
ASTAKOS_RE_USER_EMAIL_PATTERNS              []                                                                              Email patterns that are automatically activated ex. ['^[a-zA-Z0-9\._-]+@grnet\.gr$']
73 75

  
74
ASTAKOS_LOGIN_MESSAGES                      {}                                                                              Notification messages to display on login page header
76
ASTAKOS_LOGIN_MESSAGES                      []                                                                              Notification messages to display on login page header
77
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
78
ASTAKOS_SIGNUP_MESSAGES                     []                                                                              Notification messages to display on signup page header
79
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
80
ASTAKOS_PROFILE_MESSAGES                    []                                                                              Notification messages to display on profile page header
81
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
82
ASTAKOS_GLOBAL_MESSAGES                     []                                                                              Notification messages to display on every page header
75 83
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
76 84
ASTAKOS_PROFILE_EXTRA_LINKS                 {}                                                                              Messages to display as extra actions in account forms
77 85
                                                                                                                            e.g. {'https://cms.okeanos.grnet.gr/': 'Back to ~okeanos'}
......
124 132
                                            'name': 'diskspace',
125 133
                                            'unit': 'bytes',
126 134
                                            'uplimit': 5368709120}],
127
                                            'url': 'https://node2.example.com/ui/'}}                                                                               
135
                                            'url': 'https://node2.example.com/ui/'}}
128 136
ASTAKOS_AQUARIUM_URL                        ''                                                                              The billing (aquarium) URI
129 137
                                                                                                                            e.g. ``http://localhost:8888/user``
130
ASTAKOS_PAGINATE_BY                         10                                                                              Number of object to be displayed per page
138
ASTAKOS_PAGINATE_BY                         8                                                                               Number of object to be displayed per page
139
ASTAKOS_PAGINATE_BY_ALL                     15                                                                              Number of object to be displayed per pagein show all projects page
131 140

  
132 141
ASTAKOS_NEWPASSWD_INVALIDATE_TOKEN          True                                                                            Enforce token renewal on password change/reset. If set to False, user can optionally decide
133 142
                                                                                                                            whether to renew the token or not.
134 143
ASTAKOS_ENABLE_LOCAL_ACCOUNT_MIGRATION      True                                                                            Permit local account migration to third party account
144
ASTAKOS_RESOURCES_PRESENTATION_DATA         {}                                                                              Customizes resource presentation
145
ASTAKOS_ENABLE_LOCAL_ACCOUNT_MIGRATION      True                                                                            Permits local account migration
146
ASTAKOS_SHIBBOLETH_REQUIRE_NAME_INFO        False                                                                           Strict shibboleth usage
147
ASTAKOS_PROJECT_MEMBER_JOIN_POLICIES        {'1':'automatically accepted', '2':'owner accepts', '3':'closed'}               Text to be displayed in project member join policy dropdown
148
ASTAKOS_PROJECT_MEMBER_LEAVE_POLICIES       {'1':'automatically accepted', '2':'owner accepts', '3':'closed'}               Text to be displayed in project member leave policy dropdown
149
ASTAKOS_ACTIVATION_REDIRECT_URL             "/im/landing"
150
ASTAKOS_TRANSLATE_UUIDS                     False                                                                           If true, this enables a ui compatibility layer for the introduction of UUIDs in identity management.
151
                                                                                                                            WARNING: Setting to True will break your installation.
152
ASTAKOS_PROJECT_ADMINS                      set()                                                                           Users to approve/deny project applications
153
ASTAKOS_TWITTER_TOKEN                       ''                                                                              Oauth2 twitter token
154
ASTAKOS_TWITTER_SECRET                      ''                                                                              Oauth2 twitter secret
155
ASTAKOS_TWITTER_AUTH_FORCE_LOGIN            Fals
156
ASTAKOS_GOOGLE_CLIENT_ID                    ''                                                                              Oauth2 google client id
157
ASTAKOS_GOOGLE_SECRET                       ''                                                                              Oauth2 google secret
158
ASTAKOS_LINKEDIN_TOKEN                      ''                                                                              Oauth2 LinkedIn token
159
ASTAKOS_LINKEDIN_SECRET                     ''                                                                              Oauth2 LinkedIn secret
135 160
=========================================== =============================================================================   ===========================================================================================
136 161

  
137 162
Administrator functions
b/snf-astakos-app/astakos/im/settings.py
4 4
# to be this many hours after their creation time.
5 5
AUTH_TOKEN_DURATION = getattr(settings, 'ASTAKOS_AUTH_TOKEN_DURATION', 30 * 24)
6 6

  
7
# OAuth2 Twitter credentials.
8
TWITTER_TOKEN = getattr(settings, 'ASTAKOS_TWITTER_TOKEN', '')
9
TWITTER_SECRET = getattr(settings, 'ASTAKOS_TWITTER_SECRET', '')
10
TWITTER_AUTH_FORCE_LOGIN = getattr(settings, 'ASTAKOS_TWITTER_AUTH_FORCE_LOGIN',
11
                                  False)
12

  
13

  
14
# OAuth2 Google credentials.
15
GOOGLE_CLIENT_ID = getattr(settings, 'ASTAKOS_GOOGLE_CLIENT_ID', '')
16
GOOGLE_SECRET = getattr(settings, 'ASTAKOS_GOOGLE_SECRET', '')
17 7

  
18
# OAuth2 LinkedIn credentials.
19
LINKEDIN_TOKEN = getattr(settings, 'ASTAKOS_LINKEDIN_TOKEN', '')
20
LINKEDIN_SECRET = getattr(settings, 'ASTAKOS_LINKEDIN_SECRET', '')
21 8

  
22 9
DEFAULT_USER_LEVEL = getattr(settings, 'ASTAKOS_DEFAULT_USER_LEVEL', 4)
23 10

  
......
227 214
# Set how many objects should be displayed per page
228 215
PAGINATE_BY = getattr(settings, 'ASTAKOS_PAGINATE_BY', 8)
229 216

  
230
# Set how many objects should be displayed per page in show all groups page
217
# Set how many objects should be displayed per page in show all projects page
231 218
PAGINATE_BY_ALL = getattr(settings, 'ASTAKOS_PAGINATE_BY_ALL', 15)
232 219

  
233 220
# Enforce token renewal on password change/reset
......
347 334

  
348 335
# Users that can approve or deny project applications from the web.
349 336
PROJECT_ADMINS = getattr(settings, 'ASTAKOS_PROJECT_ADMINS', set())
337

  
338
# OAuth2 Twitter credentials.
339
TWITTER_TOKEN = getattr(settings, 'ASTAKOS_TWITTER_TOKEN', '')
340
TWITTER_SECRET = getattr(settings, 'ASTAKOS_TWITTER_SECRET', '')
341
TWITTER_AUTH_FORCE_LOGIN = getattr(settings, 'ASTAKOS_TWITTER_AUTH_FORCE_LOGIN',
342
                                  False)
343

  
344
# OAuth2 Google credentials.
345
GOOGLE_CLIENT_ID = getattr(settings, 'ASTAKOS_GOOGLE_CLIENT_ID', '')
346
GOOGLE_SECRET = getattr(settings, 'ASTAKOS_GOOGLE_SECRET', '')
347

  
348
# OAuth2 LinkedIn credentials.
349
LINKEDIN_TOKEN = getattr(settings, 'ASTAKOS_LINKEDIN_TOKEN', '')
350
LINKEDIN_SECRET = getattr(settings, 'ASTAKOS_LINKEDIN_SECRET', '')
b/snf-astakos-app/conf/20-snf-astakos-app-settings.conf
2 2
# to be this many hours after their creation time.
3 3
#ASTAKOS_AUTH_TOKEN_DURATION = 30 * 24
4 4

  
5
# Authenticate via Twitter.
6
#ASTAKOS_TWITTER_KEY = ''
7
#ASTAKOS_TWITTER_SECRET = ''
8

  
9 5
#ASTAKOS_DEFAULT_USER_LEVEL = 4
10 6

  
11 7
#ASTAKOS_INVITATIONS_PER_LEVEL = {
......
17 13
#}
18 14

  
19 15
# Address to use for outgoing emails
20
#ASTAKOS_DEFAULT_FROM_EMAIL = 'GRNET Cloud <no-reply@grnet.gr>'
21 16
#ASTAKOS_DEFAULT_CONTACT_EMAIL = 'support@cloud.grnet.gr'
22
#ASTAKOS_DEFAULT_ADMIN_EMAIL = 'admin@cloud.grnet.gr'
17

  
18
#SERVER_EMAIL = None
19
#ADMINS = None
23 20

  
24 21
# Identity Management enabled modules
25 22
# Supported modules are: 'local', 'twitter' and 'shibboleth'
......
51 48
# http://www.google.com/recaptcha/whyrecaptcha 
52 49
#ASTAKOS_RECAPTCHA_PUBLIC_KEY = ''
53 50
#ASTAKOS_RECAPTCHA_PRIVATE_KEY = ''
54
#ASTAKOS_RECAPTCHA_OPTIONS = {'theme':'white'}
51
#ASTAKOS_RECAPTCHA_OPTIONS = {'theme': 'custom', 'custom_theme_widget': 'okeanos_recaptcha'}
55 52
#ASTAKOS_RECAPTCHA_USE_SSL = True
56 53
#ASTAKOS_RECAPTCHA_ENABLED = False
57 54

  
......
60 57

  
61 58
# Queue for billing.
62 59
#'rabbitmq://guest:guest@localhost:5672/astakos'
63
#QUEUE_CONNECTION = None 
60
#ASTAKOS_QUEUE_CONNECTION = None 
64 61

  
65 62
# Set where the user should be redirected after logout
66 63
#ASTAKOS_LOGOUT_NEXT = ''
......
123 120
#ASTAKOS_QUOTAHOLDER_TOKEN = ''
124 121

  
125 122
# Set the cloud service properties
126
# SERVICES = getattr(settings, 'ASTAKOS_SERVICES',
127
#                    {'cyclades': {'url':'https://node1.example.com/ui/',
128
#                                  'quota': {'vm': 2}},
129
#                     'pithos+':  {'url':'https://node2.example.com/ui/',
130
#                                  'quota': {'diskspace': 50 * 1024 * 1024 * 1024}}})
123
# ASTAKOS_SERVICES = {
124
#    'cyclades': {
125
##        'url': 'https://node1.example.com/ui/',
126
#        'resources': [{
127
#            'name':'disk',
128
#            'group':'compute',
129
#            'uplimit':30*1024*1024*1024,
130
#            'unit':'bytes',
131
#            'desc': 'Virtual machine disk size'
132
#            },{
133
#            'name':'cpu',
134
#            'group':'compute',
135
#            'uplimit':6,
136
#            'desc': 'Number of virtual machine processors'
137
#            },{
138
#            'name':'ram',
139
#            'group':'compute',
140
#            'uplimit':6*1024*1024*1024,
141
#            'unit':'bytes',
142
#            'desc': 'Virtual machines'
143
#            },{
144
#            'name':'vm',
145
#            'group':'compute',
146
#            'uplimit':2,
147
#            'desc': 'Number of virtual machines'
148
#            },{
149
#            'name':'network.private',
150
#            'group':'network',
151
#            'uplimit':1,
152
#            'desc': 'Private networks'
153
#            }
154
#        ]
155
#    },
156
#    'pithos+': {
157
##        'url': 'https://node2.example.com/ui/',
158
#        'resources':[{
159
#            'name':'diskspace',
160
#            'group':'storage',
161
#            'uplimit':5 * 1024 * 1024 * 1024,
162
#            'unit':'bytes',
163
#            'desc': 'Pithos account diskspace'
164
#            }]
165
#    }
166
#}
131 167

  
132 168
# Set the billing URI
133 169
#ASTAKOS_AQUARIUM_URL = ''
134 170

  
135 171
# Set how many objects should be displayed per page
136
#PAGINATE_BY = getattr(settings, 'ASTAKOS_PAGINATE_BY', 10)
172
#ASTAKOS_PAGINATE_BY = 10
173
# Set how many objects should be displayed per page in show all groups page
174
#ASTAKOS_PAGINATE_BY_ALL = 15
137 175

  
138 176
# Enforce token renewal on password change/reset
139
# NEWPASSWD_INVALIDATE_TOKEN = getattr(settings, 'ASTAKOS_NEWPASSWD_INVALIDATE_TOKEN', True)
177
#ASTAKOS_NEWPASSWD_INVALIDATE_TOKEN = True
178

  
179
#ASTAKOS_USAGE_UPDATE_INTERVAL = 5000
180

  
181
#ASTAKOS_RESOURCES_PRESENTATION_DATA = {
182
#        'groups': {
183
#             'compute': {
184
#                'help_text':'Compute resources (amount of VMs, CPUs, RAM, System disk) ',
185
#                'is_abbreviation':False,
186
#                'report_desc':'',
187
#                 'verbose_name':'compute',
188
#            },
189
#            'storage': {
190
#                'help_text':'Storage resources (amount of space to store files on Pithos) ',
191
#                'is_abbreviation':False,
192
#                'report_desc':'',
193
#                 'verbose_name':'storage',
194
#            },
195
#            'network': {
196
#                'help_text':' Network resources (amount of Private Networks)  ',
197
#                'is_abbreviation':False,
198
#                'report_desc':'',
199
#                'verbose_name':'network',
200
#            },
201
#        },
202
#        'resources': {
203
#            'pithos+.diskspace': {
204
#                'help_text':'This is the space on Pithos for storing files and VM Images. ',
205
#                'help_text_input_each':'This is the total amount of space on Pithos that will be granted to each user of this Project ',
206
#                'is_abbreviation':False,
207
#                'report_desc':'Storage Space',
208
#                'placeholder':'eg. 10GB',
209
#                'verbose_name':'Storage Space',
210
#            },
211
#            'cyclades.disk': {
212
#                'help_text':'This is the System Disk that the VMs have that run the OS ',
213
#                'help_text_input_each':"This is the total amount of System Disk that will be granted to each user of this Project (this refers to the total System Disk of all VMs, not each VM's System Disk)  ",
214
#                'is_abbreviation':False,
215
#                'report_desc':'System Disk',
216
#                'placeholder':'eg. 5GB, 2GB etc',
217
#                'verbose_name':'System Disk'
218
#            },
219
#            'cyclades.ram': {
220
#                'help_text':'RAM used by VMs ',
221
#                'help_text_input_each':'This is the total amount of RAM that will be granted to each user of this Project (on all VMs)  ',
222
#                'is_abbreviation':True,
223
#                'report_desc':'RAM',
224
#                'placeholder':'eg. 4GB',
225
#                'verbose_name':'ram'
226
#            },
227
#            'cyclades.cpu': {
228
#                'help_text':'CPUs used by VMs ',
229
#                'help_text_input_each':'This is the total number of CPUs that will be granted to each user of this Project (on all VMs)  ',
230
#                'is_abbreviation':True,
231
#                'report_desc':'CPUs',
232
#                'placeholder':'eg. 1',
233
#                'verbose_name':'cpu'
234
#            },
235
#            'cyclades.vm': {
236
#                'help_text':'These are the VMs one can create on the Cyclades UI ',
237
#                'help_text_input_each':'This is the total number of VMs that will be granted to each user of this Project ',
238
#                'is_abbreviation':True,
239
#                'report_desc':'Virtual Machines',
240
#                'placeholder':'eg. 2',
241
#                'verbose_name':'vm',
242
#            },
243
#            'cyclades.network.private': {
244
#                'help_text':'These are the Private Networks one can create on the Cyclades UI. ',
245
#                'help_text_input_each':'This is the total number of Private Networks that will be granted to each user of this Project ',
246
#                'is_abbreviation':False,
247
#                'report_desc':'Private Networks',
248
#                'placeholder':'eg. 1',
249
#                'verbose_name':'private network'
250
#            }
251
#
252
#        },
253
#
254
#        'groups_order': ['storage', 'compute', 'network'],
255
#        'resources_order': ['pithos+.diskspace', 'cyclades.disk',
256
#                            'cyclades.cpu', 'cyclades.ram', 'cyclades.vm',
257
#                            'cyclades.network.private']
258
#
259
#    }
140 260

  
141 261
# Permit local account migration
142
# ENABLE_LOCAL_ACCOUNT_MIGRATION = getattr(settings, 'ASTAKOS_ENABLE_LOCAL_ACCOUNT_MIGRATION', True)
262
#ASTAKOS_ENABLE_LOCAL_ACCOUNT_MIGRATION = True
263

  
264
# Strict shibboleth usage
265
#ASTAKOS_SHIBBOLETH_REQUIRE_NAME_INFO = False
266

  
267
#ASTAKOS_PROJECT_MEMBER_JOIN_POLICIES = {'1':'automatically accepted',
268
#                                 '2':'owner accepts',
269
#                                 '3':'closed'}
270

  
271
#ASTAKOS_PROJECT_MEMBER_LEAVE_POLICIES' = {'1':'automatically accepted',
272
#                                 '2':'owner accepts',
273
#                                 '3':'closed'}
274

  
275
#ASTAKOS_ACTIVATION_REDIRECT_URL = "/im/landing"
276

  
277
# If true, this enables a ui compatibility layer for the introduction of UUIDs
278
# in identity management. WARNING: Setting to True will break your installation.
279
#ASTAKOS_TRANSLATE_UUIDS = False
143 280

  
144 281
# UUIDs of users that can approve or deny project applications from the web.
145 282
# ASTAKOS_PROJECT_ADMINS = set() # e.g. set(['01234567-89ab-cdef-0123-456789abcdef'])
......
148 285
# of UUIDs in identity management.
149 286
# WARNING: Setting to True will break your installation.
150 287
# ASTAKOS_TRANSLATE_UUIDS = False
288

  
289
# OAuth2 Twitter credentials.
290
#ASTAKOS_TWITTER_KEY = ''
291
#ASTAKOS_TWITTER_SECRET = ''
292
#ASTAKOS_TWITTER_AUTH_FORCE_LOGIN = False
293

  
294
# OAuth2 Google credentials
295
#ASTAKOS_GOOGLE_CLIENT_ID = ''
296
#ASTAKOS_GOOGLE_SECRET = ''
297

  
298
# OAuth2 LinkedIn credentials.
299
#ASTAKOS_LINKEDIN_TOKEN = ''
300
#ASTAKOS_LINKEDIN_SECRET = ''

Also available in: Unified diff