#
# allura - Pylons development environment configuration
#
# The %(here)s variable will be replaced with the parent directory of this file
#
# This file is for deployment specific config options -- other configuration
# that is always required for the app is done in the config directory,
# and generally should not be modified by end users.

[DEFAULT]
debug = true
# Uncomment and replace with the address which should receive any error reports
#email_to = you@yourdomain.com
smtp_server = localhost
smtp_port = 8826
error_email_from = paste@localhost
# Used to uniquify references to static resources
build_key=1276635823

[server:main]
use = egg:Paste#http
host = 0.0.0.0
port = 8080

[filter-app:profile]
use=egg:keas.profile#profiler
next=main

[app:main]
use = egg:Allura
full_stack = true
use_queue = true

base_url = http://localhost:8080

#lang = ru
cache_dir = %(here)s/data
beaker.session.key = allura
beaker.session.type = cookie
beaker.session.secret = 61ece7db-ba8d-49fe-a923-ab444741708c
beaker.session.validate_key = 714bfe3612c42390726f

# Used to retrieve project info from SFX for private projects
sfx.secret = my-secret-key

# Google Analytics account for tracking
# ga.account = UA-XXXXX-X

registration.method = local
# theme = sftheme
theme = allura
show_export_control = false

# auth.method = ldap
auth.method = local
# auth.login_url = /auth/
# auth.logout_url = /auth/logout

auth.ldap.server = ldap://localhost
auth.ldap.suffix = ou=people,dc=localdomain
auth.ldap.admin_dn = cn=admin,dc=localdomain
auth.ldap.admin_password = secret
auth.ldap.schroot_name = scm

# Set the locations of some static resources
#  script_name is the path that is handled by the application
#  url_base is the prefix that references to the static resources should have
no_redirect.pattern = ^/nf/\d+/_(ew|static)_/.*|^/rest/.*
ew.script_name = /nf/%(build_key)s/_ew_/
ew.url_base = /nf/%(build_key)s/_ew_/
# ew.url_base = ://a.fsdn.com/allura/nf/%(build_key)s/_ew_/
static.script_name = /nf/%(build_key)s/_static_/
static.url_base = /nf/%(build_key)s/_static_/
# static.url_base = ://a.fsdn.com/allura/nf/%(build_key)s/_static_/
# cdn.url_base = //a.fsdn.com/allura

ew.extra_headers = [ ('Access-Control-Allow-Origin', '*') ]

# SCM settings for local development
scm.host.ro.git = /tmp/git$path
scm.host.rw.git = /tmp/git$path
# remote access varies by configuration.  If you are using a vagrant VM, this should work:
#scm.host.rw.git = ssh://vagrant@localhost:2222/tmp/git$path
scm.host.ro.hg = /tmp/hg$path
scm.host.rw.hg = /tmp/hg$path
scm.host.ro.svn = file:///tmp/svn$path/
scm.host.rw.svn = file:///tmp/svn$path/

# SCM settings for chroot + ldap configuration.  See Allura/docs/scm_host.rst
# scm.host.ro.git = git://git.localhost$path
# scm.host.rw.git = ssh://$username@localhost:8022/scm-repo$path
# scm.host.ro.hg = http://hg.localhost$path
# scm.host.rw.hg = ssh://$username@localhost:8022/scm-repo$path
# scm.host.ro.svn = http://svn.localhost$path/
# scm.host.rw.svn = svn+ssh://localhost:8022/scm-repo$path/

# SCM settings for https (sorry no docs for setting these up)
# these settings are currently required by the template, no matter what
scm.host.https.git = https://$username@localhost:8022/scm-repo$path
scm.host.https_anon.git = https://localhost:8022/scm-repo$path
scm.host.https.hg = https://$username@localhost:8022/scm-repo$path
scm.host.https_anon.hg = https://localhost:8022/scm-repo$path
scm.host.https.svn = https://localhost:8022/scm-repo$path/
scm.host.https_anon.svn = https://localhost:8022/scm-repo$path/

scm.clone.git = git clone $source_url $dest_path
scm.clone.hg = hg clone $source_url $dest_path
scm.clone.ro.svn = svn checkout $source_url $dest_path
scm.clone.https_anon.svn = svn checkout $source_url $dest_path
scm.clone.svn = svn checkout --username=$username $source_url $dest_path

scm.new_refresh = true

gitweb.cgi = /usr/lib/cgi-bin/gitweb.cgi

scm.repos.root = /tmp

# Ming setup
ming.main.master = mongodb://127.0.0.1:27017
ming.project.master = mongodb://127.0.0.1:27017
ming.zarkov.master = mongodb://127.0.0.1:27017

ming.main.database = allura
ming.project.database = project-data
ming.zarkov.database = zarkov

# Zarkov host setting, requires the zarkov and gevent libraries.
#zarkov.host = tcp://127.0.0.1:9000

stats.sample_rate = 1

# Async setup
monq.poll_interval=2
amqp.enabled = false
# amqp.hostname = localhost
# amqp.port = 5672
# amqp.userid = testuser
# amqp.password = testpw
# amqp.vhost = testvhost

# OpenID setup
openid.realm = http://localhost:8080/

# SOLR setup
solr.server = http://localhost:8983/solr/core0

# Forgemail server
forgemail.host = 0.0.0.0
forgemail.port = 8825
forgemail.domain = .in.sf.net
forgemail.url = http://localhost:8080
forgemail.return_path = noreply@sf.net

# Special Command settings
# no need to sleep in devel
ensure_index.sleep = 0

# If you'd like to fine-tune the individual locations of the cache data dirs
# for the Cache data, or the Session saves, un-comment the desired settings
# here:
#beaker.cache.data_dir = %(here)s/data/cache
#beaker.session.data_dir = %(here)s/data/sessions

# pick the form for your database
# %(here) may include a ':' character on Windows environments; this can
# invalidate the URI when specifying a SQLite db via path name
# sqlalchemy.url=postgres://username:password@hostname:port/databasename
# sqlalchemy.url=mysql://username:password@hostname:port/databasename


# If you have sqlite, here's a simple default to get you started
# in development

sqlalchemy.url = sqlite:///%(here)s/devdata.db
#echo shouldn't be used together with the logging module.
sqlalchemy.echo = false
sqlalchemy.echo_pool = false
sqlalchemy.pool_recycle = 3600

# if you are using Mako and want to be able to reload
# the mako template from disk during the development phase
# you should say 'true' here
# This option is only used for mako templating engine
# WARNING: if you want to deploy your application using a zipped egg
# (ie: if your application's setup.py defines zip-safe=True, then you
# MUST put "false" for the production environment because there will
# be no disk and real files to compare time with.
# On the contrary if your application defines zip-safe=False and is
# deployed in an unzipped manner, then you can leave this option to true
templating.mako.reloadfromdisk = true

# the compiled template dir is a directory that must be readable by your
# webserver. It will be used to store the resulting templates once compiled
# by the TemplateLookup system.
# During development you generally don't need this option since paste's HTTP
# server will have access to you development directories, but in production
# you'll most certainly want to have apache or nginx to write in a directory
# that does not contain any source code in any form for obvious security reasons.
#
#templating.mako.compiled_templates_dir = /some/dir/where/webserver/has/access

# 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.
#set debug = false

[app:tool_test]
use = egg:Allura
override_root=test_project_root
full_stack = true

cache_dir = %(here)s/data
beaker.session.key = allura
beaker.session.type = cookie
beaker.session.secret = 61ece7db-ba8d-49fe-a923-ab444741708c
beaker.session.validate_key = 714bfe3612c42390726f

# Ming setup
ming.main.master = mongo://127.0.0.1:27017/allura:test

sqlalchemy.url = sqlite:///%(here)s/devdata.db
#echo shouldn't be used together with the logging module.
sqlalchemy.echo = false
sqlalchemy.echo_pool = false
sqlalchemy.pool_recycle = 3600
templating.mako.reloadfromdisk = true

# Forgemail server
forgemail.host = 0.0.0.0
forgemail.port = 8825
forgemail.domain = .in.sf.net
forgemail.return_path = noreply@sourceforge.net
forgemail.url = http://localhost:8080

auth.method = local
registration.method = local

[app:task]
use = main
override_root = task

# Logging configuration
# Add additional loggers, handlers, formatters here
# Uses python's logging config file format
# http://docs.python.org/lib/logging-config-fileformat.html

[loggers]
keys = root, allura, sqlalchemy, paste, amqp, pylons

[handlers]
keys = console, stats

[formatters]
keys = generic, stats

# If you create additional loggers, add them as a key to [loggers]
[logger_root]
level = INFO
handlers = console, stats

[logger_allura]
level = DEBUG
handlers =
qualname = allura

[logger_sqlalchemy]
level = INFO
handlers =
qualname = sqlalchemy.engine
# "level = INFO" logs SQL queries.
# "level = DEBUG" logs SQL queries and results.
# "level = WARN" logs neither.  (Recommended for production systems.)

[logger_paste]
level = INFO
qualname = paste
handlers =

[logger_amqp]
level = INFO
qualname = amqplib
handlers =

[logger_pylons]
level = INFO
qualname = pylons
handlers =

# If you create additional handlers, add them as a key to [handlers]
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[handler_stats]
class = allura.lib.utils.StatsHandler
args = ('rtstats.log', 'allura', 1)
level = NOTSET
formatter = stats

# If you create additional formatters, add them as a key to [formatters]
[formatter_generic]
format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %H:%M:%S

[formatter_stats]
format = %(asctime)s %(created)d %(kwpairs)s
datefmt = %d/%b/%Y:%H:%M:%S UTC
