forked from assembl/assembl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
testing.ini.example
414 lines (344 loc) · 12.7 KB
/
testing.ini.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
[pipeline:main]
pipeline =
assembl
[app:assembl]
use = egg:assembl
pyramid.reload_templates = true
pyramid.debug_authorization = false
pyramid.debug_notfound = false
pyramid.debug_routematch = false
pyramid.default_locale_name = en
pyramid.includes =
pyramid_tm
sqltap = false
# Don't let cornice handle exceptions
handle_exceptions =
# Should we show our own view for exceptions? true for production.
assembl_handle_exceptions = false
tm.attempts=2
available_languages = fr en
pyramid.default_locale_name = en
# Should requirejs defeat browser caching? Useful in development
requirejs.cache_bust = false
# The debug toolbar is currently incompatible with the backbone frontend
debugtoolbar.enabled = false
debugtoolbar.hosts = 127.0.0.0/8
debugtoolbar.intercept_exc = false
# This database will be cleared! Be careful.
# For postgres:
sqlalchemy.url = postgresql+psycopg2://assembl_test:assembl_test@localhost/assembl_test?sslmode=disable
# For virtuoso:
#sqlalchemy.url = virtuoso://assembl_test:assembl_test@VOSU
sqlalchemy.echo = True
db_user = assembl_test
db_password = assembl_test
# For postgres:
db_schema = public
# For virtuoso:
#db_schema = assembl_test
db_database = assembl_test
# db_host = localhost
jinja2.directories = assembl:templates
#WHAT IS THIS USED FOR?
assembl.domain = assembl.net
#If false, every user will be immediately validated
assembl.validate_registration_emails = true
mail.host = localhost
assembl.admin_email = webmaster@assembl.net
#The default theme. If unset, will be set to "default"
#The themes must be stored in a folder assembl/static/css/themes/name_of_theme
#default_theme = default
# Each of these providers requires us to register a client app ID.
# Also, we must give a visible callback URL.
# Please contact maparent@acm.org for details.
# Users from these providers (if enabled in login_providers) will not need
# to verify their email
trusted_login_providers = facebook
google-oauth2
twitter
SOCIAL_AUTH_LOGIN_URL = /login
SOCIAL_AUTH_LOGIN_REDIRECT_URL = /
SOCIAL_AUTH_USER_MODEL = assembl.models.auth.User
SOCIAL_AUTH_LOGIN_FUNCTION = assembl.auth.social_auth.login_user
SOCIAL_AUTH_LOGGEDIN_FUNCTION = assembl.auth.social_auth.login_required
SOCIAL_AUTH_STORAGE = assembl.models.social_auth.AssemblStorage
SOCIAL_AUTH_STRATEGY = assembl.auth.social_auth.AssemblStrategy
SOCIAL_AUTH_USER_FIELDS = email
fullname
SOCIAL_AUTH_PROTECTED_USER_FIELDS = fullname
USE_UNIQUE_USER_ID=True
SOCIAL_AUTH_FIELDS_STORED_IN_SESSION = next_view
SOCIAL_AUTH_AUTHENTICATION_BACKENDS = assembl.auth.wordpress.WordPressServerOAuth2
social.backends.twitter.TwitterOAuth
social.backends.google.GoogleOAuth2
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = fake_key
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = fake_secret
login_providers = google-oauth2
# facebook
# twitter
# github
# google
# openid
# https://developers.facebook.com/docs/facebook-login/getting-started-web/
# https://developers.facebook.com/apps/
#
# facebook.consumer_key =
# facebook.consumer_secret =
facebook.scope = public_profile,email
facebook.app_access_token =
facebook.export_permissions = public_profile, email, publish_actions, user_posts, user_likes, manage_pages, publish_pages, user_groups, user_managed_groups
facebook.debug_mode = false
facebook.api_version =
supported_exports_list =
# https://dev.twitter.com/apps/new
#
# twitter.consumer_key =
# twitter.consumer_secret =
# http://developer.github.com/v3/oauth/
# https://github.com/settings/applications
#
# github.consumer_key =
# github.consumer_secret =
github.scope = repo
# https://code.google.com/apis/console/ ; API Access; Create Client ID
#
# google.consumer_key =
# google.consumer_secret =
google.scope = userinfo.profile
# This should be the front-facing URL
# openid.realm=
# Absolute url of image to show for users that do not have an avatar.
# If not present, assembl default will be used.
# Conflicts with avatar.gravatar_default, you cannot define both.
# Gravatar caches the image aggressively; change the filename to change the image.
#avatar.default_image_url = none
# What gravatar will use if email isn't found.
# If not present, the image above will be used.
# Typical values are:
# identicon: a geometric pattern based on an email hash
# monsterid: a generated 'monster' with different colors, faces, etc
# wavatar: generated faces with differing features and backgrounds
# retro: generated, 8-bit arcade-style pixelated faces
# mm: only show avatars for people who have one on gravatar
avatar.gravatar_default = mm
# Beaker settings
beaker.session.type = ext:memcached
beaker.session.url = 127.0.0.1:11211
beaker.session.data_dir = %(here)s/var/sessions/data
beaker.session.lock_dir = %(here)s/var/sessions/lock
beaker.session.key = assembl_session
session.secret = CHANGEME_enter_a_secret
beaker.session.cookie_expires = false
beaker.session.cookie_on_exception = true
#security.hash_algorithm = sha256
security.email_token_salt = [enter a key]
# Anykeystore settings for Velruse
store = sqlalchemy
store.url = sqlite:///%(here)s/assembl.db
# Dogpile cache
dogpile_cache.backend = file
dogpile_cache.expiration_time = 600
dogpile_cache.arguments.filename = var/dogpile_cache.dbm
# Change this to the hostname visible from outside
public_hostname = localhost
# Change this to the port visible from the outside
# Typically 80 for prod, 6543 for dev
public_port = 6543
# Do we accept https? If so we'll force it in some cases.
accept_secure_connection = false
# Do we force https? (TODO)
require_secure_connection = false
# ZMQ Websockets are used for frontend to backend communication
# ZMQ model changes local socket (backend will connect to this)
# UNIQUE_PER_SERVER
# However, for running tests in development, the same socket can be used
# Convention:
# /0 thru /2: reserved for development
# /3 thru /4: reserved for automated testing
# /5-: production
changes.socket = ipc:///tmp/assembl_changes/0
changes.multiplex = true
# The port to use for the websocket (client frontends will connect to this)
# In prod, your firewall needs to allow this through or proxy it through nginx
# UNIQUE_PER_SERVER
# However, for running tests in development, the same socket can be used
# Convention:
# 8085 thru 8087: reserved for development
# 8088 thru 8089: reserved for automated testing
# 8090-: production
changes.websocket.port = 8085
# Whether the websocket is proxied by nginx, and exposed through the public_port
changes.websocket.proxied = false
changes.prefix = /socket
# Notification broker. possible configurations:
# Noop configurations: Just print.
# assembl.imodeleventwatcher = assembl.lib.model_watcher.ModelEventWatcherPrinter
# celery_tasks.notification_dispatch.imodeleventwatcher = assembl.lib.model_watcher.ModelEventWatcherPrinter
# celery_tasks.imap.imodeleventwatcher = assembl.lib.model_watcher.ModelEventWatcherPrinter
# Direct configuration
assembl.imodeleventwatcher = assembl.models.notification.ModelEventWatcherNotificationSubscriptionDispatcher
celery_tasks.notification_dispatch.imodeleventwatcher = assembl.lib.model_watcher.ModelEventWatcherPrinter
celery_tasks.imap.imodeleventwatcher = assembl.lib.model_watcher.ModelEventWatcherPrinter
# Threaded configurations: Send to thread, thread acts.
# assembl.imodeleventwatcher = assembl.tasks.threaded_model_watcher.ThreadedModelEventWatcher
# celery_tasks.notification_dispatch.imodeleventwatcher = assembl.lib.model_watcher.ModelEventWatcherPrinter
# assembl.threadedmodelwatcher = assembl.models.notification.ModelEventWatcherNotificationSubscriptionDispatcher
# celery_tasks.imap.imodeleventwatcher = assembl.tasks.threaded_model_watcher.ThreadedModelEventWatcher
# celery_tasks.imap.threadedmodelwatcher = assembl.models.notification.ModelEventWatcherNotificationSubscriptionDispatcher
# Broker configurations: send to celery, celery task acts.
# assembl.imodeleventwatcher = assembl.tasks.notification_dispatch.ModelEventWatcherCelerySender
# celery_tasks.notification_dispatch.imodeleventwatcher = assembl.models.notification.ModelEventWatcherNotificationSubscriptionDispatcher
# celery_tasks.imap.imodeleventwatcher = assembl.tasks.notification_dispatch.ModelEventWatcherCelerySender
# ZMQ model changes local socket (backend will connect to this)
# UNIQUE_PER_SERVER
# Convention:
# /0 - /3: reserved for development
# /4: reserved for automated testing
# /5 - /12: production
celery_tasks.broker = redis://localhost:6379/4
celery_tasks.imap.num_workers = 1
celery_tasks.notification_dispatch.num_workers = 1
celery_tasks.notify.num_workers = 1
celery_tasks.translate.num_workers = 1
# Has to be defined as noop.
celery_tasks.notify.imodeleventwatcher = assembl.lib.model_watcher.ModelEventWatcherPrinter
celery_tasks.translate.imodeleventwatcher = assembl.lib.model_watcher.ModelEventWatcherPrinter
cache_viewdefs = true
minified_js = false
new_frontend = false
use_webpack_server = false
test_with_zope = false
[pshell]
db = assembl.lib.pshell_session.db
models = assembl.models
transaction = transaction
[alembic]
# Path to migration scripts
script_location = assembl/alembic
# This database will be cleared! Be careful.
# For postgres:
sqlalchemy.url = postgresql+psycopg2://assembl_test:assembl_test@localhost/assembl_test?sslmode=disable
# For virtuoso:
#sqlalchemy.url = virtuoso://assembl_test:assembl_test@VOSU
transaction_per_migration = true
# Template used to generate migration files
# file_template = %%(rev)s_%%(slug)s
# Set to 'true' to run the environment during
# the 'revision' command, regardless of autogenerate
# revision_environment = false
[server:main]
use = egg:waitress#main
host = 0.0.0.0
# If not proxied by nginx or something, public_port in app:main needs to match
# this value
# UNIQUE_PER_SERVER
# Default port is 6543.
# Convention:
# 6543 thru 6545: reserved for development
# 6546 thru 6547: reserved for automated testing
# 6548-: production
port = 6543
# Number of threads used by waitress.
threads = 10
# Begin logging configuration
[loggers]
keys = root, assembl, sqlalchemy, alembic
[handlers]
keys = console
[formatters]
keys = generic
[logger_root]
level = INFO
handlers = console
[logger_assembl]
level = INFO
handlers = console
qualname = assembl, assembl_tests, nose.plugins.assembl, pytest.assembl
[logger_sqlalchemy]
level = INFO
handlers = console
qualname = sqlalchemy.engine, sqlalchemy.orm, sqlalchemy.pool, sqlalchemy.dialects
# "level = INFO" logs SQL queries.
# "level = DEBUG" logs SQL queries and results.
# "level = WARN" logs neither. (Recommended for production systems.)
[logger_alembic]
level = INFO
handlers = console
qualname = alembic, alembic.env
[logger_sentry]
level = WARN
handlers = console
qualname = sentry.errors
propagate = 0
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic
[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s
# End logging configuration
[virtuoso]
# The path can be absolute, or relative to the project root
virtuoso_src = src/virtuoso
# If virtuoso_root = system, whatever version is installed by the OS will be used
virtuoso_root = virtuoso
# A commit can be put here instead of a branch
# A known good version "Fixed issue with LDP", 2014-07-28
virtuoso_branch = 5bdca4da81018ef72788394db7bbc5946bd788f1
#virtuoso_branch = develop/7
# The ODBC port. Standard virtuoso port is 5132
# UNIQUE_PER_SERVER
# Convention:
# 5132 thru 5134: reserved for development
# 5135 thru 5136: reserved for automated testing
# 5137-: production
port = 5132
# The admin interface. Standard virtuoso port is 8892
# UNIQUE_PER_SERVER
# Convention:
# 8892 thru 8894: reserved for development
# 8895 thru 8896: reserved for automated testing
# 8897-: production
http_port = 8892
[supervisor]
# For postgres:
#autostart_virtuoso = false
# For virtuoso:
autostart_virtuoso = true
autostart_celery_imap = false
autostart_celery_notification_dispatch = true
autostart_celery_notify = false
autostart_celery_notify_beat = false
autostart_celery_translate = false
autostart_source_reader = false
autostart_changes_router = true
autostart_pserve = false
autostart_nodesass = false
autostart_gulp = false
autostart_webpack = false
autostart_uwsgi = false
autostart_metrics_server = false
autostart_metrics_server = false
autostart_edgesense_server = false
[uwsgi]
# Set this dangerous umask if uwsgi is not the same user as nginx. Alternately, use proper uid/gid and run as root.
#umask = 000
#uid = _www
#gid = _www
master = 1
processes = 4
lazy = 1
die-on-term = 1
# Do NOT use threads here, there are problems with pyodbc
# Defining the threads variable with any value enables threading
# threads = DO NOT USE
buffer-size = 65535
socket = %d/var/run/uwsgi.sock
stats = %d/var/run/uwsgi_stats.sock
plugin=python
virtualenv=%dvenv
pythonpath=%d
paste=config://%d%s
# Thunder-lock is only relevant in multiprocess+multithread mode
# thunder-lock = true