|
|
#
|
|
|
|
|
|
; #################################
|
|
|
; RHODECODE VCSSERVER CONFIGURATION
|
|
|
; #################################
|
|
|
|
|
|
[server:main]
|
|
|
; COMMON HOST/IP CONFIG
|
|
|
host = 127.0.0.1
|
|
|
port = 10010
|
|
|
|
|
|
|
|
|
; ###########################
|
|
|
; GUNICORN APPLICATION SERVER
|
|
|
; ###########################
|
|
|
|
|
|
; run with gunicorn --log-config rhodecode.ini --paste rhodecode.ini
|
|
|
|
|
|
; Module to use, this setting shouldn't be changed
|
|
|
use = egg:gunicorn#main
|
|
|
|
|
|
[app:main]
|
|
|
; The %(here)s variable will be replaced with the absolute path of parent directory
|
|
|
; of this file
|
|
|
; Each option in the app:main can be override by an environmental variable
|
|
|
;
|
|
|
;To override an option:
|
|
|
;
|
|
|
;RC_<KeyName>
|
|
|
;Everything should be uppercase, . and - should be replaced by _.
|
|
|
;For example, if you have these configuration settings:
|
|
|
;rc_cache.repo_object.backend = foo
|
|
|
;can be overridden by
|
|
|
;export RC_CACHE_REPO_OBJECT_BACKEND=foo
|
|
|
|
|
|
use = egg:rhodecode-vcsserver
|
|
|
|
|
|
; Pyramid default locales, we need this to be set
|
|
|
pyramid.default_locale_name = en
|
|
|
|
|
|
; default locale used by VCS systems
|
|
|
locale = en_US.UTF-8
|
|
|
|
|
|
; path to binaries (hg,git,svn) for vcsserver, it should be set by the installer
|
|
|
; at installation time, e.g /home/user/.rccontrol/vcsserver-1/profile/bin
|
|
|
; or /usr/local/bin/rhodecode_bin/vcs_bin
|
|
|
core.binary_dir =
|
|
|
|
|
|
; Redis connection settings for svn integrations logic
|
|
|
; This connection string needs to be the same on ce and vcsserver
|
|
|
vcs.svn.redis_conn = redis://redis:6379/0
|
|
|
|
|
|
; Custom exception store path, defaults to TMPDIR
|
|
|
; This is used to store exception from RhodeCode in shared directory
|
|
|
#exception_tracker.store_path =
|
|
|
|
|
|
; #############
|
|
|
; DOGPILE CACHE
|
|
|
; #############
|
|
|
|
|
|
; Default cache dir for caches. Putting this into a ramdisk can boost performance.
|
|
|
; eg. /tmpfs/data_ramdisk, however this directory might require large amount of space
|
|
|
cache_dir = %(here)s/data
|
|
|
|
|
|
; ***************************************
|
|
|
; `repo_object` cache, default file based
|
|
|
; ***************************************
|
|
|
|
|
|
; `repo_object` cache settings for vcs methods for repositories
|
|
|
#rc_cache.repo_object.backend = dogpile.cache.rc.file_namespace
|
|
|
|
|
|
; cache auto-expires after N seconds
|
|
|
; Examples: 86400 (1Day), 604800 (7Days), 1209600 (14Days), 2592000 (30days), 7776000 (90Days)
|
|
|
#rc_cache.repo_object.expiration_time = 2592000
|
|
|
|
|
|
; file cache store path. Defaults to `cache_dir =` value or tempdir if both values are not set
|
|
|
#rc_cache.repo_object.arguments.filename = /tmp/vcsserver_cache_repo_object.db
|
|
|
|
|
|
; ***********************************************************
|
|
|
; `repo_object` cache with redis backend
|
|
|
; recommended for larger instance, and for better performance
|
|
|
; ***********************************************************
|
|
|
|
|
|
; `repo_object` cache settings for vcs methods for repositories
|
|
|
#rc_cache.repo_object.backend = dogpile.cache.rc.redis_msgpack
|
|
|
|
|
|
; cache auto-expires after N seconds
|
|
|
; Examples: 86400 (1Day), 604800 (7Days), 1209600 (14Days), 2592000 (30days), 7776000 (90Days)
|
|
|
#rc_cache.repo_object.expiration_time = 2592000
|
|
|
|
|
|
; redis_expiration_time needs to be greater then expiration_time
|
|
|
#rc_cache.repo_object.arguments.redis_expiration_time = 3592000
|
|
|
|
|
|
#rc_cache.repo_object.arguments.host = localhost
|
|
|
#rc_cache.repo_object.arguments.port = 6379
|
|
|
#rc_cache.repo_object.arguments.db = 5
|
|
|
#rc_cache.repo_object.arguments.socket_timeout = 30
|
|
|
; more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
|
|
|
#rc_cache.repo_object.arguments.distributed_lock = true
|
|
|
|
|
|
; auto-renew lock to prevent stale locks, slower but safer. Use only if problems happen
|
|
|
#rc_cache.repo_object.arguments.lock_auto_renewal = true
|
|
|
|
|
|
; Statsd client config, this is used to send metrics to statsd
|
|
|
; We recommend setting statsd_exported and scrape them using Promethues
|
|
|
#statsd.enabled = false
|
|
|
#statsd.statsd_host = 0.0.0.0
|
|
|
#statsd.statsd_port = 8125
|
|
|
#statsd.statsd_prefix =
|
|
|
#statsd.statsd_ipv6 = false
|
|
|
|
|
|
; configure logging automatically at server startup set to false
|
|
|
; to use the below custom logging config.
|
|
|
; RC_LOGGING_FORMATTER
|
|
|
; RC_LOGGING_LEVEL
|
|
|
; env variables can control the settings for logging in case of autoconfigure
|
|
|
|
|
|
#logging.autoconfigure = true
|
|
|
|
|
|
; specify your own custom logging config file to configure logging
|
|
|
#logging.logging_conf_file = /path/to/custom_logging.ini
|
|
|
|
|
|
; #####################
|
|
|
; LOGGING CONFIGURATION
|
|
|
; #####################
|
|
|
|
|
|
[loggers]
|
|
|
keys = root, vcsserver
|
|
|
|
|
|
[handlers]
|
|
|
keys = console
|
|
|
|
|
|
[formatters]
|
|
|
keys = generic, json
|
|
|
|
|
|
; #######
|
|
|
; LOGGERS
|
|
|
; #######
|
|
|
[logger_root]
|
|
|
level = NOTSET
|
|
|
handlers = console
|
|
|
|
|
|
[logger_vcsserver]
|
|
|
level = INFO
|
|
|
handlers =
|
|
|
qualname = vcsserver
|
|
|
propagate = 1
|
|
|
|
|
|
; ########
|
|
|
; HANDLERS
|
|
|
; ########
|
|
|
|
|
|
[handler_console]
|
|
|
class = StreamHandler
|
|
|
args = (sys.stderr, )
|
|
|
level = DEBUG
|
|
|
; To enable JSON formatted logs replace 'generic' with 'json'
|
|
|
; This allows sending properly formatted logs to grafana loki or elasticsearch
|
|
|
formatter = generic
|
|
|
|
|
|
; ##########
|
|
|
; FORMATTERS
|
|
|
; ##########
|
|
|
|
|
|
[formatter_generic]
|
|
|
format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
|
|
|
datefmt = %Y-%m-%d %H:%M:%S
|
|
|
|
|
|
[formatter_json]
|
|
|
format = %(timestamp)s %(levelname)s %(name)s %(message)s %(req_id)s
|
|
|
class = vcsserver.lib._vendor.jsonlogger.JsonFormatter
|
|
|
|