changeset 4225:3e6291d99a6f kallithea-2.2.5-rebrand

Align and update the outdated ini files and templates Change default database for development.ini to sqlite
author Mads Kiilerich <madski@unity3d.com>
date Wed, 02 Jul 2014 19:08:38 -0400
parents 1142ebbf04cd
children 499c513967a1
files development.ini kallithea/bin/template.ini.mako kallithea/config/deployment.ini_tmpl production.ini test.ini
diffstat 5 files changed, 268 insertions(+), 85 deletions(-) [+]
line wrap: on
line diff
--- a/development.ini	Wed Jul 02 19:08:38 2014 -0400
+++ b/development.ini	Wed Jul 02 19:08:38 2014 -0400
@@ -1,13 +1,20 @@
 ################################################################################
 ################################################################################
-# Kallithea - Pylons environment configuration                                 #
+# Kallithea - Development config:                                              #
+# listening on *:5000                                                          #
+# sqlite and kallithea.db                                                      #
+# initial_repo_scan = true                                                     #
+# set debug = true                                                             #
+# verbose and colorful logging                                                 #
 #                                                                              #
 # The %(here)s variable will be replaced with the parent directory of this file#
 ################################################################################
+################################################################################
 
 [DEFAULT]
 debug = true
 pdebug = false
+
 ################################################################################
 ## Uncomment and replace with the address which should receive                ##
 ## any error reports after application crash                                  ##
@@ -58,7 +65,7 @@
 ## type of worker class, one of sync, eventlet, gevent, tornado
 ## recommended for bigger setup is using of of other than sync one
 #worker_class = sync
-#max_requests = 5
+#max_requests = 1000
 ## ammount of time a worker can handle request before it gets killed and
 ## restarted
 #timeout = 3600
@@ -68,7 +75,7 @@
 #[uwsgi]
 #socket = /tmp/uwsgi.sock
 #master = true
-#http = 0.0.0.0:5000
+#http = 127.0.0.1:5000
 
 ## set as deamon and redirect all output to file
 #daemonize = ./uwsgi_kallithea.log
@@ -139,21 +146,22 @@
 
 full_stack = true
 static_files = true
-## Optional Languages
-## en, fr, ja, pt_BR, zh_CN, zh_TW, pl
+## Available Languages:
+## de en fr ja pl pt_BR ru zh_CN zh_TW
 lang = en
 cache_dir = %(here)s/data
 index_dir = %(here)s/data/index
 
 ## perform a full repository scan on each server start, this should be
 ## set to false after first startup, to allow faster server restarts.
+#initial_repo_scan = false
 initial_repo_scan = true
 
 ## uncomment and set this path to use archive download cache
-#archive_cache_dir = /tmp/tarballcache
+archive_cache_dir = %(here)s/tarballcache
 
 ## change this to unique ID for security
-app_instance_uuid = rc-production
+app_instance_uuid = development-not-secret
 
 ## cut off limit for large diffs (size in bytes)
 cut_off_limit = 256000
@@ -178,7 +186,7 @@
 
 ## git rev filter option, --all is the default filter, if you need to
 ## hide all refs in changelog switch this to --branches --tags
-git_rev_filter=--all
+#git_rev_filter = --branches --tags
 
 ## RSS feed options
 rss_cut_off_limit = 256000
@@ -200,7 +208,7 @@
 ## api access to raw_files put `FilesController:raw`, to enable access to patches
 ## add `ChangesetController:changeset_patch`. This list should be "," separated
 ## Syntax is <ControllerClass>:<function>. Check debug logs for generated names
-## Recommended settings bellow are commented out:
+## Recommended settings below are commented out:
 api_access_controllers_whitelist =
 #    ChangesetController:changeset_patch,
 #    ChangesetController:changeset_raw,
@@ -262,7 +270,7 @@
 ## issue_pat, issue_server_link, issue_prefix can have suffixes to specify
 ## multiple patterns, to other issues server, wiki or others
 ## below an example how to create a wiki pattern
-#  #wiki-some-id -> https://mywiki.com/some-id
+# wiki-some-id -> https://mywiki.com/some-id
 
 #issue_pat_wiki = (?:wiki-)(.+)
 #issue_server_link_wiki = https://mywiki.com/{id}
@@ -294,6 +302,7 @@
 ####################################
 ###        CELERY CONFIG        ####
 ####################################
+
 use_celery = false
 broker.host = localhost
 broker.vhost = rabbitmqhost
@@ -321,6 +330,7 @@
 ####################################
 ###         BEAKER CACHE        ####
 ####################################
+
 beaker.cache.data_dir=%(here)s/data/cache/data
 beaker.cache.lock_dir=%(here)s/data/cache/lock
 
@@ -370,7 +380,7 @@
 #beaker.session.type = file
 
 beaker.session.key = kallithea
-beaker.session.secret = develop-rc-uytcxaz
+beaker.session.secret = development-not-secret
 
 ## Secure encrypted cookie. Requires AES and AES python libraries
 ## you must disable beaker.session.secret to use this
@@ -479,10 +489,12 @@
 ## execute malicious code after an exception is raised.                       ##
 ################################################################################
 #set debug = false
+set debug = true
 
 ##################################
 ###       LOGVIEW CONFIG       ###
 ##################################
+
 logview.sqlalchemy = #faa
 logview.pylons.templating = #bfb
 logview.pylons.util = #eee
@@ -490,9 +502,18 @@
 #########################################################
 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG    ###
 #########################################################
-#sqlalchemy.db1.url = sqlite:///%(here)s/kallithea.db?timeout=30
-sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/kallithea
-#sqlalchemy.db1.url = mysql://root:qweqwe@localhost/kallithea
+
+# SQLITE [default]
+sqlalchemy.db1.url = sqlite:///%(here)s/kallithea.db?timeout=60
+
+# POSTGRESQL
+# sqlalchemy.db1.url = postgresql://user:pass@localhost/kallithea
+
+# MySQL
+# sqlalchemy.db1.url = mysql://user:pass@localhost/kallithea
+
+# see sqlalchemy docs for others
+
 sqlalchemy.db1.echo = false
 sqlalchemy.db1.pool_recycle = 3600
 sqlalchemy.db1.convert_unicode = true
@@ -500,6 +521,7 @@
 ################################
 ### LOGGING CONFIGURATION   ####
 ################################
+
 [loggers]
 keys = root, routes, kallithea, sqlalchemy, beaker, templates, whoosh_indexer
 
@@ -512,6 +534,7 @@
 #############
 ## LOGGERS ##
 #############
+
 [logger_root]
 level = NOTSET
 handlers = console
@@ -560,12 +583,16 @@
 [handler_console]
 class = StreamHandler
 args = (sys.stderr,)
+#level = INFO
+#formatter = generic
 level = DEBUG
 formatter = color_formatter
 
 [handler_console_sql]
 class = StreamHandler
 args = (sys.stderr,)
+#level = WARN
+#formatter = generic
 level = DEBUG
 formatter = color_formatter_sql
 
--- a/kallithea/bin/template.ini.mako	Wed Jul 02 19:08:38 2014 -0400
+++ b/kallithea/bin/template.ini.mako	Wed Jul 02 19:08:38 2014 -0400
@@ -1,11 +1,8 @@
 ## -*- coding: utf-8 -*-
-<%text>
-################################################################################
+<%text>################################################################################
 ################################################################################
-# Kallithea - Example config                                                   #
-# Built-in functions and variables                                             #
-# The ${here} variable will be replaced with the parent directory of this file #
-# ${uuid()} function will generate a unique hash                               #
+# Kallithea - config file generated with kallithea-config                      #
+################################################################################
 ################################################################################
 </%text>
 [DEFAULT]
@@ -16,8 +13,7 @@
 ## Uncomment and replace with the address which should receive                ##
 ## any error reports after application crash                                  ##
 ## Additionally those settings will be used by Kallithea mailing system       ##
-################################################################################
-</%text>
+################################################################################</%text>
 #email_to = admin@localhost
 #error_email_from = paste_error@localhost
 #app_email_from = kallithea-noreply@localhost
@@ -77,7 +73,7 @@
 [uwsgi]
 socket = /tmp/uwsgi.sock
 master = true
-http = 0.0.0.0:5000
+http = 127.0.0.1:5000
 
 <%text>## set as deamon and redirect all output to file</%text>
 #daemonize = ./uwsgi_kallithea.log
@@ -86,7 +82,7 @@
 pidfile = ./uwsgi_kallithea.pid
 
 <%text>## stats server with workers statistics, use uwsgitop</%text>
-<%text>## for monitoring</%text>
+<%text>## for monitoring, `uwsgitop 127.0.0.1:1717`</%text>
 stats = 127.0.0.1:1717
 memory-report = true
 
@@ -148,8 +144,8 @@
 
 full_stack = true
 static_files = true
-<%text>## Optional Languages</%text>
-<%text>## en, fr, ja, pt_BR, zh_CN, zh_TW, pl, ru</%text>
+<%text>## Available Languages:</%text>
+<%text>## de en fr ja pl pt_BR ru zh_CN zh_TW</%text>
 lang = ${lang}
 cache_dir = ${here}/data
 index_dir = ${here}/data/index
@@ -187,7 +183,7 @@
 
 <%text>## git rev filter option, --all is the default filter, if you need to</%text>
 <%text>## hide all refs in changelog switch this to --branches --tags</%text>
-git_rev_filter=--branches --tags
+#git_rev_filter = --branches --tags
 
 <%text>## RSS feed options</%text>
 rss_cut_off_limit = 256000
@@ -209,7 +205,12 @@
 <%text>## api access to raw_files put `FilesController:raw`, to enable access to patches</%text>
 <%text>## add `ChangesetController:changeset_patch`. This list should be "," separated</%text>
 <%text>## Syntax is <ControllerClass>:<function>. Check debug logs for generated names</%text>
+<%text>## Recommended settings below are commented out:</%text>
 api_access_controllers_whitelist =
+#    ChangesetController:changeset_patch,
+#    ChangesetController:changeset_raw,
+#    FilesController:raw,
+#    FilesController:archivefile
 
 <%text>## alternative_gravatar_url allows you to use your own avatar server application</%text>
 <%text>## the following parts of the URL will be replaced</%text>
@@ -266,7 +267,7 @@
 <%text>## issue_pat, issue_server_link, issue_prefix can have suffixes to specify</%text>
 <%text>## multiple patterns, to other issues server, wiki or others</%text>
 <%text>## below an example how to create a wiki pattern</%text>
-<%text>## wiki-some-id -> https://mywiki.com/some-id</%text>
+# wiki-some-id -> https://mywiki.com/some-id
 
 #issue_pat_wiki = (?:wiki-)(.+)
 #issue_server_link_wiki = https://mywiki.com/{id}
@@ -484,8 +485,7 @@
 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*  ##
 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to  ##
 ## execute malicious code after an exception is raised.                       ##
-################################################################################
-</%text>
+################################################################################</%text>
 set debug = false
 <%text>
 ##################################
--- a/kallithea/config/deployment.ini_tmpl	Wed Jul 02 19:08:38 2014 -0400
+++ b/kallithea/config/deployment.ini_tmpl	Wed Jul 02 19:08:38 2014 -0400
@@ -1,13 +1,15 @@
 ################################################################################
 ################################################################################
-# Kallithea - Pylons environment configuration                                 #
+# Kallithea - Example config                                                   #
 #                                                                              #
 # The %(here)s variable will be replaced with the parent directory of this file#
 ################################################################################
+################################################################################
 
 [DEFAULT]
 debug = true
 pdebug = false
+
 ################################################################################
 ## Uncomment and replace with the address which should receive                ##
 ## any error reports after application crash                                  ##
@@ -58,7 +60,7 @@
 ## type of worker class, one of sync, eventlet, gevent, tornado
 ## recommended for bigger setup is using of of other than sync one
 #worker_class = sync
-#max_requests = 5
+#max_requests = 1000
 ## ammount of time a worker can handle request before it gets killed and
 ## restarted
 #timeout = 3600
@@ -139,18 +141,18 @@
 
 full_stack = true
 static_files = true
-## Optional Languages
-## en, fr, ja, pt_BR, zh_CN, zh_TW, pl
+## Available Languages:
+## de en fr ja pl pt_BR ru zh_CN zh_TW
 lang = en
 cache_dir = %(here)s/data
 index_dir = %(here)s/data/index
 
 ## perform a full repository scan on each server start, this should be
 ## set to false after first startup, to allow faster server restarts.
-initial_repo_scan = true
+initial_repo_scan = false
 
 ## uncomment and set this path to use archive download cache
-#archive_cache_dir = /tmp/tarballcache
+archive_cache_dir = %(here)s/tarballcache
 
 ## change this to unique ID for security
 app_instance_uuid = ${app_instance_uuid}
@@ -178,7 +180,7 @@
 
 ## git rev filter option, --all is the default filter, if you need to
 ## hide all refs in changelog switch this to --branches --tags
-git_rev_filter=--all
+#git_rev_filter = --branches --tags
 
 ## RSS feed options
 rss_cut_off_limit = 256000
@@ -200,7 +202,7 @@
 ## api access to raw_files put `FilesController:raw`, to enable access to patches
 ## add `ChangesetController:changeset_patch`. This list should be "," separated
 ## Syntax is <ControllerClass>:<function>. Check debug logs for generated names
-## Recommended settings bellow are commented out:
+## Recommended settings below are commented out:
 api_access_controllers_whitelist =
 #    ChangesetController:changeset_patch,
 #    ChangesetController:changeset_raw,
@@ -262,7 +264,7 @@
 ## issue_pat, issue_server_link, issue_prefix can have suffixes to specify
 ## multiple patterns, to other issues server, wiki or others
 ## below an example how to create a wiki pattern
-#  #wiki-some-id -> https://mywiki.com/some-id
+# wiki-some-id -> https://mywiki.com/some-id
 
 #issue_pat_wiki = (?:wiki-)(.+)
 #issue_server_link_wiki = https://mywiki.com/{id}
@@ -294,6 +296,7 @@
 ####################################
 ###        CELERY CONFIG        ####
 ####################################
+
 use_celery = false
 broker.host = localhost
 broker.vhost = rabbitmqhost
@@ -321,6 +324,7 @@
 ####################################
 ###         BEAKER CACHE        ####
 ####################################
+
 beaker.cache.data_dir=%(here)s/data/cache/data
 beaker.cache.lock_dir=%(here)s/data/cache/lock
 
@@ -483,6 +487,7 @@
 ##################################
 ###       LOGVIEW CONFIG       ###
 ##################################
+
 logview.sqlalchemy = #faa
 logview.pylons.templating = #bfb
 logview.pylons.util = #eee
@@ -492,7 +497,7 @@
 #########################################################
 
 # SQLITE [default]
-sqlalchemy.db1.url = sqlite:///%(here)s/kallithea.db?timeout=30
+sqlalchemy.db1.url = sqlite:///%(here)s/kallithea.db?timeout=60
 
 # POSTGRESQL
 # sqlalchemy.db1.url = postgresql://user:pass@localhost/kallithea
@@ -509,6 +514,7 @@
 ################################
 ### LOGGING CONFIGURATION   ####
 ################################
+
 [loggers]
 keys = root, routes, kallithea, sqlalchemy, beaker, templates, whoosh_indexer
 
@@ -521,6 +527,7 @@
 #############
 ## LOGGERS ##
 #############
+
 [logger_root]
 level = NOTSET
 handlers = console
--- a/production.ini	Wed Jul 02 19:08:38 2014 -0400
+++ b/production.ini	Wed Jul 02 19:08:38 2014 -0400
@@ -1,13 +1,19 @@
 ################################################################################
 ################################################################################
-# Kallithea - Pylons environment configuration                                 #
+# Kallithea - Example config                                                   #
+# Exactly as generated with "paster make-config Kallithea production.ini"      #
+# using sqlite and kallithea.db .
+# Note: you should generate your own config with your own UUIDs for security   #
+# and consider not using sqlite for production.                                #
 #                                                                              #
 # The %(here)s variable will be replaced with the parent directory of this file#
 ################################################################################
+################################################################################
 
 [DEFAULT]
 debug = true
 pdebug = false
+
 ################################################################################
 ## Uncomment and replace with the address which should receive                ##
 ## any error reports after application crash                                  ##
@@ -58,7 +64,7 @@
 ## type of worker class, one of sync, eventlet, gevent, tornado
 ## recommended for bigger setup is using of of other than sync one
 #worker_class = sync
-#max_requests = 5
+#max_requests = 1000
 ## ammount of time a worker can handle request before it gets killed and
 ## restarted
 #timeout = 3600
@@ -139,21 +145,21 @@
 
 full_stack = true
 static_files = true
-## Optional Languages
-## en, fr, ja, pt_BR, zh_CN, zh_TW, pl
+## Available Languages:
+## de en fr ja pl pt_BR ru zh_CN zh_TW
 lang = en
 cache_dir = %(here)s/data
 index_dir = %(here)s/data/index
 
 ## perform a full repository scan on each server start, this should be
 ## set to false after first startup, to allow faster server restarts.
-initial_repo_scan = true
+initial_repo_scan = false
 
 ## uncomment and set this path to use archive download cache
-#archive_cache_dir = /tmp/tarballcache
+archive_cache_dir = %(here)s/tarballcache
 
 ## change this to unique ID for security
-app_instance_uuid = rc-production
+app_instance_uuid = change-me
 
 ## cut off limit for large diffs (size in bytes)
 cut_off_limit = 256000
@@ -178,7 +184,7 @@
 
 ## git rev filter option, --all is the default filter, if you need to
 ## hide all refs in changelog switch this to --branches --tags
-git_rev_filter=--all
+#git_rev_filter = --branches --tags
 
 ## RSS feed options
 rss_cut_off_limit = 256000
@@ -200,7 +206,7 @@
 ## api access to raw_files put `FilesController:raw`, to enable access to patches
 ## add `ChangesetController:changeset_patch`. This list should be "," separated
 ## Syntax is <ControllerClass>:<function>. Check debug logs for generated names
-## Recommended settings bellow are commented out:
+## Recommended settings below are commented out:
 api_access_controllers_whitelist =
 #    ChangesetController:changeset_patch,
 #    ChangesetController:changeset_raw,
@@ -262,7 +268,7 @@
 ## issue_pat, issue_server_link, issue_prefix can have suffixes to specify
 ## multiple patterns, to other issues server, wiki or others
 ## below an example how to create a wiki pattern
-#  #wiki-some-id -> https://mywiki.com/some-id
+# wiki-some-id -> https://mywiki.com/some-id
 
 #issue_pat_wiki = (?:wiki-)(.+)
 #issue_server_link_wiki = https://mywiki.com/{id}
@@ -294,6 +300,7 @@
 ####################################
 ###        CELERY CONFIG        ####
 ####################################
+
 use_celery = false
 broker.host = localhost
 broker.vhost = rabbitmqhost
@@ -321,6 +328,7 @@
 ####################################
 ###         BEAKER CACHE        ####
 ####################################
+
 beaker.cache.data_dir=%(here)s/data/cache/data
 beaker.cache.lock_dir=%(here)s/data/cache/lock
 
@@ -370,7 +378,7 @@
 #beaker.session.type = file
 
 beaker.session.key = kallithea
-beaker.session.secret = production-rc-uytcxaz
+beaker.session.secret = change-me
 
 ## Secure encrypted cookie. Requires AES and AES python libraries
 ## you must disable beaker.session.secret to use this
@@ -483,6 +491,7 @@
 ##################################
 ###       LOGVIEW CONFIG       ###
 ##################################
+
 logview.sqlalchemy = #faa
 logview.pylons.templating = #bfb
 logview.pylons.util = #eee
@@ -490,9 +499,18 @@
 #########################################################
 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG    ###
 #########################################################
-#sqlalchemy.db1.url = sqlite:///%(here)s/kallithea.db?timeout=30
-sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/kallithea
-#sqlalchemy.db1.url = mysql://root:qweqwe@localhost/kallithea
+
+# SQLITE [default]
+sqlalchemy.db1.url = sqlite:///%(here)s/kallithea.db?timeout=60
+
+# POSTGRESQL
+# sqlalchemy.db1.url = postgresql://user:pass@localhost/kallithea
+
+# MySQL
+# sqlalchemy.db1.url = mysql://user:pass@localhost/kallithea
+
+# see sqlalchemy docs for others
+
 sqlalchemy.db1.echo = false
 sqlalchemy.db1.pool_recycle = 3600
 sqlalchemy.db1.convert_unicode = true
@@ -500,6 +518,7 @@
 ################################
 ### LOGGING CONFIGURATION   ####
 ################################
+
 [loggers]
 keys = root, routes, kallithea, sqlalchemy, beaker, templates, whoosh_indexer
 
@@ -512,6 +531,7 @@
 #############
 ## LOGGERS ##
 #############
+
 [logger_root]
 level = NOTSET
 handlers = console
--- a/test.ini	Wed Jul 02 19:08:38 2014 -0400
+++ b/test.ini	Wed Jul 02 19:08:38 2014 -0400
@@ -1,13 +1,19 @@
 ################################################################################
 ################################################################################
-# Kallithea - Pylons environment configuration                                 #
+# Kallithea - config for tests:                                                #
+# initial_repo_scan = true                                                     #
+# vcs_full_cache = false                                                       #
+# sqlalchemy and kallithea_test.sqlite                                         #
+# custom logging                                                               #
 #                                                                              #
 # The %(here)s variable will be replaced with the parent directory of this file#
 ################################################################################
+################################################################################
 
 [DEFAULT]
 debug = true
 pdebug = false
+
 ################################################################################
 ## Uncomment and replace with the address which should receive                ##
 ## any error reports after application crash                                  ##
@@ -29,25 +35,102 @@
 #smtp_auth =
 
 [server:main]
-## PASTE
-## nr of threads to spawn
+## PASTE ##
+#use = egg:Paste#http
+## nr of worker threads to spawn
 #threadpool_workers = 5
-
 ## max request before thread respawn
 #threadpool_max_requests = 10
-
 ## option to use threads of process
 #use_threadpool = true
 
-#use = egg:Paste#http
-
-## WAITRESS
+## WAITRESS ##
+use = egg:waitress#main
+## number of worker threads
 threads = 5
-## 100GB
+## MAX BODY SIZE 100GB
 max_request_body_size = 107374182400
-use = egg:waitress#main
+## use poll instead of select, fixes fd limits, may not work on old
+## windows systems.
+#asyncore_use_poll = True
+
+## GUNICORN ##
+#use = egg:gunicorn#main
+## number of process workers. You must set `instance_id = *` when this option
+## is set to more than one worker
+#workers = 1
+## process name
+#proc_name = kallithea
+## type of worker class, one of sync, eventlet, gevent, tornado
+## recommended for bigger setup is using of of other than sync one
+#worker_class = sync
+#max_requests = 1000
+## ammount of time a worker can handle request before it gets killed and
+## restarted
+#timeout = 3600
+
+## UWSGI ##
+## run with uwsgi --ini-paste-logged <inifile.ini>
+#[uwsgi]
+#socket = /tmp/uwsgi.sock
+#master = true
+#http = 127.0.0.1:5000
+
+## set as deamon and redirect all output to file
+#daemonize = ./uwsgi_kallithea.log
+
+## master process PID
+#pidfile = ./uwsgi_kallithea.pid
+
+## stats server with workers statistics, use uwsgitop
+## for monitoring, `uwsgitop 127.0.0.1:1717`
+#stats = 127.0.0.1:1717
+#memory-report = true
+
+## log 5XX errors
+#log-5xx = true
 
-host = 0.0.0.0
+## Set the socket listen queue size.
+#listen = 256
+
+## Gracefully Reload workers after the specified amount of managed requests
+## (avoid memory leaks).
+#max-requests = 1000
+
+## enable large buffers
+#buffer-size=65535
+
+## socket and http timeouts ##
+#http-timeout=3600
+#socket-timeout=3600
+
+## Log requests slower than the specified number of milliseconds.
+#log-slow = 10
+
+## Exit if no app can be loaded.
+#need-app = true
+
+## Set lazy mode (load apps in workers instead of master).
+#lazy = true
+
+## scaling ##
+## set cheaper algorithm to use, if not set default will be used
+#cheaper-algo = spare
+
+## minimum number of workers to keep at all times
+#cheaper = 1
+
+## number of workers to spawn at startup
+#cheaper-initial = 1
+
+## maximum number of workers that can be spawned
+#workers = 4
+
+## how many workers should be spawned at a time
+#cheaper-step = 1
+
+## COMMON ##
+host = 127.0.0.1
 port = 5000
 
 ## prefix middleware for rc
@@ -62,26 +145,28 @@
 
 full_stack = true
 static_files = true
-## Optional Languages
-## en, fr, ja, pt_BR, zh_CN, zh_TW, pl
+## Available Languages:
+## de en fr ja pl pt_BR ru zh_CN zh_TW
 lang = en
-cache_dir = /tmp/rc/data
-index_dir = /tmp/rc/index
+cache_dir = %(here)s/data
+index_dir = %(here)s/data/index
 
 ## perform a full repository scan on each server start, this should be
 ## set to false after first startup, to allow faster server restarts.
+#initial_repo_scan = false
 initial_repo_scan = true
 
 ## uncomment and set this path to use archive download cache
-#archive_cache_dir = /tmp/tarballcache
+archive_cache_dir = %(here)s/tarballcache
 
 ## change this to unique ID for security
-app_instance_uuid = rc-production
+app_instance_uuid = test
 
 ## cut off limit for large diffs (size in bytes)
 cut_off_limit = 256000
 
 ## use cache version of scm repo everywhere
+#vcs_full_cache = true
 vcs_full_cache = false
 
 ## force https in Kallithea, fixes https redirects, assumes it's always https
@@ -93,9 +178,6 @@
 ## number of commits stats will parse on each iteration
 commit_parse_limit = 25
 
-## number of items displayed in lightweight dashboard before paginating is shown
-dashboard_items = 100
-
 ## use gravatar service to display avatars
 use_gravatar = true
 
@@ -104,7 +186,7 @@
 
 ## git rev filter option, --all is the default filter, if you need to
 ## hide all refs in changelog switch this to --branches --tags
-git_rev_filter=--all
+#git_rev_filter = --branches --tags
 
 ## RSS feed options
 rss_cut_off_limit = 256000
@@ -115,6 +197,23 @@
 show_sha_length = 12
 show_revision_number = true
 
+## gist URL alias, used to create nicer urls for gist. This should be an
+## url that does rewrites to _admin/gists/<gistid>.
+## example: http://gist.kallithea.server/{gistid}. Empty means use the internal
+## Kallithea url, ie. http[s]://your.kallithea.server/_admin/gists/<gistid>
+gist_alias_url =
+
+## white list of API enabled controllers. This allows to add list of
+## controllers to which access will be enabled by api_key. eg: to enable
+## api access to raw_files put `FilesController:raw`, to enable access to patches
+## add `ChangesetController:changeset_patch`. This list should be "," separated
+## Syntax is <ControllerClass>:<function>. Check debug logs for generated names
+## Recommended settings below are commented out:
+api_access_controllers_whitelist =
+#    ChangesetController:changeset_patch,
+#    ChangesetController:changeset_raw,
+#    FilesController:raw,
+#    FilesController:archivefile
 
 ## alternative_gravatar_url allows you to use your own avatar server application
 ## the following parts of the URL will be replaced
@@ -145,6 +244,9 @@
 
 #clone_uri = {scheme}://{user}{pass}{netloc}{path}
 
+## issue tracker for Kallithea (leave blank to disable, absent for default)
+#bugtracker = https://bitbucket.org/conservancy/kallithea/issues
+
 ## issue tracking mapping for commits messages
 ## comment out issue_pat, issue_server, issue_prefix to enable
 
@@ -168,7 +270,7 @@
 ## issue_pat, issue_server_link, issue_prefix can have suffixes to specify
 ## multiple patterns, to other issues server, wiki or others
 ## below an example how to create a wiki pattern
-#  #wiki-some-id -> https://mywiki.com/some-id
+# wiki-some-id -> https://mywiki.com/some-id
 
 #issue_pat_wiki = (?:wiki-)(.+)
 #issue_server_link_wiki = https://mywiki.com/{id}
@@ -190,10 +292,17 @@
 ## codes don't break the transactions while 4XX codes do
 lock_ret_code = 423
 
+## allows to change the repository location in settings page
+allow_repo_location_change = True
+
+## allows to setup custom hooks in settings page
+allow_custom_hooks_settings = True
+
 
 ####################################
 ###        CELERY CONFIG        ####
 ####################################
+
 use_celery = false
 broker.host = localhost
 broker.vhost = rabbitmqhost
@@ -221,13 +330,14 @@
 ####################################
 ###         BEAKER CACHE        ####
 ####################################
-beaker.cache.data_dir=/tmp/rc/data/cache/data
-beaker.cache.lock_dir=/tmp/rc/data/cache/lock
+
+beaker.cache.data_dir=%(here)s/data/cache/data
+beaker.cache.lock_dir=%(here)s/data/cache/lock
 
 beaker.cache.regions=super_short_term,short_term,long_term,sql_cache_short,sql_cache_med,sql_cache_long
 
 beaker.cache.super_short_term.type=memory
-beaker.cache.super_short_term.expire=1
+beaker.cache.super_short_term.expire=10
 beaker.cache.super_short_term.key_length = 256
 
 beaker.cache.short_term.type=memory
@@ -239,7 +349,7 @@
 beaker.cache.long_term.key_length = 256
 
 beaker.cache.sql_cache_short.type=memory
-beaker.cache.sql_cache_short.expire=1
+beaker.cache.sql_cache_short.expire=10
 beaker.cache.sql_cache_short.key_length = 256
 
 beaker.cache.sql_cache_med.type=memory
@@ -269,14 +379,16 @@
 ## file based cookies (default) ##
 #beaker.session.type = file
 
+beaker.session.key = kallithea
+beaker.session.secret = {74e0cd75-b339-478b-b129-07dd221def1f}
 
-beaker.session.key = kallithea
-## secure cookie requires AES python libraries
+## Secure encrypted cookie. Requires AES and AES python libraries
+## you must disable beaker.session.secret to use this
 #beaker.session.encrypt_key = <key_for_encryption>
 #beaker.session.validate_key = <validation_key>
 
 ## sets session as invalid if it haven't been accessed for given amount of time
-beaker.session.timeout = 3600
+beaker.session.timeout = 2592000
 beaker.session.httponly = true
 #beaker.session.cookie_path = /<your-prefix>
 
@@ -381,6 +493,7 @@
 ##################################
 ###       LOGVIEW CONFIG       ###
 ##################################
+
 logview.sqlalchemy = #faa
 logview.pylons.templating = #bfb
 logview.pylons.util = #eee
@@ -388,9 +501,19 @@
 #########################################################
 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG    ###
 #########################################################
+
+# SQLITE [default]
+#sqlalchemy.db1.url = sqlite:///%(here)s/kallithea.db?timeout=60
 sqlalchemy.db1.url = sqlite:///%(here)s/kallithea_test.sqlite
-#sqlalchemy.db1.url = postgresql://postgres:qwe@localhost/kallithea_test
-#sqlalchemy.db1.url = mysql://root:qwe@localhost/kallithea_test
+
+# POSTGRESQL
+# sqlalchemy.db1.url = postgresql://user:pass@localhost/kallithea
+
+# MySQL
+# sqlalchemy.db1.url = mysql://user:pass@localhost/kallithea
+
+# see sqlalchemy docs for others
+
 sqlalchemy.db1.echo = false
 sqlalchemy.db1.pool_recycle = 3600
 sqlalchemy.db1.convert_unicode = true
@@ -398,6 +521,7 @@
 ################################
 ### LOGGING CONFIGURATION   ####
 ################################
+
 [loggers]
 keys = root, routes, kallithea, sqlalchemy, beaker, templates, whoosh_indexer
 
@@ -410,7 +534,9 @@
 #############
 ## LOGGERS ##
 #############
+
 [logger_root]
+#level = NOTSET
 level = DEBUG
 handlers = console
 
@@ -440,6 +566,8 @@
 propagate = 1
 
 [logger_sqlalchemy]
+#level = INFO
+#handlers = console_sql
 level = ERROR
 handlers = console
 qualname = sqlalchemy.engine
@@ -458,6 +586,7 @@
 [handler_console]
 class = StreamHandler
 args = (sys.stderr,)
+#level = INFO
 level = NOTSET
 formatter = generic