##// END OF EJS Templates
configs: updated docstrings, and made some better defaults.
marcink -
r630:4142c537 default
parent child Browse files
Show More
@@ -1,652 +1,654 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 ## recommended when using proxy setup.
81 81 ## allows to set RhodeCode under a prefix in server.
82 82 ## eg https://server.com/<prefix>. Enable `filter-with =` option below as well.
83 83 ## optionally set prefix like: `prefix = /<your-prefix>`
84 84 [filter:proxy-prefix]
85 85 use = egg:PasteDeploy#prefix
86 86 prefix = /
87 87
88 88 [app:main]
89 89 use = egg:rhodecode-enterprise-ce
90 90
91 91 ## enable proxy prefix middleware, defined above
92 92 #filter-with = proxy-prefix
93 93
94 94 # During development the we want to have the debug toolbar enabled
95 95 pyramid.includes =
96 96 pyramid_debugtoolbar
97 97 rhodecode.utils.debugtoolbar
98 98 rhodecode.lib.middleware.request_wrapper
99 99
100 100 pyramid.reload_templates = true
101 101
102 102 debugtoolbar.hosts = 0.0.0.0/0
103 103 debugtoolbar.exclude_prefixes =
104 104 /css
105 105 /fonts
106 106 /images
107 107 /js
108 108
109 109 ## RHODECODE PLUGINS ##
110 110 rhodecode.includes =
111 111 rhodecode.api
112 112
113 113
114 114 # api prefix url
115 115 rhodecode.api.url = /_admin/api
116 116
117 117
118 118 ## END RHODECODE PLUGINS ##
119 119
120 120 ## encryption key used to encrypt social plugin tokens,
121 121 ## remote_urls with credentials etc, if not set it defaults to
122 122 ## `beaker.session.secret`
123 123 #rhodecode.encrypted_values.secret =
124 124
125 125 ## decryption strict mode (enabled by default). It controls if decryption raises
126 126 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
127 127 #rhodecode.encrypted_values.strict = false
128 128
129 129 ## return gzipped responses from Rhodecode (static files/application)
130 130 gzip_responses = false
131 131
132 132 ## autogenerate javascript routes file on startup
133 133 generate_js_files = false
134 134
135 135 ## Optional Languages
136 136 ## en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
137 137 lang = en
138 138
139 139 ## perform a full repository scan on each server start, this should be
140 140 ## set to false after first startup, to allow faster server restarts.
141 141 startup.import_repos = false
142 142
143 143 ## Uncomment and set this path to use archive download cache.
144 144 ## Once enabled, generated archives will be cached at this location
145 145 ## and served from the cache during subsequent requests for the same archive of
146 146 ## the repository.
147 147 #archive_cache_dir = /tmp/tarballcache
148 148
149 149 ## change this to unique ID for security
150 150 app_instance_uuid = rc-production
151 151
152 152 ## cut off limit for large diffs (size in bytes)
153 153 cut_off_limit_diff = 1024000
154 154 cut_off_limit_file = 256000
155 155
156 156 ## use cache version of scm repo everywhere
157 157 vcs_full_cache = true
158 158
159 159 ## force https in RhodeCode, fixes https redirects, assumes it's always https
160 160 ## Normally this is controlled by proper http flags sent from http server
161 161 force_https = false
162 162
163 163 ## use Strict-Transport-Security headers
164 164 use_htsts = false
165 165
166 166 ## number of commits stats will parse on each iteration
167 167 commit_parse_limit = 25
168 168
169 169 ## git rev filter option, --all is the default filter, if you need to
170 170 ## hide all refs in changelog switch this to --branches --tags
171 171 git_rev_filter = --branches --tags
172 172
173 173 # Set to true if your repos are exposed using the dumb protocol
174 174 git_update_server_info = false
175 175
176 176 ## RSS/ATOM feed options
177 177 rss_cut_off_limit = 256000
178 178 rss_items_per_page = 10
179 179 rss_include_diff = false
180 180
181 181 ## gist URL alias, used to create nicer urls for gist. This should be an
182 182 ## url that does rewrites to _admin/gists/<gistid>.
183 183 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
184 184 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
185 185 gist_alias_url =
186 186
187 187 ## List of controllers (using glob pattern syntax) that AUTH TOKENS could be
188 188 ## used for access.
189 189 ## Adding ?auth_token = <token> to the url authenticates this request as if it
190 190 ## came from the the logged in user who own this authentication token.
191 191 ##
192 192 ## Syntax is <ControllerClass>:<function_pattern>.
193 193 ## To enable access to raw_files put `FilesController:raw`.
194 194 ## To enable access to patches add `ChangesetController:changeset_patch`.
195 195 ## The list should be "," separated and on a single line.
196 196 ##
197 197 ## Recommended controllers to enable:
198 198 # ChangesetController:changeset_patch,
199 199 # ChangesetController:changeset_raw,
200 200 # FilesController:raw,
201 201 # FilesController:archivefile,
202 202 # GistsController:*,
203 203 api_access_controllers_whitelist =
204 204
205 205 ## default encoding used to convert from and to unicode
206 206 ## can be also a comma separated list of encoding in case of mixed encodings
207 207 default_encoding = UTF-8
208 208
209 209 ## instance-id prefix
210 210 ## a prefix key for this instance used for cache invalidation when running
211 211 ## multiple instances of rhodecode, make sure it's globally unique for
212 212 ## all running rhodecode instances. Leave empty if you don't use it
213 213 instance_id =
214 214
215 215 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
216 216 ## of an authentication plugin also if it is disabled by it's settings.
217 217 ## This could be useful if you are unable to log in to the system due to broken
218 218 ## authentication settings. Then you can enable e.g. the internal rhodecode auth
219 219 ## module to log in again and fix the settings.
220 220 ##
221 221 ## Available builtin plugin IDs (hash is part of the ID):
222 222 ## egg:rhodecode-enterprise-ce#rhodecode
223 223 ## egg:rhodecode-enterprise-ce#pam
224 224 ## egg:rhodecode-enterprise-ce#ldap
225 225 ## egg:rhodecode-enterprise-ce#jasig_cas
226 226 ## egg:rhodecode-enterprise-ce#headers
227 227 ## egg:rhodecode-enterprise-ce#crowd
228 228 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
229 229
230 230 ## alternative return HTTP header for failed authentication. Default HTTP
231 231 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
232 232 ## handling that causing a series of failed authentication calls.
233 233 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
234 234 ## This will be served instead of default 401 on bad authnetication
235 235 auth_ret_code =
236 236
237 237 ## use special detection method when serving auth_ret_code, instead of serving
238 238 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
239 239 ## and then serve auth_ret_code to clients
240 240 auth_ret_code_detection = false
241 241
242 242 ## locking return code. When repository is locked return this HTTP code. 2XX
243 243 ## codes don't break the transactions while 4XX codes do
244 244 lock_ret_code = 423
245 245
246 246 ## allows to change the repository location in settings page
247 247 allow_repo_location_change = true
248 248
249 249 ## allows to setup custom hooks in settings page
250 250 allow_custom_hooks_settings = true
251 251
252 252 ## generated license token, goto license page in RhodeCode settings to obtain
253 253 ## new token
254 254 license_token =
255 255
256 256 ## supervisor connection uri, for managing supervisor and logs.
257 257 supervisor.uri =
258 258 ## supervisord group name/id we only want this RC instance to handle
259 259 supervisor.group_id = dev
260 260
261 261 ## Display extended labs settings
262 262 labs_settings_active = true
263 263
264 264 ####################################
265 265 ### CELERY CONFIG ####
266 266 ####################################
267 267 use_celery = false
268 268 broker.host = localhost
269 269 broker.vhost = rabbitmqhost
270 270 broker.port = 5672
271 271 broker.user = rabbitmq
272 272 broker.password = qweqwe
273 273
274 274 celery.imports = rhodecode.lib.celerylib.tasks
275 275
276 276 celery.result.backend = amqp
277 277 celery.result.dburi = amqp://
278 278 celery.result.serialier = json
279 279
280 280 #celery.send.task.error.emails = true
281 281 #celery.amqp.task.result.expires = 18000
282 282
283 283 celeryd.concurrency = 2
284 284 #celeryd.log.file = celeryd.log
285 285 celeryd.log.level = debug
286 286 celeryd.max.tasks.per.child = 1
287 287
288 288 ## tasks will never be sent to the queue, but executed locally instead.
289 289 celery.always.eager = false
290 290
291 291 ####################################
292 292 ### BEAKER CACHE ####
293 293 ####################################
294 294 # default cache dir for templates. Putting this into a ramdisk
295 295 ## can boost performance, eg. %(here)s/data_ramdisk
296 296 cache_dir = %(here)s/data
297 297
298 298 ## locking and default file storage for Beaker. Putting this into a ramdisk
299 299 ## can boost performance, eg. %(here)s/data_ramdisk/cache/beaker_data
300 300 beaker.cache.data_dir = %(here)s/data/cache/beaker_data
301 301 beaker.cache.lock_dir = %(here)s/data/cache/beaker_lock
302 302
303 303 beaker.cache.regions = super_short_term, short_term, long_term, sql_cache_short, auth_plugins, repo_cache_long
304 304
305 305 beaker.cache.super_short_term.type = memory
306 306 beaker.cache.super_short_term.expire = 10
307 307 beaker.cache.super_short_term.key_length = 256
308 308
309 309 beaker.cache.short_term.type = memory
310 310 beaker.cache.short_term.expire = 60
311 311 beaker.cache.short_term.key_length = 256
312 312
313 313 beaker.cache.long_term.type = memory
314 314 beaker.cache.long_term.expire = 36000
315 315 beaker.cache.long_term.key_length = 256
316 316
317 317 beaker.cache.sql_cache_short.type = memory
318 318 beaker.cache.sql_cache_short.expire = 10
319 319 beaker.cache.sql_cache_short.key_length = 256
320 320
321 321 ## default is memory cache, configure only if required
322 322 ## using multi-node or multi-worker setup
323 323 #beaker.cache.auth_plugins.type = ext:database
324 324 #beaker.cache.auth_plugins.lock_dir = %(here)s/data/cache/auth_plugin_lock
325 325 #beaker.cache.auth_plugins.url = postgresql://postgres:secret@localhost/rhodecode
326 326 #beaker.cache.auth_plugins.url = mysql://root:secret@127.0.0.1/rhodecode
327 327 #beaker.cache.auth_plugins.sa.pool_recycle = 3600
328 328 #beaker.cache.auth_plugins.sa.pool_size = 10
329 329 #beaker.cache.auth_plugins.sa.max_overflow = 0
330 330
331 331 beaker.cache.repo_cache_long.type = memorylru_base
332 332 beaker.cache.repo_cache_long.max_items = 4096
333 333 beaker.cache.repo_cache_long.expire = 2592000
334 334
335 335 ## default is memorylru_base cache, configure only if required
336 336 ## using multi-node or multi-worker setup
337 337 #beaker.cache.repo_cache_long.type = ext:memcached
338 338 #beaker.cache.repo_cache_long.url = localhost:11211
339 339 #beaker.cache.repo_cache_long.expire = 1209600
340 340 #beaker.cache.repo_cache_long.key_length = 256
341 341
342 342 ####################################
343 343 ### BEAKER SESSION ####
344 344 ####################################
345 345
346 346 ## .session.type is type of storage options for the session, current allowed
347 347 ## types are file, ext:memcached, ext:database, and memory (default).
348 348 beaker.session.type = file
349 349 beaker.session.data_dir = %(here)s/data/sessions/data
350 350
351 ## db based session, fast, and allows easy management over logged in users ##
351 ## db based session, fast, and allows easy management over logged in users
352 352 #beaker.session.type = ext:database
353 353 #beaker.session.table_name = db_session
354 354 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
355 355 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
356 356 #beaker.session.sa.pool_recycle = 3600
357 357 #beaker.session.sa.echo = false
358 358
359 359 beaker.session.key = rhodecode
360 360 beaker.session.secret = develop-rc-uytcxaz
361 361 beaker.session.lock_dir = %(here)s/data/sessions/lock
362 362
363 363 ## Secure encrypted cookie. Requires AES and AES python libraries
364 364 ## you must disable beaker.session.secret to use this
365 365 #beaker.session.encrypt_key = <key_for_encryption>
366 366 #beaker.session.validate_key = <validation_key>
367 367
368 368 ## sets session as invalid(also logging out user) if it haven not been
369 369 ## accessed for given amount of time in seconds
370 370 beaker.session.timeout = 2592000
371 371 beaker.session.httponly = true
372 ## Path to use for the cookie.
372 373 #beaker.session.cookie_path = /<your-prefix>
373 374
374 375 ## uncomment for https secure cookie
375 376 beaker.session.secure = false
376 377
377 378 ## auto save the session to not to use .save()
378 379 beaker.session.auto = false
379 380
380 381 ## default cookie expiration time in seconds, set to `true` to set expire
381 382 ## at browser close
382 383 #beaker.session.cookie_expires = 3600
383 384
384 385 ###################################
385 386 ## SEARCH INDEXING CONFIGURATION ##
386 387 ###################################
387 388 ## Full text search indexer is available in rhodecode-tools under
388 389 ## `rhodecode-tools index` command
389 390
390 391 # WHOOSH Backend, doesn't require additional services to run
391 392 # it works good with few dozen repos
392 393 search.module = rhodecode.lib.index.whoosh
393 394 search.location = %(here)s/data/index
394 395
395 396 ########################################
396 397 ### CHANNELSTREAM CONFIG ####
397 398 ########################################
398 399 ## channelstream enables persistent connections and live notification
399 400 ## in the system. It's also used by the chat system
400 401
401 402 channelstream.enabled = true
402 403 # location of channelstream server on the backend
403 404 channelstream.server = 127.0.0.1:9800
404 405 # location of the channelstream server from outside world
405 406 channelstream.ws_url = ws://127.0.0.1:9800
406 407 channelstream.secret = secret
407 408 channelstream.history.location = %(here)s/channelstream_history
408 409
409 410
410 411 ###################################
411 412 ## APPENLIGHT CONFIG ##
412 413 ###################################
413 414
414 415 ## Appenlight is tailored to work with RhodeCode, see
415 416 ## http://appenlight.com for details how to obtain an account
416 417
417 418 ## appenlight integration enabled
418 419 appenlight = false
419 420
420 421 appenlight.server_url = https://api.appenlight.com
421 422 appenlight.api_key = YOUR_API_KEY
422 423 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
423 424
424 425 # used for JS client
425 426 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
426 427
427 428 ## TWEAK AMOUNT OF INFO SENT HERE
428 429
429 430 ## enables 404 error logging (default False)
430 431 appenlight.report_404 = false
431 432
432 433 ## time in seconds after request is considered being slow (default 1)
433 434 appenlight.slow_request_time = 1
434 435
435 436 ## record slow requests in application
436 437 ## (needs to be enabled for slow datastore recording and time tracking)
437 438 appenlight.slow_requests = true
438 439
439 440 ## enable hooking to application loggers
440 441 appenlight.logging = true
441 442
442 443 ## minimum log level for log capture
443 444 appenlight.logging.level = WARNING
444 445
445 446 ## send logs only from erroneous/slow requests
446 447 ## (saves API quota for intensive logging)
447 448 appenlight.logging_on_error = false
448 449
449 450 ## list of additonal keywords that should be grabbed from environ object
450 451 ## can be string with comma separated list of words in lowercase
451 452 ## (by default client will always send following info:
452 453 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
453 454 ## start with HTTP* this list be extended with additional keywords here
454 455 appenlight.environ_keys_whitelist =
455 456
456 457 ## list of keywords that should be blanked from request object
457 458 ## can be string with comma separated list of words in lowercase
458 459 ## (by default client will always blank keys that contain following words
459 460 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
460 461 ## this list be extended with additional keywords set here
461 462 appenlight.request_keys_blacklist =
462 463
463 464 ## list of namespaces that should be ignores when gathering log entries
464 465 ## can be string with comma separated list of namespaces
465 466 ## (by default the client ignores own entries: appenlight_client.client)
466 467 appenlight.log_namespace_blacklist =
467 468
468 469
469 470 ################################################################################
470 471 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
471 472 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
472 473 ## execute malicious code after an exception is raised. ##
473 474 ################################################################################
474 475 #set debug = false
475 476
476 477
477 478 ##############
478 479 ## STYLING ##
479 480 ##############
480 481 debug_style = true
481 482
482 483 #########################################################
483 484 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
484 485 #########################################################
485 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
486 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
486 487 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
487 488 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode
489 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
488 490
489 491 # see sqlalchemy docs for other advanced settings
490 492
491 493 ## print the sql statements to output
492 494 sqlalchemy.db1.echo = false
493 495 ## recycle the connections after this ammount of seconds
494 496 sqlalchemy.db1.pool_recycle = 3600
495 497 sqlalchemy.db1.convert_unicode = true
496 498
497 499 ## the number of connections to keep open inside the connection pool.
498 500 ## 0 indicates no limit
499 501 #sqlalchemy.db1.pool_size = 5
500 502
501 503 ## the number of connections to allow in connection pool "overflow", that is
502 504 ## connections that can be opened above and beyond the pool_size setting,
503 505 ## which defaults to five.
504 506 #sqlalchemy.db1.max_overflow = 10
505 507
506 508
507 509 ##################
508 510 ### VCS CONFIG ###
509 511 ##################
510 512 vcs.server.enable = true
511 513 vcs.server = localhost:9900
512 514
513 515 ## Web server connectivity protocol, responsible for web based VCS operatations
514 516 ## Available protocols are:
515 517 ## `pyro4` - using pyro4 server
516 518 ## `http` - using http-rpc backend
517 519 vcs.server.protocol = http
518 520
519 521 ## Push/Pull operations protocol, available options are:
520 522 ## `pyro4` - using pyro4 server
521 523 ## `rhodecode.lib.middleware.utils.scm_app_http` - Http based, recommended
522 524 ## `vcsserver.scm_app` - internal app (EE only)
523 525 vcs.scm_app_implementation = rhodecode.lib.middleware.utils.scm_app_http
524 526
525 527 ## Push/Pull operations hooks protocol, available options are:
526 528 ## `pyro4` - using pyro4 server
527 529 ## `http` - using http-rpc backend
528 530 vcs.hooks.protocol = http
529 531
530 532 vcs.server.log_level = debug
531 533 ## Start VCSServer with this instance as a subprocess, usefull for development
532 534 vcs.start_server = true
533 535
534 536 ## List of enabled VCS backends, available options are:
535 537 ## `hg` - mercurial
536 538 ## `git` - git
537 539 ## `svn` - subversion
538 540 vcs.backends = hg, git, svn
539 541
540 542 vcs.connection_timeout = 3600
541 543 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
542 544 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible
543 545 #vcs.svn.compatible_version = pre-1.8-compatible
544 546
545 547
546 548 ##############################################
547 549 ### Subversion proxy support (mod_dav_svn) ###
548 550 ##############################################
549 551 ## Enable or disable the config file generation.
550 552 svn.proxy.generate_config = false
551 553 ## Generate config file with `SVNListParentPath` set to `On`.
552 554 svn.proxy.list_parent_path = true
553 555 ## Set location and file name of generated config file.
554 556 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
555 557 ## File system path to the directory containing the repositories served by
556 558 ## RhodeCode.
557 559 svn.proxy.parent_path_root = /path/to/repo_store
558 560 ## Used as a prefix to the <Location> block in the generated config file. In
559 561 ## most cases it should be set to `/`.
560 562 svn.proxy.location_root = /
561 563
562 564
563 565 ################################
564 566 ### LOGGING CONFIGURATION ####
565 567 ################################
566 568 [loggers]
567 569 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates
568 570
569 571 [handlers]
570 572 keys = console, console_sql
571 573
572 574 [formatters]
573 575 keys = generic, color_formatter, color_formatter_sql
574 576
575 577 #############
576 578 ## LOGGERS ##
577 579 #############
578 580 [logger_root]
579 581 level = NOTSET
580 582 handlers = console
581 583
582 584 [logger_routes]
583 585 level = DEBUG
584 586 handlers =
585 587 qualname = routes.middleware
586 588 ## "level = DEBUG" logs the route matched and routing variables.
587 589 propagate = 1
588 590
589 591 [logger_beaker]
590 592 level = DEBUG
591 593 handlers =
592 594 qualname = beaker.container
593 595 propagate = 1
594 596
595 597 [logger_pyro4]
596 598 level = DEBUG
597 599 handlers =
598 600 qualname = Pyro4
599 601 propagate = 1
600 602
601 603 [logger_templates]
602 604 level = INFO
603 605 handlers =
604 606 qualname = pylons.templating
605 607 propagate = 1
606 608
607 609 [logger_rhodecode]
608 610 level = DEBUG
609 611 handlers =
610 612 qualname = rhodecode
611 613 propagate = 1
612 614
613 615 [logger_sqlalchemy]
614 616 level = INFO
615 617 handlers = console_sql
616 618 qualname = sqlalchemy.engine
617 619 propagate = 0
618 620
619 621 ##############
620 622 ## HANDLERS ##
621 623 ##############
622 624
623 625 [handler_console]
624 626 class = StreamHandler
625 627 args = (sys.stderr,)
626 628 level = DEBUG
627 629 formatter = color_formatter
628 630
629 631 [handler_console_sql]
630 632 class = StreamHandler
631 633 args = (sys.stderr,)
632 634 level = DEBUG
633 635 formatter = color_formatter_sql
634 636
635 637 ################
636 638 ## FORMATTERS ##
637 639 ################
638 640
639 641 [formatter_generic]
640 642 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
641 643 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
642 644 datefmt = %Y-%m-%d %H:%M:%S
643 645
644 646 [formatter_color_formatter]
645 647 class = rhodecode.lib.logging_formatter.ColorFormatter
646 648 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
647 649 datefmt = %Y-%m-%d %H:%M:%S
648 650
649 651 [formatter_color_formatter_sql]
650 652 class = rhodecode.lib.logging_formatter.ColorFormatterSql
651 653 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
652 654 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,620 +1,623 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 ## recommended when using proxy setup.
81 81 ## allows to set RhodeCode under a prefix in server.
82 82 ## eg https://server.com/<prefix>. Enable `filter-with =` option below as well.
83 83 ## optionally set prefix like: `prefix = /<your-prefix>`
84 84 [filter:proxy-prefix]
85 85 use = egg:PasteDeploy#prefix
86 86 prefix = /
87 87
88 88 [app:main]
89 89 use = egg:rhodecode-enterprise-ce
90 ## enable proxy prefix middleware, defined below
90
91 ## enable proxy prefix middleware, defined above
91 92 #filter-with = proxy-prefix
92 93
93 94 ## encryption key used to encrypt social plugin tokens,
94 95 ## remote_urls with credentials etc, if not set it defaults to
95 96 ## `beaker.session.secret`
96 97 #rhodecode.encrypted_values.secret =
97 98
98 99 ## decryption strict mode (enabled by default). It controls if decryption raises
99 100 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
100 101 #rhodecode.encrypted_values.strict = false
101 102
102 103 ## return gzipped responses from Rhodecode (static files/application)
103 104 gzip_responses = false
104 105
105 106 ## autogenerate javascript routes file on startup
106 107 generate_js_files = false
107 108
108 109 ## Optional Languages
109 110 ## en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
110 111 lang = en
111 112
112 113 ## perform a full repository scan on each server start, this should be
113 114 ## set to false after first startup, to allow faster server restarts.
114 115 startup.import_repos = false
115 116
116 117 ## Uncomment and set this path to use archive download cache.
117 118 ## Once enabled, generated archives will be cached at this location
118 119 ## and served from the cache during subsequent requests for the same archive of
119 120 ## the repository.
120 121 #archive_cache_dir = /tmp/tarballcache
121 122
122 123 ## change this to unique ID for security
123 124 app_instance_uuid = rc-production
124 125
125 126 ## cut off limit for large diffs (size in bytes)
126 127 cut_off_limit_diff = 1024000
127 128 cut_off_limit_file = 256000
128 129
129 130 ## use cache version of scm repo everywhere
130 131 vcs_full_cache = true
131 132
132 133 ## force https in RhodeCode, fixes https redirects, assumes it's always https
133 134 ## Normally this is controlled by proper http flags sent from http server
134 135 force_https = false
135 136
136 137 ## use Strict-Transport-Security headers
137 138 use_htsts = false
138 139
139 140 ## number of commits stats will parse on each iteration
140 141 commit_parse_limit = 25
141 142
142 143 ## git rev filter option, --all is the default filter, if you need to
143 144 ## hide all refs in changelog switch this to --branches --tags
144 145 git_rev_filter = --branches --tags
145 146
146 147 # Set to true if your repos are exposed using the dumb protocol
147 148 git_update_server_info = false
148 149
149 150 ## RSS/ATOM feed options
150 151 rss_cut_off_limit = 256000
151 152 rss_items_per_page = 10
152 153 rss_include_diff = false
153 154
154 155 ## gist URL alias, used to create nicer urls for gist. This should be an
155 156 ## url that does rewrites to _admin/gists/<gistid>.
156 157 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
157 158 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
158 159 gist_alias_url =
159 160
160 161 ## List of controllers (using glob pattern syntax) that AUTH TOKENS could be
161 162 ## used for access.
162 163 ## Adding ?auth_token = <token> to the url authenticates this request as if it
163 164 ## came from the the logged in user who own this authentication token.
164 165 ##
165 166 ## Syntax is <ControllerClass>:<function_pattern>.
166 167 ## To enable access to raw_files put `FilesController:raw`.
167 168 ## To enable access to patches add `ChangesetController:changeset_patch`.
168 169 ## The list should be "," separated and on a single line.
169 170 ##
170 171 ## Recommended controllers to enable:
171 172 # ChangesetController:changeset_patch,
172 173 # ChangesetController:changeset_raw,
173 174 # FilesController:raw,
174 175 # FilesController:archivefile,
175 176 # GistsController:*,
176 177 api_access_controllers_whitelist =
177 178
178 179 ## default encoding used to convert from and to unicode
179 180 ## can be also a comma separated list of encoding in case of mixed encodings
180 181 default_encoding = UTF-8
181 182
182 183 ## instance-id prefix
183 184 ## a prefix key for this instance used for cache invalidation when running
184 185 ## multiple instances of rhodecode, make sure it's globally unique for
185 186 ## all running rhodecode instances. Leave empty if you don't use it
186 187 instance_id =
187 188
188 189 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
189 190 ## of an authentication plugin also if it is disabled by it's settings.
190 191 ## This could be useful if you are unable to log in to the system due to broken
191 192 ## authentication settings. Then you can enable e.g. the internal rhodecode auth
192 193 ## module to log in again and fix the settings.
193 194 ##
194 195 ## Available builtin plugin IDs (hash is part of the ID):
195 196 ## egg:rhodecode-enterprise-ce#rhodecode
196 197 ## egg:rhodecode-enterprise-ce#pam
197 198 ## egg:rhodecode-enterprise-ce#ldap
198 199 ## egg:rhodecode-enterprise-ce#jasig_cas
199 200 ## egg:rhodecode-enterprise-ce#headers
200 201 ## egg:rhodecode-enterprise-ce#crowd
201 202 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
202 203
203 204 ## alternative return HTTP header for failed authentication. Default HTTP
204 205 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
205 206 ## handling that causing a series of failed authentication calls.
206 207 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
207 208 ## This will be served instead of default 401 on bad authnetication
208 209 auth_ret_code =
209 210
210 211 ## use special detection method when serving auth_ret_code, instead of serving
211 212 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
212 213 ## and then serve auth_ret_code to clients
213 214 auth_ret_code_detection = false
214 215
215 216 ## locking return code. When repository is locked return this HTTP code. 2XX
216 217 ## codes don't break the transactions while 4XX codes do
217 218 lock_ret_code = 423
218 219
219 220 ## allows to change the repository location in settings page
220 221 allow_repo_location_change = true
221 222
222 223 ## allows to setup custom hooks in settings page
223 224 allow_custom_hooks_settings = true
224 225
225 226 ## generated license token, goto license page in RhodeCode settings to obtain
226 227 ## new token
227 228 license_token =
228 229
229 230 ## supervisor connection uri, for managing supervisor and logs.
230 231 supervisor.uri =
231 232 ## supervisord group name/id we only want this RC instance to handle
232 233 supervisor.group_id = prod
233 234
234 235 ## Display extended labs settings
235 236 labs_settings_active = true
236 237
237 238 ####################################
238 239 ### CELERY CONFIG ####
239 240 ####################################
240 241 use_celery = false
241 242 broker.host = localhost
242 243 broker.vhost = rabbitmqhost
243 244 broker.port = 5672
244 245 broker.user = rabbitmq
245 246 broker.password = qweqwe
246 247
247 248 celery.imports = rhodecode.lib.celerylib.tasks
248 249
249 250 celery.result.backend = amqp
250 251 celery.result.dburi = amqp://
251 252 celery.result.serialier = json
252 253
253 254 #celery.send.task.error.emails = true
254 255 #celery.amqp.task.result.expires = 18000
255 256
256 257 celeryd.concurrency = 2
257 258 #celeryd.log.file = celeryd.log
258 259 celeryd.log.level = debug
259 260 celeryd.max.tasks.per.child = 1
260 261
261 262 ## tasks will never be sent to the queue, but executed locally instead.
262 263 celery.always.eager = false
263 264
264 265 ####################################
265 266 ### BEAKER CACHE ####
266 267 ####################################
267 268 # default cache dir for templates. Putting this into a ramdisk
268 269 ## can boost performance, eg. %(here)s/data_ramdisk
269 270 cache_dir = %(here)s/data
270 271
271 272 ## locking and default file storage for Beaker. Putting this into a ramdisk
272 273 ## can boost performance, eg. %(here)s/data_ramdisk/cache/beaker_data
273 274 beaker.cache.data_dir = %(here)s/data/cache/beaker_data
274 275 beaker.cache.lock_dir = %(here)s/data/cache/beaker_lock
275 276
276 277 beaker.cache.regions = super_short_term, short_term, long_term, sql_cache_short, auth_plugins, repo_cache_long
277 278
278 279 beaker.cache.super_short_term.type = memory
279 280 beaker.cache.super_short_term.expire = 10
280 281 beaker.cache.super_short_term.key_length = 256
281 282
282 283 beaker.cache.short_term.type = memory
283 284 beaker.cache.short_term.expire = 60
284 285 beaker.cache.short_term.key_length = 256
285 286
286 287 beaker.cache.long_term.type = memory
287 288 beaker.cache.long_term.expire = 36000
288 289 beaker.cache.long_term.key_length = 256
289 290
290 291 beaker.cache.sql_cache_short.type = memory
291 292 beaker.cache.sql_cache_short.expire = 10
292 293 beaker.cache.sql_cache_short.key_length = 256
293 294
294 295 ## default is memory cache, configure only if required
295 296 ## using multi-node or multi-worker setup
296 297 #beaker.cache.auth_plugins.type = ext:database
297 298 #beaker.cache.auth_plugins.lock_dir = %(here)s/data/cache/auth_plugin_lock
298 299 #beaker.cache.auth_plugins.url = postgresql://postgres:secret@localhost/rhodecode
299 300 #beaker.cache.auth_plugins.url = mysql://root:secret@127.0.0.1/rhodecode
300 301 #beaker.cache.auth_plugins.sa.pool_recycle = 3600
301 302 #beaker.cache.auth_plugins.sa.pool_size = 10
302 303 #beaker.cache.auth_plugins.sa.max_overflow = 0
303 304
304 305 beaker.cache.repo_cache_long.type = memorylru_base
305 306 beaker.cache.repo_cache_long.max_items = 4096
306 307 beaker.cache.repo_cache_long.expire = 2592000
307 308
308 309 ## default is memorylru_base cache, configure only if required
309 310 ## using multi-node or multi-worker setup
310 311 #beaker.cache.repo_cache_long.type = ext:memcached
311 312 #beaker.cache.repo_cache_long.url = localhost:11211
312 313 #beaker.cache.repo_cache_long.expire = 1209600
313 314 #beaker.cache.repo_cache_long.key_length = 256
314 315
315 316 ####################################
316 317 ### BEAKER SESSION ####
317 318 ####################################
318 319
319 320 ## .session.type is type of storage options for the session, current allowed
320 321 ## types are file, ext:memcached, ext:database, and memory (default).
321 322 beaker.session.type = file
322 323 beaker.session.data_dir = %(here)s/data/sessions/data
323 324
324 ## db based session, fast, and allows easy management over logged in users ##
325 ## db based session, fast, and allows easy management over logged in users
325 326 #beaker.session.type = ext:database
326 327 #beaker.session.table_name = db_session
327 328 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
328 329 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
329 330 #beaker.session.sa.pool_recycle = 3600
330 331 #beaker.session.sa.echo = false
331 332
332 333 beaker.session.key = rhodecode
333 334 beaker.session.secret = production-rc-uytcxaz
334 335 beaker.session.lock_dir = %(here)s/data/sessions/lock
335 336
336 337 ## Secure encrypted cookie. Requires AES and AES python libraries
337 338 ## you must disable beaker.session.secret to use this
338 339 #beaker.session.encrypt_key = <key_for_encryption>
339 340 #beaker.session.validate_key = <validation_key>
340 341
341 342 ## sets session as invalid(also logging out user) if it haven not been
342 343 ## accessed for given amount of time in seconds
343 344 beaker.session.timeout = 2592000
344 345 beaker.session.httponly = true
346 ## Path to use for the cookie.
345 347 #beaker.session.cookie_path = /<your-prefix>
346 348
347 349 ## uncomment for https secure cookie
348 350 beaker.session.secure = false
349 351
350 352 ## auto save the session to not to use .save()
351 353 beaker.session.auto = false
352 354
353 355 ## default cookie expiration time in seconds, set to `true` to set expire
354 356 ## at browser close
355 357 #beaker.session.cookie_expires = 3600
356 358
357 359 ###################################
358 360 ## SEARCH INDEXING CONFIGURATION ##
359 361 ###################################
360 362 ## Full text search indexer is available in rhodecode-tools under
361 363 ## `rhodecode-tools index` command
362 364
363 365 # WHOOSH Backend, doesn't require additional services to run
364 366 # it works good with few dozen repos
365 367 search.module = rhodecode.lib.index.whoosh
366 368 search.location = %(here)s/data/index
367 369
368 370 ########################################
369 371 ### CHANNELSTREAM CONFIG ####
370 372 ########################################
371 373 ## channelstream enables persistent connections and live notification
372 374 ## in the system. It's also used by the chat system
373 375
374 376 channelstream.enabled = true
375 377 # location of channelstream server on the backend
376 378 channelstream.server = 127.0.0.1:9800
377 379 # location of the channelstream server from outside world
378 380 channelstream.ws_url = ws://127.0.0.1:9800
379 381 channelstream.secret = secret
380 382 channelstream.history.location = %(here)s/channelstream_history
381 383
382 384
383 385 ###################################
384 386 ## APPENLIGHT CONFIG ##
385 387 ###################################
386 388
387 389 ## Appenlight is tailored to work with RhodeCode, see
388 390 ## http://appenlight.com for details how to obtain an account
389 391
390 392 ## appenlight integration enabled
391 393 appenlight = false
392 394
393 395 appenlight.server_url = https://api.appenlight.com
394 396 appenlight.api_key = YOUR_API_KEY
395 397 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
396 398
397 399 # used for JS client
398 400 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
399 401
400 402 ## TWEAK AMOUNT OF INFO SENT HERE
401 403
402 404 ## enables 404 error logging (default False)
403 405 appenlight.report_404 = false
404 406
405 407 ## time in seconds after request is considered being slow (default 1)
406 408 appenlight.slow_request_time = 1
407 409
408 410 ## record slow requests in application
409 411 ## (needs to be enabled for slow datastore recording and time tracking)
410 412 appenlight.slow_requests = true
411 413
412 414 ## enable hooking to application loggers
413 415 appenlight.logging = true
414 416
415 417 ## minimum log level for log capture
416 418 appenlight.logging.level = WARNING
417 419
418 420 ## send logs only from erroneous/slow requests
419 421 ## (saves API quota for intensive logging)
420 422 appenlight.logging_on_error = false
421 423
422 424 ## list of additonal keywords that should be grabbed from environ object
423 425 ## can be string with comma separated list of words in lowercase
424 426 ## (by default client will always send following info:
425 427 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
426 428 ## start with HTTP* this list be extended with additional keywords here
427 429 appenlight.environ_keys_whitelist =
428 430
429 431 ## list of keywords that should be blanked from request object
430 432 ## can be string with comma separated list of words in lowercase
431 433 ## (by default client will always blank keys that contain following words
432 434 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
433 435 ## this list be extended with additional keywords set here
434 436 appenlight.request_keys_blacklist =
435 437
436 438 ## list of namespaces that should be ignores when gathering log entries
437 439 ## can be string with comma separated list of namespaces
438 440 ## (by default the client ignores own entries: appenlight_client.client)
439 441 appenlight.log_namespace_blacklist =
440 442
441 443
442 444 ################################################################################
443 445 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
444 446 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
445 447 ## execute malicious code after an exception is raised. ##
446 448 ################################################################################
447 449 set debug = false
448 450
449 451
450 452 #########################################################
451 453 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
452 454 #########################################################
453 455 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
456 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
457 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode
454 458 sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
455 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode
456 459
457 460 # see sqlalchemy docs for other advanced settings
458 461
459 462 ## print the sql statements to output
460 463 sqlalchemy.db1.echo = false
461 464 ## recycle the connections after this ammount of seconds
462 465 sqlalchemy.db1.pool_recycle = 3600
463 466 sqlalchemy.db1.convert_unicode = true
464 467
465 468 ## the number of connections to keep open inside the connection pool.
466 469 ## 0 indicates no limit
467 470 #sqlalchemy.db1.pool_size = 5
468 471
469 472 ## the number of connections to allow in connection pool "overflow", that is
470 473 ## connections that can be opened above and beyond the pool_size setting,
471 474 ## which defaults to five.
472 475 #sqlalchemy.db1.max_overflow = 10
473 476
474 477
475 478 ##################
476 479 ### VCS CONFIG ###
477 480 ##################
478 481 vcs.server.enable = true
479 482 vcs.server = localhost:9900
480 483
481 484 ## Web server connectivity protocol, responsible for web based VCS operatations
482 485 ## Available protocols are:
483 486 ## `pyro4` - using pyro4 server
484 487 ## `http` - using http-rpc backend
485 488 #vcs.server.protocol = http
486 489
487 490 ## Push/Pull operations protocol, available options are:
488 491 ## `pyro4` - using pyro4 server
489 492 ## `rhodecode.lib.middleware.utils.scm_app_http` - Http based, recommended
490 493 ## `vcsserver.scm_app` - internal app (EE only)
491 494 #vcs.scm_app_implementation = rhodecode.lib.middleware.utils.scm_app_http
492 495
493 496 ## Push/Pull operations hooks protocol, available options are:
494 497 ## `pyro4` - using pyro4 server
495 498 ## `http` - using http-rpc backend
496 499 #vcs.hooks.protocol = http
497 500
498 501 vcs.server.log_level = info
499 502 ## Start VCSServer with this instance as a subprocess, usefull for development
500 503 vcs.start_server = false
501 504
502 505 ## List of enabled VCS backends, available options are:
503 506 ## `hg` - mercurial
504 507 ## `git` - git
505 508 ## `svn` - subversion
506 509 vcs.backends = hg, git, svn
507 510
508 511 vcs.connection_timeout = 3600
509 512 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
510 513 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible
511 514 #vcs.svn.compatible_version = pre-1.8-compatible
512 515
513 516
514 517 ##############################################
515 518 ### Subversion proxy support (mod_dav_svn) ###
516 519 ##############################################
517 520 ## Enable or disable the config file generation.
518 521 svn.proxy.generate_config = false
519 522 ## Generate config file with `SVNListParentPath` set to `On`.
520 523 svn.proxy.list_parent_path = true
521 524 ## Set location and file name of generated config file.
522 525 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
523 526 ## File system path to the directory containing the repositories served by
524 527 ## RhodeCode.
525 528 svn.proxy.parent_path_root = /path/to/repo_store
526 529 ## Used as a prefix to the <Location> block in the generated config file. In
527 530 ## most cases it should be set to `/`.
528 531 svn.proxy.location_root = /
529 532
530 533
531 534 ################################
532 535 ### LOGGING CONFIGURATION ####
533 536 ################################
534 537 [loggers]
535 538 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates
536 539
537 540 [handlers]
538 541 keys = console, console_sql
539 542
540 543 [formatters]
541 544 keys = generic, color_formatter, color_formatter_sql
542 545
543 546 #############
544 547 ## LOGGERS ##
545 548 #############
546 549 [logger_root]
547 550 level = NOTSET
548 551 handlers = console
549 552
550 553 [logger_routes]
551 554 level = DEBUG
552 555 handlers =
553 556 qualname = routes.middleware
554 557 ## "level = DEBUG" logs the route matched and routing variables.
555 558 propagate = 1
556 559
557 560 [logger_beaker]
558 561 level = DEBUG
559 562 handlers =
560 563 qualname = beaker.container
561 564 propagate = 1
562 565
563 566 [logger_pyro4]
564 567 level = DEBUG
565 568 handlers =
566 569 qualname = Pyro4
567 570 propagate = 1
568 571
569 572 [logger_templates]
570 573 level = INFO
571 574 handlers =
572 575 qualname = pylons.templating
573 576 propagate = 1
574 577
575 578 [logger_rhodecode]
576 579 level = DEBUG
577 580 handlers =
578 581 qualname = rhodecode
579 582 propagate = 1
580 583
581 584 [logger_sqlalchemy]
582 585 level = INFO
583 586 handlers = console_sql
584 587 qualname = sqlalchemy.engine
585 588 propagate = 0
586 589
587 590 ##############
588 591 ## HANDLERS ##
589 592 ##############
590 593
591 594 [handler_console]
592 595 class = StreamHandler
593 596 args = (sys.stderr,)
594 597 level = INFO
595 598 formatter = generic
596 599
597 600 [handler_console_sql]
598 601 class = StreamHandler
599 602 args = (sys.stderr,)
600 603 level = WARN
601 604 formatter = generic
602 605
603 606 ################
604 607 ## FORMATTERS ##
605 608 ################
606 609
607 610 [formatter_generic]
608 611 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
609 612 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
610 613 datefmt = %Y-%m-%d %H:%M:%S
611 614
612 615 [formatter_color_formatter]
613 616 class = rhodecode.lib.logging_formatter.ColorFormatter
614 617 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
615 618 datefmt = %Y-%m-%d %H:%M:%S
616 619
617 620 [formatter_color_formatter_sql]
618 621 class = rhodecode.lib.logging_formatter.ColorFormatterSql
619 622 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
620 623 datefmt = %Y-%m-%d %H:%M:%S
General Comments 0
You need to be logged in to leave comments. Login now