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