##// END OF EJS Templates
configs: remove deprecated whoosh logger. It's no longer part of CE codebase, now it's...
marcink -
r292:6aa02ab5 default
parent child Browse files
Show More
@@ -1,618 +1,612 b''
1 1 ################################################################################
2 2 ################################################################################
3 3 # RhodeCode Enterprise - configuration file #
4 4 # Built-in functions and variables #
5 5 # The %(here)s variable will be replaced with the parent directory of this file#
6 6 # #
7 7 ################################################################################
8 8
9 9 [DEFAULT]
10 10 debug = true
11 11 ################################################################################
12 12 ## Uncomment and replace with the email address which should receive ##
13 13 ## any error reports after an application crash ##
14 14 ## Additionally these settings will be used by the RhodeCode mailing system ##
15 15 ################################################################################
16 16 #email_to = admin@localhost
17 17 #error_email_from = paste_error@localhost
18 18 #app_email_from = rhodecode-noreply@localhost
19 19 #error_message =
20 20 #email_prefix = [RhodeCode]
21 21
22 22 #smtp_server = mail.server.com
23 23 #smtp_username =
24 24 #smtp_password =
25 25 #smtp_port =
26 26 #smtp_use_tls = false
27 27 #smtp_use_ssl = true
28 28 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
29 29 #smtp_auth =
30 30
31 31 [server:main]
32 32 ## COMMON ##
33 33 host = 127.0.0.1
34 34 port = 5000
35 35
36 36 ##################################
37 37 ## WAITRESS WSGI SERVER ##
38 38 ## Recommended for Development ##
39 39 ##################################
40 40 use = egg:waitress#main
41 41 ## number of worker threads
42 42 threads = 5
43 43 ## MAX BODY SIZE 100GB
44 44 max_request_body_size = 107374182400
45 45 ## Use poll instead of select, fixes file descriptors limits problems.
46 46 ## May not work on old windows systems.
47 47 asyncore_use_poll = true
48 48
49 49
50 50 ##########################
51 51 ## GUNICORN WSGI SERVER ##
52 52 ##########################
53 53 ## run with gunicorn --log-config <inifile.ini> --paste <inifile.ini>
54 54 #use = egg:gunicorn#main
55 55 ## Sets the number of process workers. You must set `instance_id = *`
56 56 ## when this option is set to more than one worker, recommended
57 57 ## value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers
58 58 ## The `instance_id = *` must be set in the [app:main] section below
59 59 #workers = 2
60 60 ## number of threads for each of the worker, must be set to 1 for gevent
61 61 ## generally recommened to be at 1
62 62 #threads = 1
63 63 ## process name
64 64 #proc_name = rhodecode
65 65 ## type of worker class, one of sync, gevent
66 66 ## recommended for bigger setup is using of of other than sync one
67 67 #worker_class = sync
68 68 ## The maximum number of simultaneous clients. Valid only for Gevent
69 69 #worker_connections = 10
70 70 ## max number of requests that worker will handle before being gracefully
71 71 ## restarted, could prevent memory leaks
72 72 #max_requests = 1000
73 73 #max_requests_jitter = 30
74 74 ## amount of time a worker can spend with handling a request before it
75 75 ## gets killed and restarted. Set to 6hrs
76 76 #timeout = 21600
77 77
78 78
79 79 ## prefix middleware for RhodeCode, disables force_https flag.
80 80 ## allows to set RhodeCode under a prefix in server.
81 81 ## eg https://server.com/<prefix>. Enable `filter-with =` option below as well.
82 82 #[filter:proxy-prefix]
83 83 #use = egg:PasteDeploy#prefix
84 84 #prefix = /<your-prefix>
85 85
86 86 [app:main]
87 87 use = egg:rhodecode-enterprise-ce
88 88 ## enable proxy prefix middleware, defined below
89 89 #filter-with = proxy-prefix
90 90
91 91 # During development the we want to have the debug toolbar enabled
92 92 pyramid.includes =
93 93 pyramid_debugtoolbar
94 94 rhodecode.utils.debugtoolbar
95 95 rhodecode.lib.middleware.request_wrapper
96 96
97 97 pyramid.reload_templates = true
98 98
99 99 debugtoolbar.hosts = 0.0.0.0/0
100 100 debugtoolbar.exclude_prefixes =
101 101 /css
102 102 /fonts
103 103 /images
104 104 /js
105 105
106 106 ## RHODECODE PLUGINS ##
107 107 rhodecode.includes =
108 108 rhodecode.api
109 109
110 110
111 111 # api prefix url
112 112 rhodecode.api.url = /_admin/api
113 113
114 114
115 115 ## END RHODECODE PLUGINS ##
116 116
117 117 ## encryption key used to encrypt social plugin tokens,
118 118 ## remote_urls with credentials etc, if not set it defaults to
119 119 ## `beaker.session.secret`
120 120 #rhodecode.encrypted_values.secret =
121 121
122 122 ## decryption strict mode (enabled by default). It controls if decryption raises
123 123 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
124 124 #rhodecode.encrypted_values.strict = false
125 125
126 126 full_stack = true
127 127
128 128 ## Serve static files via RhodeCode, disable to serve them via HTTP server
129 129 static_files = true
130 130
131 131 # autogenerate javascript routes file on startup
132 132 generate_js_files = false
133 133
134 134 ## Optional Languages
135 135 ## en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
136 136 lang = en
137 137
138 138 ## perform a full repository scan on each server start, this should be
139 139 ## set to false after first startup, to allow faster server restarts.
140 140 startup.import_repos = false
141 141
142 142 ## Uncomment and set this path to use archive download cache.
143 143 ## Once enabled, generated archives will be cached at this location
144 144 ## and served from the cache during subsequent requests for the same archive of
145 145 ## the repository.
146 146 #archive_cache_dir = /tmp/tarballcache
147 147
148 148 ## change this to unique ID for security
149 149 app_instance_uuid = rc-production
150 150
151 151 ## cut off limit for large diffs (size in bytes)
152 152 cut_off_limit_diff = 1024000
153 153 cut_off_limit_file = 256000
154 154
155 155 ## use cache version of scm repo everywhere
156 156 vcs_full_cache = true
157 157
158 158 ## force https in RhodeCode, fixes https redirects, assumes it's always https
159 159 ## Normally this is controlled by proper http flags sent from http server
160 160 force_https = false
161 161
162 162 ## use Strict-Transport-Security headers
163 163 use_htsts = false
164 164
165 165 ## number of commits stats will parse on each iteration
166 166 commit_parse_limit = 25
167 167
168 168 ## git rev filter option, --all is the default filter, if you need to
169 169 ## hide all refs in changelog switch this to --branches --tags
170 170 git_rev_filter = --branches --tags
171 171
172 172 # Set to true if your repos are exposed using the dumb protocol
173 173 git_update_server_info = false
174 174
175 175 ## RSS/ATOM feed options
176 176 rss_cut_off_limit = 256000
177 177 rss_items_per_page = 10
178 178 rss_include_diff = false
179 179
180 180 ## gist URL alias, used to create nicer urls for gist. This should be an
181 181 ## url that does rewrites to _admin/gists/<gistid>.
182 182 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
183 183 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
184 184 gist_alias_url =
185 185
186 186 ## List of controllers (using glob pattern syntax) that AUTH TOKENS could be
187 187 ## used for access.
188 188 ## Adding ?auth_token = <token> to the url authenticates this request as if it
189 189 ## came from the the logged in user who own this authentication token.
190 190 ##
191 191 ## Syntax is <ControllerClass>:<function_pattern>.
192 192 ## To enable access to raw_files put `FilesController:raw`.
193 193 ## To enable access to patches add `ChangesetController:changeset_patch`.
194 194 ## The list should be "," separated and on a single line.
195 195 ##
196 196 ## Recommended controllers to enable:
197 197 # ChangesetController:changeset_patch,
198 198 # ChangesetController:changeset_raw,
199 199 # FilesController:raw,
200 200 # FilesController:archivefile,
201 201 # GistsController:*,
202 202 api_access_controllers_whitelist =
203 203
204 204 ## default encoding used to convert from and to unicode
205 205 ## can be also a comma separated list of encoding in case of mixed encodings
206 206 default_encoding = UTF-8
207 207
208 208 ## instance-id prefix
209 209 ## a prefix key for this instance used for cache invalidation when running
210 210 ## multiple instances of rhodecode, make sure it's globally unique for
211 211 ## all running rhodecode instances. Leave empty if you don't use it
212 212 instance_id =
213 213
214 214 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
215 215 ## of an authentication plugin also if it is disabled by it's settings.
216 216 ## This could be useful if you are unable to log in to the system due to broken
217 217 ## authentication settings. Then you can enable e.g. the internal rhodecode auth
218 218 ## module to log in again and fix the settings.
219 219 ##
220 220 ## Available builtin plugin IDs (hash is part of the ID):
221 221 ## egg:rhodecode-enterprise-ce#rhodecode
222 222 ## egg:rhodecode-enterprise-ce#pam
223 223 ## egg:rhodecode-enterprise-ce#ldap
224 224 ## egg:rhodecode-enterprise-ce#jasig_cas
225 225 ## egg:rhodecode-enterprise-ce#headers
226 226 ## egg:rhodecode-enterprise-ce#crowd
227 227 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
228 228
229 229 ## alternative return HTTP header for failed authentication. Default HTTP
230 230 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
231 231 ## handling that causing a series of failed authentication calls.
232 232 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
233 233 ## This will be served instead of default 401 on bad authnetication
234 234 auth_ret_code =
235 235
236 236 ## use special detection method when serving auth_ret_code, instead of serving
237 237 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
238 238 ## and then serve auth_ret_code to clients
239 239 auth_ret_code_detection = false
240 240
241 241 ## locking return code. When repository is locked return this HTTP code. 2XX
242 242 ## codes don't break the transactions while 4XX codes do
243 243 lock_ret_code = 423
244 244
245 245 ## allows to change the repository location in settings page
246 246 allow_repo_location_change = true
247 247
248 248 ## allows to setup custom hooks in settings page
249 249 allow_custom_hooks_settings = true
250 250
251 251 ## generated license token, goto license page in RhodeCode settings to obtain
252 252 ## new token
253 253 license_token =
254 254
255 255 ## supervisor connection uri, for managing supervisor and logs.
256 256 supervisor.uri =
257 257 ## supervisord group name/id we only want this RC instance to handle
258 258 supervisor.group_id = dev
259 259
260 260 ## Display extended labs settings
261 261 labs_settings_active = true
262 262
263 263 ####################################
264 264 ### CELERY CONFIG ####
265 265 ####################################
266 266 use_celery = false
267 267 broker.host = localhost
268 268 broker.vhost = rabbitmqhost
269 269 broker.port = 5672
270 270 broker.user = rabbitmq
271 271 broker.password = qweqwe
272 272
273 273 celery.imports = rhodecode.lib.celerylib.tasks
274 274
275 275 celery.result.backend = amqp
276 276 celery.result.dburi = amqp://
277 277 celery.result.serialier = json
278 278
279 279 #celery.send.task.error.emails = true
280 280 #celery.amqp.task.result.expires = 18000
281 281
282 282 celeryd.concurrency = 2
283 283 #celeryd.log.file = celeryd.log
284 284 celeryd.log.level = debug
285 285 celeryd.max.tasks.per.child = 1
286 286
287 287 ## tasks will never be sent to the queue, but executed locally instead.
288 288 celery.always.eager = false
289 289
290 290 ####################################
291 291 ### BEAKER CACHE ####
292 292 ####################################
293 293 # default cache dir for templates. Putting this into a ramdisk
294 294 ## can boost performance, eg. %(here)s/data_ramdisk
295 295 cache_dir = %(here)s/data
296 296
297 297 ## locking and default file storage for Beaker. Putting this into a ramdisk
298 298 ## can boost performance, eg. %(here)s/data_ramdisk/cache/beaker_data
299 299 beaker.cache.data_dir = %(here)s/data/cache/beaker_data
300 300 beaker.cache.lock_dir = %(here)s/data/cache/beaker_lock
301 301
302 302 beaker.cache.regions = super_short_term, short_term, long_term, sql_cache_short, auth_plugins, repo_cache_long
303 303
304 304 beaker.cache.super_short_term.type = memory
305 305 beaker.cache.super_short_term.expire = 10
306 306 beaker.cache.super_short_term.key_length = 256
307 307
308 308 beaker.cache.short_term.type = memory
309 309 beaker.cache.short_term.expire = 60
310 310 beaker.cache.short_term.key_length = 256
311 311
312 312 beaker.cache.long_term.type = memory
313 313 beaker.cache.long_term.expire = 36000
314 314 beaker.cache.long_term.key_length = 256
315 315
316 316 beaker.cache.sql_cache_short.type = memory
317 317 beaker.cache.sql_cache_short.expire = 10
318 318 beaker.cache.sql_cache_short.key_length = 256
319 319
320 320 # default is memory cache, configure only if required
321 321 # using multi-node or multi-worker setup
322 322 #beaker.cache.auth_plugins.type = ext:database
323 323 #beaker.cache.auth_plugins.lock_dir = %(here)s/data/cache/auth_plugin_lock
324 324 #beaker.cache.auth_plugins.url = postgresql://postgres:secret@localhost/rhodecode
325 325 #beaker.cache.auth_plugins.url = mysql://root:secret@127.0.0.1/rhodecode
326 326 #beaker.cache.auth_plugins.sa.pool_recycle = 3600
327 327 #beaker.cache.auth_plugins.sa.pool_size = 10
328 328 #beaker.cache.auth_plugins.sa.max_overflow = 0
329 329
330 330 beaker.cache.repo_cache_long.type = memorylru_base
331 331 beaker.cache.repo_cache_long.max_items = 4096
332 332 beaker.cache.repo_cache_long.expire = 2592000
333 333
334 334 # default is memorylru_base cache, configure only if required
335 335 # using multi-node or multi-worker setup
336 336 #beaker.cache.repo_cache_long.type = ext:memcached
337 337 #beaker.cache.repo_cache_long.url = localhost:11211
338 338 #beaker.cache.repo_cache_long.expire = 1209600
339 339 #beaker.cache.repo_cache_long.key_length = 256
340 340
341 341 ####################################
342 342 ### BEAKER SESSION ####
343 343 ####################################
344 344
345 345 ## .session.type is type of storage options for the session, current allowed
346 346 ## types are file, ext:memcached, ext:database, and memory (default).
347 347 beaker.session.type = file
348 348 beaker.session.data_dir = %(here)s/data/sessions/data
349 349
350 350 ## db based session, fast, and allows easy management over logged in users ##
351 351 #beaker.session.type = ext:database
352 352 #beaker.session.table_name = db_session
353 353 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
354 354 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
355 355 #beaker.session.sa.pool_recycle = 3600
356 356 #beaker.session.sa.echo = false
357 357
358 358 beaker.session.key = rhodecode
359 359 beaker.session.secret = develop-rc-uytcxaz
360 360 beaker.session.lock_dir = %(here)s/data/sessions/lock
361 361
362 362 ## Secure encrypted cookie. Requires AES and AES python libraries
363 363 ## you must disable beaker.session.secret to use this
364 364 #beaker.session.encrypt_key = <key_for_encryption>
365 365 #beaker.session.validate_key = <validation_key>
366 366
367 367 ## sets session as invalid(also logging out user) if it haven not been
368 368 ## accessed for given amount of time in seconds
369 369 beaker.session.timeout = 2592000
370 370 beaker.session.httponly = true
371 371 #beaker.session.cookie_path = /<your-prefix>
372 372
373 373 ## uncomment for https secure cookie
374 374 beaker.session.secure = false
375 375
376 376 ## auto save the session to not to use .save()
377 377 beaker.session.auto = false
378 378
379 379 ## default cookie expiration time in seconds, set to `true` to set expire
380 380 ## at browser close
381 381 #beaker.session.cookie_expires = 3600
382 382
383 383 ###################################
384 384 ## SEARCH INDEXING CONFIGURATION ##
385 385 ###################################
386 386 ## Full text search indexer is available in rhodecode-tools under
387 387 ## `rhodecode-tools index` command
388 388
389 389 # WHOOSH Backend, doesn't require additional services to run
390 390 # it works good with few dozen repos
391 391 search.module = rhodecode.lib.index.whoosh
392 392 search.location = %(here)s/data/index
393 393
394 394 ###################################
395 395 ## APPENLIGHT CONFIG ##
396 396 ###################################
397 397
398 398 ## Appenlight is tailored to work with RhodeCode, see
399 399 ## http://appenlight.com for details how to obtain an account
400 400
401 401 ## appenlight integration enabled
402 402 appenlight = false
403 403
404 404 appenlight.server_url = https://api.appenlight.com
405 405 appenlight.api_key = YOUR_API_KEY
406 406 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
407 407
408 408 # used for JS client
409 409 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
410 410
411 411 ## TWEAK AMOUNT OF INFO SENT HERE
412 412
413 413 ## enables 404 error logging (default False)
414 414 appenlight.report_404 = false
415 415
416 416 ## time in seconds after request is considered being slow (default 1)
417 417 appenlight.slow_request_time = 1
418 418
419 419 ## record slow requests in application
420 420 ## (needs to be enabled for slow datastore recording and time tracking)
421 421 appenlight.slow_requests = true
422 422
423 423 ## enable hooking to application loggers
424 424 appenlight.logging = true
425 425
426 426 ## minimum log level for log capture
427 427 appenlight.logging.level = WARNING
428 428
429 429 ## send logs only from erroneous/slow requests
430 430 ## (saves API quota for intensive logging)
431 431 appenlight.logging_on_error = false
432 432
433 433 ## list of additonal keywords that should be grabbed from environ object
434 434 ## can be string with comma separated list of words in lowercase
435 435 ## (by default client will always send following info:
436 436 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
437 437 ## start with HTTP* this list be extended with additional keywords here
438 438 appenlight.environ_keys_whitelist =
439 439
440 440 ## list of keywords that should be blanked from request object
441 441 ## can be string with comma separated list of words in lowercase
442 442 ## (by default client will always blank keys that contain following words
443 443 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
444 444 ## this list be extended with additional keywords set here
445 445 appenlight.request_keys_blacklist =
446 446
447 447 ## list of namespaces that should be ignores when gathering log entries
448 448 ## can be string with comma separated list of namespaces
449 449 ## (by default the client ignores own entries: appenlight_client.client)
450 450 appenlight.log_namespace_blacklist =
451 451
452 452
453 453 ################################################################################
454 454 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
455 455 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
456 456 ## execute malicious code after an exception is raised. ##
457 457 ################################################################################
458 458 #set debug = false
459 459
460 460
461 461 ##############
462 462 ## STYLING ##
463 463 ##############
464 464 debug_style = true
465 465
466 466 #########################################################
467 467 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
468 468 #########################################################
469 469 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
470 470 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
471 471 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode
472 472
473 473 # see sqlalchemy docs for other advanced settings
474 474
475 475 ## print the sql statements to output
476 476 sqlalchemy.db1.echo = false
477 477 ## recycle the connections after this ammount of seconds
478 478 sqlalchemy.db1.pool_recycle = 3600
479 479 sqlalchemy.db1.convert_unicode = true
480 480
481 481 ## the number of connections to keep open inside the connection pool.
482 482 ## 0 indicates no limit
483 483 #sqlalchemy.db1.pool_size = 5
484 484
485 485 ## the number of connections to allow in connection pool "overflow", that is
486 486 ## connections that can be opened above and beyond the pool_size setting,
487 487 ## which defaults to five.
488 488 #sqlalchemy.db1.max_overflow = 10
489 489
490 490
491 491 ##################
492 492 ### VCS CONFIG ###
493 493 ##################
494 494 vcs.server.enable = true
495 495 vcs.server = localhost:9900
496 496
497 497 ## Web server connectivity protocol, responsible for web based VCS operatations
498 498 ## Available protocols are:
499 499 ## `pyro4` - using pyro4 server
500 500 ## `http` - using http-rpc backend
501 501 #vcs.server.protocol = http
502 502
503 503 ## Push/Pull operations protocol, available options are:
504 504 ## `pyro4` - using pyro4 server
505 505 ## `rhodecode.lib.middleware.utils.scm_app_http` - Http based, recommended
506 506 ## `vcsserver.scm_app` - internal app (EE only)
507 507 #vcs.scm_app_implementation = rhodecode.lib.middleware.utils.scm_app_http
508 508
509 509 ## Push/Pull operations hooks protocol, available options are:
510 510 ## `pyro4` - using pyro4 server
511 511 ## `http` - using http-rpc backend
512 512 #vcs.hooks.protocol = http
513 513
514 514 vcs.server.log_level = debug
515 515 ## Start VCSServer with this instance as a subprocess, usefull for development
516 516 vcs.start_server = true
517 517 vcs.backends = hg, git, svn
518 518 vcs.connection_timeout = 3600
519 519 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
520 520 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible
521 521 #vcs.svn.compatible_version = pre-1.8-compatible
522 522
523 523 ################################
524 524 ### LOGGING CONFIGURATION ####
525 525 ################################
526 526 [loggers]
527 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates, whoosh_indexer
527 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates
528 528
529 529 [handlers]
530 530 keys = console, console_sql
531 531
532 532 [formatters]
533 533 keys = generic, color_formatter, color_formatter_sql
534 534
535 535 #############
536 536 ## LOGGERS ##
537 537 #############
538 538 [logger_root]
539 539 level = NOTSET
540 540 handlers = console
541 541
542 542 [logger_routes]
543 543 level = DEBUG
544 544 handlers =
545 545 qualname = routes.middleware
546 546 ## "level = DEBUG" logs the route matched and routing variables.
547 547 propagate = 1
548 548
549 549 [logger_beaker]
550 550 level = DEBUG
551 551 handlers =
552 552 qualname = beaker.container
553 553 propagate = 1
554 554
555 555 [logger_pyro4]
556 556 level = DEBUG
557 557 handlers =
558 558 qualname = Pyro4
559 559 propagate = 1
560 560
561 561 [logger_templates]
562 562 level = INFO
563 563 handlers =
564 564 qualname = pylons.templating
565 565 propagate = 1
566 566
567 567 [logger_rhodecode]
568 568 level = DEBUG
569 569 handlers =
570 570 qualname = rhodecode
571 571 propagate = 1
572 572
573 573 [logger_sqlalchemy]
574 574 level = INFO
575 575 handlers = console_sql
576 576 qualname = sqlalchemy.engine
577 577 propagate = 0
578 578
579 [logger_whoosh_indexer]
580 level = DEBUG
581 handlers =
582 qualname = whoosh_indexer
583 propagate = 1
584
585 579 ##############
586 580 ## HANDLERS ##
587 581 ##############
588 582
589 583 [handler_console]
590 584 class = StreamHandler
591 585 args = (sys.stderr,)
592 586 level = DEBUG
593 587 formatter = color_formatter
594 588
595 589 [handler_console_sql]
596 590 class = StreamHandler
597 591 args = (sys.stderr,)
598 592 level = DEBUG
599 593 formatter = color_formatter_sql
600 594
601 595 ################
602 596 ## FORMATTERS ##
603 597 ################
604 598
605 599 [formatter_generic]
606 600 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
607 601 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
608 602 datefmt = %Y-%m-%d %H:%M:%S
609 603
610 604 [formatter_color_formatter]
611 605 class = rhodecode.lib.logging_formatter.ColorFormatter
612 606 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
613 607 datefmt = %Y-%m-%d %H:%M:%S
614 608
615 609 [formatter_color_formatter_sql]
616 610 class = rhodecode.lib.logging_formatter.ColorFormatterSql
617 611 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
618 612 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,587 +1,581 b''
1 1 ################################################################################
2 2 ################################################################################
3 3 # RhodeCode Enterprise - configuration file #
4 4 # Built-in functions and variables #
5 5 # The %(here)s variable will be replaced with the parent directory of this file#
6 6 # #
7 7 ################################################################################
8 8
9 9 [DEFAULT]
10 10 debug = true
11 11 ################################################################################
12 12 ## Uncomment and replace with the email address which should receive ##
13 13 ## any error reports after an application crash ##
14 14 ## Additionally these settings will be used by the RhodeCode mailing system ##
15 15 ################################################################################
16 16 #email_to = admin@localhost
17 17 #error_email_from = paste_error@localhost
18 18 #app_email_from = rhodecode-noreply@localhost
19 19 #error_message =
20 20 #email_prefix = [RhodeCode]
21 21
22 22 #smtp_server = mail.server.com
23 23 #smtp_username =
24 24 #smtp_password =
25 25 #smtp_port =
26 26 #smtp_use_tls = false
27 27 #smtp_use_ssl = true
28 28 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
29 29 #smtp_auth =
30 30
31 31 [server:main]
32 32 ## COMMON ##
33 33 host = 127.0.0.1
34 34 port = 5000
35 35
36 36 ##################################
37 37 ## WAITRESS WSGI SERVER ##
38 38 ## Recommended for Development ##
39 39 ##################################
40 40 #use = egg:waitress#main
41 41 ## number of worker threads
42 42 #threads = 5
43 43 ## MAX BODY SIZE 100GB
44 44 #max_request_body_size = 107374182400
45 45 ## Use poll instead of select, fixes file descriptors limits problems.
46 46 ## May not work on old windows systems.
47 47 #asyncore_use_poll = true
48 48
49 49
50 50 ##########################
51 51 ## GUNICORN WSGI SERVER ##
52 52 ##########################
53 53 ## run with gunicorn --log-config <inifile.ini> --paste <inifile.ini>
54 54 use = egg:gunicorn#main
55 55 ## Sets the number of process workers. You must set `instance_id = *`
56 56 ## when this option is set to more than one worker, recommended
57 57 ## value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers
58 58 ## The `instance_id = *` must be set in the [app:main] section below
59 59 workers = 2
60 60 ## number of threads for each of the worker, must be set to 1 for gevent
61 61 ## generally recommened to be at 1
62 62 #threads = 1
63 63 ## process name
64 64 proc_name = rhodecode
65 65 ## type of worker class, one of sync, gevent
66 66 ## recommended for bigger setup is using of of other than sync one
67 67 worker_class = sync
68 68 ## The maximum number of simultaneous clients. Valid only for Gevent
69 69 #worker_connections = 10
70 70 ## max number of requests that worker will handle before being gracefully
71 71 ## restarted, could prevent memory leaks
72 72 max_requests = 1000
73 73 max_requests_jitter = 30
74 74 ## amount of time a worker can spend with handling a request before it
75 75 ## gets killed and restarted. Set to 6hrs
76 76 timeout = 21600
77 77
78 78
79 79 ## prefix middleware for RhodeCode, disables force_https flag.
80 80 ## allows to set RhodeCode under a prefix in server.
81 81 ## eg https://server.com/<prefix>. Enable `filter-with =` option below as well.
82 82 #[filter:proxy-prefix]
83 83 #use = egg:PasteDeploy#prefix
84 84 #prefix = /<your-prefix>
85 85
86 86 [app:main]
87 87 use = egg:rhodecode-enterprise-ce
88 88 ## enable proxy prefix middleware, defined below
89 89 #filter-with = proxy-prefix
90 90
91 91 ## encryption key used to encrypt social plugin tokens,
92 92 ## remote_urls with credentials etc, if not set it defaults to
93 93 ## `beaker.session.secret`
94 94 #rhodecode.encrypted_values.secret =
95 95
96 96 ## decryption strict mode (enabled by default). It controls if decryption raises
97 97 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
98 98 #rhodecode.encrypted_values.strict = false
99 99
100 100 full_stack = true
101 101
102 102 ## Serve static files via RhodeCode, disable to serve them via HTTP server
103 103 static_files = true
104 104
105 105 # autogenerate javascript routes file on startup
106 106 generate_js_files = false
107 107
108 108 ## Optional Languages
109 109 ## en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
110 110 lang = en
111 111
112 112 ## perform a full repository scan on each server start, this should be
113 113 ## set to false after first startup, to allow faster server restarts.
114 114 startup.import_repos = false
115 115
116 116 ## Uncomment and set this path to use archive download cache.
117 117 ## Once enabled, generated archives will be cached at this location
118 118 ## and served from the cache during subsequent requests for the same archive of
119 119 ## the repository.
120 120 #archive_cache_dir = /tmp/tarballcache
121 121
122 122 ## change this to unique ID for security
123 123 app_instance_uuid = rc-production
124 124
125 125 ## cut off limit for large diffs (size in bytes)
126 126 cut_off_limit_diff = 1024000
127 127 cut_off_limit_file = 256000
128 128
129 129 ## use cache version of scm repo everywhere
130 130 vcs_full_cache = true
131 131
132 132 ## force https in RhodeCode, fixes https redirects, assumes it's always https
133 133 ## Normally this is controlled by proper http flags sent from http server
134 134 force_https = false
135 135
136 136 ## use Strict-Transport-Security headers
137 137 use_htsts = false
138 138
139 139 ## number of commits stats will parse on each iteration
140 140 commit_parse_limit = 25
141 141
142 142 ## git rev filter option, --all is the default filter, if you need to
143 143 ## hide all refs in changelog switch this to --branches --tags
144 144 git_rev_filter = --branches --tags
145 145
146 146 # Set to true if your repos are exposed using the dumb protocol
147 147 git_update_server_info = false
148 148
149 149 ## RSS/ATOM feed options
150 150 rss_cut_off_limit = 256000
151 151 rss_items_per_page = 10
152 152 rss_include_diff = false
153 153
154 154 ## gist URL alias, used to create nicer urls for gist. This should be an
155 155 ## url that does rewrites to _admin/gists/<gistid>.
156 156 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
157 157 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
158 158 gist_alias_url =
159 159
160 160 ## List of controllers (using glob pattern syntax) that AUTH TOKENS could be
161 161 ## used for access.
162 162 ## Adding ?auth_token = <token> to the url authenticates this request as if it
163 163 ## came from the the logged in user who own this authentication token.
164 164 ##
165 165 ## Syntax is <ControllerClass>:<function_pattern>.
166 166 ## To enable access to raw_files put `FilesController:raw`.
167 167 ## To enable access to patches add `ChangesetController:changeset_patch`.
168 168 ## The list should be "," separated and on a single line.
169 169 ##
170 170 ## Recommended controllers to enable:
171 171 # ChangesetController:changeset_patch,
172 172 # ChangesetController:changeset_raw,
173 173 # FilesController:raw,
174 174 # FilesController:archivefile,
175 175 # GistsController:*,
176 176 api_access_controllers_whitelist =
177 177
178 178 ## default encoding used to convert from and to unicode
179 179 ## can be also a comma separated list of encoding in case of mixed encodings
180 180 default_encoding = UTF-8
181 181
182 182 ## instance-id prefix
183 183 ## a prefix key for this instance used for cache invalidation when running
184 184 ## multiple instances of rhodecode, make sure it's globally unique for
185 185 ## all running rhodecode instances. Leave empty if you don't use it
186 186 instance_id =
187 187
188 188 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
189 189 ## of an authentication plugin also if it is disabled by it's settings.
190 190 ## This could be useful if you are unable to log in to the system due to broken
191 191 ## authentication settings. Then you can enable e.g. the internal rhodecode auth
192 192 ## module to log in again and fix the settings.
193 193 ##
194 194 ## Available builtin plugin IDs (hash is part of the ID):
195 195 ## egg:rhodecode-enterprise-ce#rhodecode
196 196 ## egg:rhodecode-enterprise-ce#pam
197 197 ## egg:rhodecode-enterprise-ce#ldap
198 198 ## egg:rhodecode-enterprise-ce#jasig_cas
199 199 ## egg:rhodecode-enterprise-ce#headers
200 200 ## egg:rhodecode-enterprise-ce#crowd
201 201 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
202 202
203 203 ## alternative return HTTP header for failed authentication. Default HTTP
204 204 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
205 205 ## handling that causing a series of failed authentication calls.
206 206 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
207 207 ## This will be served instead of default 401 on bad authnetication
208 208 auth_ret_code =
209 209
210 210 ## use special detection method when serving auth_ret_code, instead of serving
211 211 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
212 212 ## and then serve auth_ret_code to clients
213 213 auth_ret_code_detection = false
214 214
215 215 ## locking return code. When repository is locked return this HTTP code. 2XX
216 216 ## codes don't break the transactions while 4XX codes do
217 217 lock_ret_code = 423
218 218
219 219 ## allows to change the repository location in settings page
220 220 allow_repo_location_change = true
221 221
222 222 ## allows to setup custom hooks in settings page
223 223 allow_custom_hooks_settings = true
224 224
225 225 ## generated license token, goto license page in RhodeCode settings to obtain
226 226 ## new token
227 227 license_token =
228 228
229 229 ## supervisor connection uri, for managing supervisor and logs.
230 230 supervisor.uri =
231 231 ## supervisord group name/id we only want this RC instance to handle
232 232 supervisor.group_id = prod
233 233
234 234 ## Display extended labs settings
235 235 labs_settings_active = true
236 236
237 237 ####################################
238 238 ### CELERY CONFIG ####
239 239 ####################################
240 240 use_celery = false
241 241 broker.host = localhost
242 242 broker.vhost = rabbitmqhost
243 243 broker.port = 5672
244 244 broker.user = rabbitmq
245 245 broker.password = qweqwe
246 246
247 247 celery.imports = rhodecode.lib.celerylib.tasks
248 248
249 249 celery.result.backend = amqp
250 250 celery.result.dburi = amqp://
251 251 celery.result.serialier = json
252 252
253 253 #celery.send.task.error.emails = true
254 254 #celery.amqp.task.result.expires = 18000
255 255
256 256 celeryd.concurrency = 2
257 257 #celeryd.log.file = celeryd.log
258 258 celeryd.log.level = debug
259 259 celeryd.max.tasks.per.child = 1
260 260
261 261 ## tasks will never be sent to the queue, but executed locally instead.
262 262 celery.always.eager = false
263 263
264 264 ####################################
265 265 ### BEAKER CACHE ####
266 266 ####################################
267 267 # default cache dir for templates. Putting this into a ramdisk
268 268 ## can boost performance, eg. %(here)s/data_ramdisk
269 269 cache_dir = %(here)s/data
270 270
271 271 ## locking and default file storage for Beaker. Putting this into a ramdisk
272 272 ## can boost performance, eg. %(here)s/data_ramdisk/cache/beaker_data
273 273 beaker.cache.data_dir = %(here)s/data/cache/beaker_data
274 274 beaker.cache.lock_dir = %(here)s/data/cache/beaker_lock
275 275
276 276 beaker.cache.regions = super_short_term, short_term, long_term, sql_cache_short, auth_plugins, repo_cache_long
277 277
278 278 beaker.cache.super_short_term.type = memory
279 279 beaker.cache.super_short_term.expire = 10
280 280 beaker.cache.super_short_term.key_length = 256
281 281
282 282 beaker.cache.short_term.type = memory
283 283 beaker.cache.short_term.expire = 60
284 284 beaker.cache.short_term.key_length = 256
285 285
286 286 beaker.cache.long_term.type = memory
287 287 beaker.cache.long_term.expire = 36000
288 288 beaker.cache.long_term.key_length = 256
289 289
290 290 beaker.cache.sql_cache_short.type = memory
291 291 beaker.cache.sql_cache_short.expire = 10
292 292 beaker.cache.sql_cache_short.key_length = 256
293 293
294 294 # default is memory cache, configure only if required
295 295 # using multi-node or multi-worker setup
296 296 #beaker.cache.auth_plugins.type = ext:database
297 297 #beaker.cache.auth_plugins.lock_dir = %(here)s/data/cache/auth_plugin_lock
298 298 #beaker.cache.auth_plugins.url = postgresql://postgres:secret@localhost/rhodecode
299 299 #beaker.cache.auth_plugins.url = mysql://root:secret@127.0.0.1/rhodecode
300 300 #beaker.cache.auth_plugins.sa.pool_recycle = 3600
301 301 #beaker.cache.auth_plugins.sa.pool_size = 10
302 302 #beaker.cache.auth_plugins.sa.max_overflow = 0
303 303
304 304 beaker.cache.repo_cache_long.type = memorylru_base
305 305 beaker.cache.repo_cache_long.max_items = 4096
306 306 beaker.cache.repo_cache_long.expire = 2592000
307 307
308 308 # default is memorylru_base cache, configure only if required
309 309 # using multi-node or multi-worker setup
310 310 #beaker.cache.repo_cache_long.type = ext:memcached
311 311 #beaker.cache.repo_cache_long.url = localhost:11211
312 312 #beaker.cache.repo_cache_long.expire = 1209600
313 313 #beaker.cache.repo_cache_long.key_length = 256
314 314
315 315 ####################################
316 316 ### BEAKER SESSION ####
317 317 ####################################
318 318
319 319 ## .session.type is type of storage options for the session, current allowed
320 320 ## types are file, ext:memcached, ext:database, and memory (default).
321 321 beaker.session.type = file
322 322 beaker.session.data_dir = %(here)s/data/sessions/data
323 323
324 324 ## db based session, fast, and allows easy management over logged in users ##
325 325 #beaker.session.type = ext:database
326 326 #beaker.session.table_name = db_session
327 327 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
328 328 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
329 329 #beaker.session.sa.pool_recycle = 3600
330 330 #beaker.session.sa.echo = false
331 331
332 332 beaker.session.key = rhodecode
333 333 beaker.session.secret = production-rc-uytcxaz
334 334 beaker.session.lock_dir = %(here)s/data/sessions/lock
335 335
336 336 ## Secure encrypted cookie. Requires AES and AES python libraries
337 337 ## you must disable beaker.session.secret to use this
338 338 #beaker.session.encrypt_key = <key_for_encryption>
339 339 #beaker.session.validate_key = <validation_key>
340 340
341 341 ## sets session as invalid(also logging out user) if it haven not been
342 342 ## accessed for given amount of time in seconds
343 343 beaker.session.timeout = 2592000
344 344 beaker.session.httponly = true
345 345 #beaker.session.cookie_path = /<your-prefix>
346 346
347 347 ## uncomment for https secure cookie
348 348 beaker.session.secure = false
349 349
350 350 ## auto save the session to not to use .save()
351 351 beaker.session.auto = false
352 352
353 353 ## default cookie expiration time in seconds, set to `true` to set expire
354 354 ## at browser close
355 355 #beaker.session.cookie_expires = 3600
356 356
357 357 ###################################
358 358 ## SEARCH INDEXING CONFIGURATION ##
359 359 ###################################
360 360 ## Full text search indexer is available in rhodecode-tools under
361 361 ## `rhodecode-tools index` command
362 362
363 363 # WHOOSH Backend, doesn't require additional services to run
364 364 # it works good with few dozen repos
365 365 search.module = rhodecode.lib.index.whoosh
366 366 search.location = %(here)s/data/index
367 367
368 368 ###################################
369 369 ## APPENLIGHT CONFIG ##
370 370 ###################################
371 371
372 372 ## Appenlight is tailored to work with RhodeCode, see
373 373 ## http://appenlight.com for details how to obtain an account
374 374
375 375 ## appenlight integration enabled
376 376 appenlight = false
377 377
378 378 appenlight.server_url = https://api.appenlight.com
379 379 appenlight.api_key = YOUR_API_KEY
380 380 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
381 381
382 382 # used for JS client
383 383 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
384 384
385 385 ## TWEAK AMOUNT OF INFO SENT HERE
386 386
387 387 ## enables 404 error logging (default False)
388 388 appenlight.report_404 = false
389 389
390 390 ## time in seconds after request is considered being slow (default 1)
391 391 appenlight.slow_request_time = 1
392 392
393 393 ## record slow requests in application
394 394 ## (needs to be enabled for slow datastore recording and time tracking)
395 395 appenlight.slow_requests = true
396 396
397 397 ## enable hooking to application loggers
398 398 appenlight.logging = true
399 399
400 400 ## minimum log level for log capture
401 401 appenlight.logging.level = WARNING
402 402
403 403 ## send logs only from erroneous/slow requests
404 404 ## (saves API quota for intensive logging)
405 405 appenlight.logging_on_error = false
406 406
407 407 ## list of additonal keywords that should be grabbed from environ object
408 408 ## can be string with comma separated list of words in lowercase
409 409 ## (by default client will always send following info:
410 410 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
411 411 ## start with HTTP* this list be extended with additional keywords here
412 412 appenlight.environ_keys_whitelist =
413 413
414 414 ## list of keywords that should be blanked from request object
415 415 ## can be string with comma separated list of words in lowercase
416 416 ## (by default client will always blank keys that contain following words
417 417 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
418 418 ## this list be extended with additional keywords set here
419 419 appenlight.request_keys_blacklist =
420 420
421 421 ## list of namespaces that should be ignores when gathering log entries
422 422 ## can be string with comma separated list of namespaces
423 423 ## (by default the client ignores own entries: appenlight_client.client)
424 424 appenlight.log_namespace_blacklist =
425 425
426 426
427 427 ################################################################################
428 428 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
429 429 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
430 430 ## execute malicious code after an exception is raised. ##
431 431 ################################################################################
432 432 set debug = false
433 433
434 434
435 435 #########################################################
436 436 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
437 437 #########################################################
438 438 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
439 439 sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
440 440 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode
441 441
442 442 # see sqlalchemy docs for other advanced settings
443 443
444 444 ## print the sql statements to output
445 445 sqlalchemy.db1.echo = false
446 446 ## recycle the connections after this ammount of seconds
447 447 sqlalchemy.db1.pool_recycle = 3600
448 448 sqlalchemy.db1.convert_unicode = true
449 449
450 450 ## the number of connections to keep open inside the connection pool.
451 451 ## 0 indicates no limit
452 452 #sqlalchemy.db1.pool_size = 5
453 453
454 454 ## the number of connections to allow in connection pool "overflow", that is
455 455 ## connections that can be opened above and beyond the pool_size setting,
456 456 ## which defaults to five.
457 457 #sqlalchemy.db1.max_overflow = 10
458 458
459 459
460 460 ##################
461 461 ### VCS CONFIG ###
462 462 ##################
463 463 vcs.server.enable = true
464 464 vcs.server = localhost:9900
465 465
466 466 ## Web server connectivity protocol, responsible for web based VCS operatations
467 467 ## Available protocols are:
468 468 ## `pyro4` - using pyro4 server
469 469 ## `http` - using http-rpc backend
470 470 #vcs.server.protocol = http
471 471
472 472 ## Push/Pull operations protocol, available options are:
473 473 ## `pyro4` - using pyro4 server
474 474 ## `rhodecode.lib.middleware.utils.scm_app_http` - Http based, recommended
475 475 ## `vcsserver.scm_app` - internal app (EE only)
476 476 #vcs.scm_app_implementation = rhodecode.lib.middleware.utils.scm_app_http
477 477
478 478 ## Push/Pull operations hooks protocol, available options are:
479 479 ## `pyro4` - using pyro4 server
480 480 ## `http` - using http-rpc backend
481 481 #vcs.hooks.protocol = http
482 482
483 483 vcs.server.log_level = info
484 484 ## Start VCSServer with this instance as a subprocess, usefull for development
485 485 vcs.start_server = false
486 486 vcs.backends = hg, git, svn
487 487 vcs.connection_timeout = 3600
488 488 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
489 489 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible
490 490 #vcs.svn.compatible_version = pre-1.8-compatible
491 491
492 492 ################################
493 493 ### LOGGING CONFIGURATION ####
494 494 ################################
495 495 [loggers]
496 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates, whoosh_indexer
496 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates
497 497
498 498 [handlers]
499 499 keys = console, console_sql
500 500
501 501 [formatters]
502 502 keys = generic, color_formatter, color_formatter_sql
503 503
504 504 #############
505 505 ## LOGGERS ##
506 506 #############
507 507 [logger_root]
508 508 level = NOTSET
509 509 handlers = console
510 510
511 511 [logger_routes]
512 512 level = DEBUG
513 513 handlers =
514 514 qualname = routes.middleware
515 515 ## "level = DEBUG" logs the route matched and routing variables.
516 516 propagate = 1
517 517
518 518 [logger_beaker]
519 519 level = DEBUG
520 520 handlers =
521 521 qualname = beaker.container
522 522 propagate = 1
523 523
524 524 [logger_pyro4]
525 525 level = DEBUG
526 526 handlers =
527 527 qualname = Pyro4
528 528 propagate = 1
529 529
530 530 [logger_templates]
531 531 level = INFO
532 532 handlers =
533 533 qualname = pylons.templating
534 534 propagate = 1
535 535
536 536 [logger_rhodecode]
537 537 level = DEBUG
538 538 handlers =
539 539 qualname = rhodecode
540 540 propagate = 1
541 541
542 542 [logger_sqlalchemy]
543 543 level = INFO
544 544 handlers = console_sql
545 545 qualname = sqlalchemy.engine
546 546 propagate = 0
547 547
548 [logger_whoosh_indexer]
549 level = DEBUG
550 handlers =
551 qualname = whoosh_indexer
552 propagate = 1
553
554 548 ##############
555 549 ## HANDLERS ##
556 550 ##############
557 551
558 552 [handler_console]
559 553 class = StreamHandler
560 554 args = (sys.stderr,)
561 555 level = INFO
562 556 formatter = generic
563 557
564 558 [handler_console_sql]
565 559 class = StreamHandler
566 560 args = (sys.stderr,)
567 561 level = WARN
568 562 formatter = generic
569 563
570 564 ################
571 565 ## FORMATTERS ##
572 566 ################
573 567
574 568 [formatter_generic]
575 569 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
576 570 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
577 571 datefmt = %Y-%m-%d %H:%M:%S
578 572
579 573 [formatter_color_formatter]
580 574 class = rhodecode.lib.logging_formatter.ColorFormatter
581 575 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
582 576 datefmt = %Y-%m-%d %H:%M:%S
583 577
584 578 [formatter_color_formatter_sql]
585 579 class = rhodecode.lib.logging_formatter.ColorFormatterSql
586 580 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
587 581 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,136 +1,130 b''
1 1 .. _debug-mode:
2 2
3 3 Enabling Debug Mode
4 4 -------------------
5 5
6 6 To enable debug mode on a |RCE| instance you need to set the debug property
7 7 in the :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file. To
8 8 do this, use the following steps
9 9
10 10 1. Open the file and set the ``debug`` line to ``true``
11 11 2. Restart you instance using the ``rccontrol restart`` command,
12 12 see the following example:
13 13
14 14 You can also set the log level, the follow are the valid options;
15 15 ``debug``, ``info``, ``warning``, or ``fatal``.
16 16
17 17 .. code-block:: ini
18 18
19 19 [DEFAULT]
20 20 debug = true
21 21 pdebug = false
22 22
23 23 .. code-block:: bash
24 24
25 25 # Restart your instance
26 26 $ rccontrol restart enterprise-1
27 27 Instance "enterprise-1" successfully stopped.
28 28 Instance "enterprise-1" successfully started.
29 29
30 30 Debug and Logging Configuration
31 31 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
32 32
33 33 Further debugging and logging settings can also be set in the
34 34 :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file.
35 35
36 36 In the logging section, the various packages that run with |RCE| can have
37 37 different debug levels set. If you want to increase the logging level change
38 38 ``level = DEBUG`` line to one of the valid options.
39 39
40 40 You also need to change the log level for handlers. See the example
41 41 ``##handler`` section below. The ``handler`` level takes the same options as
42 42 the ``debug`` level.
43 43
44 44 .. code-block:: ini
45 45
46 46 ################################
47 47 ### LOGGING CONFIGURATION ####
48 48 ################################
49 49 [loggers]
50 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates, whoosh_indexer
50 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates
51 51
52 52 [handlers]
53 53 keys = console, console_sql, file, file_rotating
54 54
55 55 [formatters]
56 56 keys = generic, color_formatter, color_formatter_sql
57 57
58 58 #############
59 59 ## LOGGERS ##
60 60 #############
61 61 [logger_root]
62 62 level = NOTSET
63 63 handlers = console
64 64
65 65 [logger_routes]
66 66 level = DEBUG
67 67 handlers =
68 68 qualname = routes.middleware
69 69 ## "level = DEBUG" logs the route matched and routing variables.
70 70 propagate = 1
71 71
72 72 [logger_beaker]
73 73 level = DEBUG
74 74 handlers =
75 75 qualname = beaker.container
76 76 propagate = 1
77 77
78 78 [logger_pyro4]
79 79 level = DEBUG
80 80 handlers =
81 81 qualname = Pyro4
82 82 propagate = 1
83 83
84 84 [logger_templates]
85 85 level = INFO
86 86 handlers =
87 87 qualname = pylons.templating
88 88 propagate = 1
89 89
90 90 [logger_rhodecode]
91 91 level = DEBUG
92 92 handlers =
93 93 qualname = rhodecode
94 94 propagate = 1
95 95
96 96 [logger_sqlalchemy]
97 97 level = INFO
98 98 handlers = console_sql
99 99 qualname = sqlalchemy.engine
100 100 propagate = 0
101 101
102 [logger_whoosh_indexer]
103 level = DEBUG
104 handlers =
105 qualname = whoosh_indexer
106 propagate = 1
107
108 102 ##############
109 103 ## HANDLERS ##
110 104 ##############
111 105
112 106 [handler_console]
113 107 class = StreamHandler
114 108 args = (sys.stderr,)
115 109 level = INFO
116 110 formatter = generic
117 111
118 112 [handler_console_sql]
119 113 class = StreamHandler
120 114 args = (sys.stderr,)
121 115 level = WARN
122 116 formatter = generic
123 117
124 118 [handler_file]
125 119 class = FileHandler
126 120 args = ('rhodecode.log', 'a',)
127 121 level = INFO
128 122 formatter = generic
129 123
130 124 [handler_file_rotating]
131 125 class = logging.handlers.TimedRotatingFileHandler
132 126 # 'D', 5 - rotate every 5days
133 127 # you can set 'h', 'midnight'
134 128 args = ('rhodecode.log', 'D', 5, 10,)
135 129 level = INFO
136 130 formatter = generic
@@ -1,612 +1,606 b''
1 1 ################################################################################
2 2 ################################################################################
3 3 # RhodeCode Enterprise - configuration file #
4 4 # Built-in functions and variables #
5 5 # The %(here)s variable will be replaced with the parent directory of this file#
6 6 # #
7 7 ################################################################################
8 8
9 9 [DEFAULT]
10 10 debug = true
11 11 pdebug = false
12 12 ################################################################################
13 13 ## Uncomment and replace with the email address which should receive ##
14 14 ## any error reports after an application crash ##
15 15 ## Additionally these settings will be used by the RhodeCode mailing system ##
16 16 ################################################################################
17 17 #email_to = admin@localhost
18 18 #error_email_from = paste_error@localhost
19 19 #app_email_from = rhodecode-noreply@localhost
20 20 #error_message =
21 21 #email_prefix = [RhodeCode]
22 22
23 23 #smtp_server = mail.server.com
24 24 #smtp_username =
25 25 #smtp_password =
26 26 #smtp_port =
27 27 #smtp_use_tls = false
28 28 #smtp_use_ssl = true
29 29 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
30 30 #smtp_auth =
31 31
32 32 [server:main]
33 33 ## COMMON ##
34 34 host = 0.0.0.0
35 35 port = 5000
36 36
37 37 ##########################
38 38 ## WAITRESS WSGI SERVER ##
39 39 ##########################
40 40 use = egg:waitress#main
41 41 ## number of worker threads
42 42 threads = 5
43 43 ## MAX BODY SIZE 100GB
44 44 max_request_body_size = 107374182400
45 45 ## Use poll instead of select, fixes file descriptors limits problems.
46 46 ## May not work on old windows systems.
47 47 asyncore_use_poll = true
48 48
49 49 ## PASTE HTTP ##
50 50 #use = egg:Paste#http
51 51 ## nr of worker threads to spawn
52 52 #threadpool_workers = 5
53 53 ## max request before thread respawn
54 54 #threadpool_max_requests = 10
55 55 ## option to use threads of process
56 56 #use_threadpool = true
57 57
58 58 ##########################
59 59 ## GUNICORN WSGI SERVER ##
60 60 ##########################
61 61 ## run with gunicorn --log-config <inifile.ini> --paste <inifile.ini>
62 62 #use = egg:gunicorn#main
63 63 ## Sets the number of process workers. You must set `instance_id = *`
64 64 ## when this option is set to more than one worker, recommended
65 65 ## value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers
66 66 ## The `instance_id = *` must be set in the [app:main] section below
67 67 #workers = 1
68 68 ## number of threads for each of the worker, must be set to 1 for gevent
69 69 ## generally recommened to be at 1
70 70 #threads = 1
71 71 ## process name
72 72 #proc_name = rhodecode
73 73 ## type of worker class, one of sync, gevent
74 74 ## recommended for bigger setup is using of of other than sync one
75 75 #worker_class = sync
76 76 ## max number of requests that worker will handle before being gracefully
77 77 ## restarted, could prevent memory leaks
78 78 #max_requests = 1000
79 79 #max_requests_jitter = 30
80 80 ## ammount of time a worker can spend with handling a request before it
81 81 ## gets killed and restarted. Set to 6hrs
82 82 #timeout = 21600
83 83
84 84 ## UWSGI ##
85 85 ## run with uwsgi --ini-paste-logged <inifile.ini>
86 86 #[uwsgi]
87 87 #socket = /tmp/uwsgi.sock
88 88 #master = true
89 89 #http = 127.0.0.1:5000
90 90
91 91 ## set as deamon and redirect all output to file
92 92 #daemonize = ./uwsgi_rhodecode.log
93 93
94 94 ## master process PID
95 95 #pidfile = ./uwsgi_rhodecode.pid
96 96
97 97 ## stats server with workers statistics, use uwsgitop
98 98 ## for monitoring, `uwsgitop 127.0.0.1:1717`
99 99 #stats = 127.0.0.1:1717
100 100 #memory-report = true
101 101
102 102 ## log 5XX errors
103 103 #log-5xx = true
104 104
105 105 ## Set the socket listen queue size.
106 106 #listen = 256
107 107
108 108 ## Gracefully Reload workers after the specified amount of managed requests
109 109 ## (avoid memory leaks).
110 110 #max-requests = 1000
111 111
112 112 ## enable large buffers
113 113 #buffer-size=65535
114 114
115 115 ## socket and http timeouts ##
116 116 #http-timeout=3600
117 117 #socket-timeout=3600
118 118
119 119 ## Log requests slower than the specified number of milliseconds.
120 120 #log-slow = 10
121 121
122 122 ## Exit if no app can be loaded.
123 123 #need-app = true
124 124
125 125 ## Set lazy mode (load apps in workers instead of master).
126 126 #lazy = true
127 127
128 128 ## scaling ##
129 129 ## set cheaper algorithm to use, if not set default will be used
130 130 #cheaper-algo = spare
131 131
132 132 ## minimum number of workers to keep at all times
133 133 #cheaper = 1
134 134
135 135 ## number of workers to spawn at startup
136 136 #cheaper-initial = 1
137 137
138 138 ## maximum number of workers that can be spawned
139 139 #workers = 4
140 140
141 141 ## how many workers should be spawned at a time
142 142 #cheaper-step = 1
143 143
144 144 ## prefix middleware for RhodeCode, disables force_https flag.
145 145 ## allows to set RhodeCode under a prefix in server.
146 146 ## eg https://server.com/<prefix>. Enable `filter-with =` option below as well.
147 147 #[filter:proxy-prefix]
148 148 #use = egg:PasteDeploy#prefix
149 149 #prefix = /<your-prefix>
150 150
151 151 [app:main]
152 152 is_test = True
153 153 use = egg:rhodecode-enterprise-ce
154 154 ## enable proxy prefix middleware, defined below
155 155 #filter-with = proxy-prefix
156 156
157 157 rhodecode.includes = rhodecode.api
158 158
159 159 # api prefix url
160 160 rhodecode.api.url = /_admin/api
161 161
162 162
163 163 full_stack = true
164 164
165 165 ## Serve static files via RhodeCode, disable to serve them via HTTP server
166 166 static_files = true
167 167
168 168 ## Optional Languages
169 169 ## en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
170 170 lang = en
171 171
172 172 ## perform a full repository scan on each server start, this should be
173 173 ## set to false after first startup, to allow faster server restarts.
174 174 startup.import_repos = true
175 175
176 176 ## Uncomment and set this path to use archive download cache.
177 177 ## Once enabled, generated archives will be cached at this location
178 178 ## and served from the cache during subsequent requests for the same archive of
179 179 ## the repository.
180 180 #archive_cache_dir = /tmp/tarballcache
181 181
182 182 ## change this to unique ID for security
183 183 app_instance_uuid = rc-production
184 184
185 185 ## cut off limit for large diffs (size in bytes)
186 186 cut_off_limit_diff = 1024000
187 187 cut_off_limit_file = 256000
188 188
189 189 ## use cache version of scm repo everywhere
190 190 vcs_full_cache = false
191 191
192 192 ## force https in RhodeCode, fixes https redirects, assumes it's always https
193 193 ## Normally this is controlled by proper http flags sent from http server
194 194 force_https = false
195 195
196 196 ## use Strict-Transport-Security headers
197 197 use_htsts = false
198 198
199 199 ## number of commits stats will parse on each iteration
200 200 commit_parse_limit = 25
201 201
202 202 ## git rev filter option, --all is the default filter, if you need to
203 203 ## hide all refs in changelog switch this to --branches --tags
204 204 git_rev_filter = --all
205 205
206 206 # Set to true if your repos are exposed using the dumb protocol
207 207 git_update_server_info = false
208 208
209 209 ## RSS/ATOM feed options
210 210 rss_cut_off_limit = 256000
211 211 rss_items_per_page = 10
212 212 rss_include_diff = false
213 213
214 214 ## gist URL alias, used to create nicer urls for gist. This should be an
215 215 ## url that does rewrites to _admin/gists/<gistid>.
216 216 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
217 217 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
218 218 gist_alias_url =
219 219
220 220 ## List of controllers (using glob pattern syntax) that AUTH TOKENS could be
221 221 ## used for access.
222 222 ## Adding ?auth_token = <token> to the url authenticates this request as if it
223 223 ## came from the the logged in user who own this authentication token.
224 224 ##
225 225 ## Syntax is <ControllerClass>:<function_pattern>.
226 226 ## To enable access to raw_files put `FilesController:raw`.
227 227 ## To enable access to patches add `ChangesetController:changeset_patch`.
228 228 ## The list should be "," separated and on a single line.
229 229 ##
230 230 ## Recommended controllers to enable:
231 231 # ChangesetController:changeset_patch,
232 232 # ChangesetController:changeset_raw,
233 233 # FilesController:raw,
234 234 # FilesController:archivefile,
235 235 # GistsController:*,
236 236 api_access_controllers_whitelist =
237 237
238 238 ## default encoding used to convert from and to unicode
239 239 ## can be also a comma separated list of encoding in case of mixed encodings
240 240 default_encoding = UTF-8
241 241
242 242 ## instance-id prefix
243 243 ## a prefix key for this instance used for cache invalidation when running
244 244 ## multiple instances of rhodecode, make sure it's globally unique for
245 245 ## all running rhodecode instances. Leave empty if you don't use it
246 246 instance_id =
247 247
248 248 ## alternative return HTTP header for failed authentication. Default HTTP
249 249 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
250 250 ## handling that causing a series of failed authentication calls.
251 251 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
252 252 ## This will be served instead of default 401 on bad authnetication
253 253 auth_ret_code =
254 254
255 255 ## use special detection method when serving auth_ret_code, instead of serving
256 256 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
257 257 ## and then serve auth_ret_code to clients
258 258 auth_ret_code_detection = false
259 259
260 260 ## locking return code. When repository is locked return this HTTP code. 2XX
261 261 ## codes don't break the transactions while 4XX codes do
262 262 lock_ret_code = 423
263 263
264 264 ## allows to change the repository location in settings page
265 265 allow_repo_location_change = true
266 266
267 267 ## allows to setup custom hooks in settings page
268 268 allow_custom_hooks_settings = true
269 269
270 270 ## generated license token, goto license page in RhodeCode settings to obtain
271 271 ## new token
272 272 license_token = abra-cada-bra1-rce3
273 273
274 274 ## supervisor connection uri, for managing supervisor and logs.
275 275 supervisor.uri =
276 276 ## supervisord group name/id we only want this RC instance to handle
277 277 supervisor.group_id = dev
278 278
279 279 ## Display extended labs settings
280 280 labs_settings_active = true
281 281
282 282 ####################################
283 283 ### CELERY CONFIG ####
284 284 ####################################
285 285 use_celery = false
286 286 broker.host = localhost
287 287 broker.vhost = rabbitmqhost
288 288 broker.port = 5672
289 289 broker.user = rabbitmq
290 290 broker.password = qweqwe
291 291
292 292 celery.imports = rhodecode.lib.celerylib.tasks
293 293
294 294 celery.result.backend = amqp
295 295 celery.result.dburi = amqp://
296 296 celery.result.serialier = json
297 297
298 298 #celery.send.task.error.emails = true
299 299 #celery.amqp.task.result.expires = 18000
300 300
301 301 celeryd.concurrency = 2
302 302 #celeryd.log.file = celeryd.log
303 303 celeryd.log.level = debug
304 304 celeryd.max.tasks.per.child = 1
305 305
306 306 ## tasks will never be sent to the queue, but executed locally instead.
307 307 celery.always.eager = false
308 308
309 309 ####################################
310 310 ### BEAKER CACHE ####
311 311 ####################################
312 312 # default cache dir for templates. Putting this into a ramdisk
313 313 ## can boost performance, eg. %(here)s/data_ramdisk
314 314 cache_dir = %(here)s/data
315 315
316 316 ## locking and default file storage for Beaker. Putting this into a ramdisk
317 317 ## can boost performance, eg. %(here)s/data_ramdisk/cache/beaker_data
318 318 beaker.cache.data_dir = %(here)s/rc/data/cache/beaker_data
319 319 beaker.cache.lock_dir = %(here)s/rc/data/cache/beaker_lock
320 320
321 321 beaker.cache.regions = super_short_term, short_term, long_term, sql_cache_short, auth_plugins, repo_cache_long
322 322
323 323 beaker.cache.super_short_term.type = memory
324 324 beaker.cache.super_short_term.expire = 1
325 325 beaker.cache.super_short_term.key_length = 256
326 326
327 327 beaker.cache.short_term.type = memory
328 328 beaker.cache.short_term.expire = 60
329 329 beaker.cache.short_term.key_length = 256
330 330
331 331 beaker.cache.long_term.type = memory
332 332 beaker.cache.long_term.expire = 36000
333 333 beaker.cache.long_term.key_length = 256
334 334
335 335 beaker.cache.sql_cache_short.type = memory
336 336 beaker.cache.sql_cache_short.expire = 1
337 337 beaker.cache.sql_cache_short.key_length = 256
338 338
339 339 # default is memory cache, configure only if required
340 340 # using multi-node or multi-worker setup
341 341 #beaker.cache.auth_plugins.type = ext:database
342 342 #beaker.cache.auth_plugins.lock_dir = %(here)s/data/cache/auth_plugin_lock
343 343 #beaker.cache.auth_plugins.url = postgresql://postgres:secret@localhost/rhodecode
344 344 #beaker.cache.auth_plugins.url = mysql://root:secret@127.0.0.1/rhodecode
345 345 #beaker.cache.auth_plugins.sa.pool_recycle = 3600
346 346 #beaker.cache.auth_plugins.sa.pool_size = 10
347 347 #beaker.cache.auth_plugins.sa.max_overflow = 0
348 348
349 349 beaker.cache.repo_cache_long.type = memorylru_base
350 350 beaker.cache.repo_cache_long.max_items = 4096
351 351 beaker.cache.repo_cache_long.expire = 2592000
352 352
353 353 # default is memorylru_base cache, configure only if required
354 354 # using multi-node or multi-worker setup
355 355 #beaker.cache.repo_cache_long.type = ext:memcached
356 356 #beaker.cache.repo_cache_long.url = localhost:11211
357 357 #beaker.cache.repo_cache_long.expire = 1209600
358 358 #beaker.cache.repo_cache_long.key_length = 256
359 359
360 360 ####################################
361 361 ### BEAKER SESSION ####
362 362 ####################################
363 363
364 364 ## .session.type is type of storage options for the session, current allowed
365 365 ## types are file(default), ext:memcached, ext:database, and memory.
366 366 #beaker.session.type = file
367 367
368 368 ## db based session, fast, and allows easy management over logged in users ##
369 369 #beaker.session.type = ext:database
370 370 #beaker.session.lock_dir = %(here)s/data/cache/session_db_lock
371 371 #beaker.session.table_name = db_session
372 372 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
373 373 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
374 374 #beaker.session.sa.pool_recycle = 3600
375 375 #beaker.session.sa.echo = false
376 376
377 377 beaker.session.key = rhodecode
378 378 beaker.session.secret = test-rc-uytcxaz
379 379
380 380 ## Secure encrypted cookie. Requires AES and AES python libraries
381 381 ## you must disable beaker.session.secret to use this
382 382 #beaker.session.encrypt_key = <key_for_encryption>
383 383 #beaker.session.validate_key = <validation_key>
384 384
385 385 ## sets session as invalid(also logging out user) if it haven not been
386 386 ## accessed for given amount of time in seconds
387 387 beaker.session.timeout = 2592000
388 388 beaker.session.httponly = true
389 389 #beaker.session.cookie_path = /<your-prefix>
390 390
391 391 ## uncomment for https secure cookie
392 392 beaker.session.secure = false
393 393
394 394 ## auto save the session to not to use .save()
395 395 beaker.session.auto = false
396 396
397 397 ## default cookie expiration time in seconds, set to `true` to set expire
398 398 ## at browser close
399 399 #beaker.session.cookie_expires = 3600
400 400
401 401 ###################################
402 402 ## SEARCH INDEXING CONFIGURATION ##
403 403 ###################################
404 404
405 405 search.module = rhodecode.lib.index.whoosh
406 406 search.location = %(here)s/data/index
407 407
408 408 ###################################
409 409 ## ERROR AND LOG HANDLING SYSTEM ##
410 410 ###################################
411 411
412 412 ## Appenlight is tailored to work with RhodeCode, see
413 413 ## http://appenlight.com for details how to obtain an account
414 414
415 415 ## appenlight integration enabled
416 416 appenlight = false
417 417
418 418 appenlight.server_url = https://api.appenlight.com
419 419 appenlight.api_key = YOUR_API_KEY
420 420 ;appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
421 421
422 422 # used for JS client
423 423 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
424 424
425 425 ## TWEAK AMOUNT OF INFO SENT HERE
426 426
427 427 ## enables 404 error logging (default False)
428 428 appenlight.report_404 = false
429 429
430 430 ## time in seconds after request is considered being slow (default 1)
431 431 appenlight.slow_request_time = 1
432 432
433 433 ## record slow requests in application
434 434 ## (needs to be enabled for slow datastore recording and time tracking)
435 435 appenlight.slow_requests = true
436 436
437 437 ## enable hooking to application loggers
438 438 appenlight.logging = true
439 439
440 440 ## minimum log level for log capture
441 441 appenlight.logging.level = WARNING
442 442
443 443 ## send logs only from erroneous/slow requests
444 444 ## (saves API quota for intensive logging)
445 445 appenlight.logging_on_error = false
446 446
447 447 ## list of additonal keywords that should be grabbed from environ object
448 448 ## can be string with comma separated list of words in lowercase
449 449 ## (by default client will always send following info:
450 450 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
451 451 ## start with HTTP* this list be extended with additional keywords here
452 452 appenlight.environ_keys_whitelist =
453 453
454 454 ## list of keywords that should be blanked from request object
455 455 ## can be string with comma separated list of words in lowercase
456 456 ## (by default client will always blank keys that contain following words
457 457 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
458 458 ## this list be extended with additional keywords set here
459 459 appenlight.request_keys_blacklist =
460 460
461 461 ## list of namespaces that should be ignores when gathering log entries
462 462 ## can be string with comma separated list of namespaces
463 463 ## (by default the client ignores own entries: appenlight_client.client)
464 464 appenlight.log_namespace_blacklist =
465 465
466 466
467 467 ################################################################################
468 468 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
469 469 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
470 470 ## execute malicious code after an exception is raised. ##
471 471 ################################################################################
472 472 set debug = false
473 473
474 474
475 475 ##############
476 476 ## STYLING ##
477 477 ##############
478 478 debug_style = false
479 479
480 480 #########################################################
481 481 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
482 482 #########################################################
483 483 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode_test.db
484 484 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode_test
485 485 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode_test
486 486
487 487 # see sqlalchemy docs for other advanced settings
488 488
489 489 ## print the sql statements to output
490 490 sqlalchemy.db1.echo = false
491 491 ## recycle the connections after this ammount of seconds
492 492 sqlalchemy.db1.pool_recycle = 3600
493 493 sqlalchemy.db1.convert_unicode = true
494 494
495 495 ## the number of connections to keep open inside the connection pool.
496 496 ## 0 indicates no limit
497 497 #sqlalchemy.db1.pool_size = 5
498 498
499 499 ## the number of connections to allow in connection pool "overflow", that is
500 500 ## connections that can be opened above and beyond the pool_size setting,
501 501 ## which defaults to five.
502 502 #sqlalchemy.db1.max_overflow = 10
503 503
504 504
505 505 ##################
506 506 ### VCS CONFIG ###
507 507 ##################
508 508 vcs.server.enable = true
509 509 vcs.server = localhost:9901
510 510 # Available protocols: pyro4, http
511 511 vcs.server.protocol = pyro4
512 512 vcs.server.log_level = info
513 513 vcs.start_server = false
514 514 vcs.backends = hg, git, svn
515 515 vcs.connection_timeout = 3600
516 516
517 517 ################################
518 518 ### LOGGING CONFIGURATION ####
519 519 ################################
520 520 [loggers]
521 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates, whoosh_indexer
521 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates
522 522
523 523 [handlers]
524 524 keys = console, console_sql
525 525
526 526 [formatters]
527 527 keys = generic, color_formatter, color_formatter_sql
528 528
529 529 #############
530 530 ## LOGGERS ##
531 531 #############
532 532 [logger_root]
533 533 level = DEBUG
534 534 handlers = console
535 535
536 536 [logger_routes]
537 537 level = DEBUG
538 538 handlers =
539 539 qualname = routes.middleware
540 540 ## "level = DEBUG" logs the route matched and routing variables.
541 541 propagate = 1
542 542
543 543 [logger_beaker]
544 544 level = DEBUG
545 545 handlers =
546 546 qualname = beaker.container
547 547 propagate = 1
548 548
549 549 [logger_pyro4]
550 550 level = DEBUG
551 551 handlers =
552 552 qualname = Pyro4
553 553 propagate = 1
554 554
555 555 [logger_templates]
556 556 level = INFO
557 557 handlers =
558 558 qualname = pylons.templating
559 559 propagate = 1
560 560
561 561 [logger_rhodecode]
562 562 level = DEBUG
563 563 handlers =
564 564 qualname = rhodecode
565 565 propagate = 1
566 566
567 567 [logger_sqlalchemy]
568 568 level = ERROR
569 569 handlers = console_sql
570 570 qualname = sqlalchemy.engine
571 571 propagate = 0
572 572
573 [logger_whoosh_indexer]
574 level = DEBUG
575 handlers =
576 qualname = whoosh_indexer
577 propagate = 1
578
579 573 ##############
580 574 ## HANDLERS ##
581 575 ##############
582 576
583 577 [handler_console]
584 578 class = StreamHandler
585 579 args = (sys.stderr,)
586 580 level = INFO
587 581 formatter = generic
588 582
589 583 [handler_console_sql]
590 584 class = StreamHandler
591 585 args = (sys.stderr,)
592 586 level = WARN
593 587 formatter = generic
594 588
595 589 ################
596 590 ## FORMATTERS ##
597 591 ################
598 592
599 593 [formatter_generic]
600 594 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
601 595 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
602 596 datefmt = %Y-%m-%d %H:%M:%S
603 597
604 598 [formatter_color_formatter]
605 599 class = rhodecode.lib.logging_formatter.ColorFormatter
606 600 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
607 601 datefmt = %Y-%m-%d %H:%M:%S
608 602
609 603 [formatter_color_formatter_sql]
610 604 class = rhodecode.lib.logging_formatter.ColorFormatterSql
611 605 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
612 606 datefmt = %Y-%m-%d %H:%M:%S
General Comments 0
You need to be logged in to leave comments. Login now