# IVLE - Informatics Virtual Learning Environment
# Copyright (C) 2007-2009 The University of Melbourne
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

# Author: Matt Giuca, Will Grant
#
# This file defines the configuration spec for the ivle.conf file.
# This is used by configobj to validate and convert configuration options.
# Detailed comments can be found in the generated config files.

[urls]
root = string(default="/")
public_host = string
svn_addr = string

[paths]
prefix = string(default="/usr/local")
data = string(default="/var/lib/ivle")
logs = string(default="/var/log/ivle")

share = string(default="${prefix}/share/ivle")

[[jails]]
mounts = string(default="${data}/jailmounts")
src = string(default="${data}/jails")
template = string(default="${src}/__base__")
template_build = string(default="${src}/__base_build__")

[[svn]]
base = string(default="${data}/svn")
conf = string(default="${base}/svn.conf")
group_conf = string(default="${base}/svn-group.conf")
repo_path = string(default="${base}/repositories")
auth_ivle = string(default="${base}/ivle.auth")

[media]
version = string(default=None)

[[externals]]
jquery = string(default="/usr/share/javascript/jquery")

[database]
host = string(default="localhost")
port = integer(default=5432)
name = string(default="ivle")
username = string
password = string

[auth]
modules = string_list(default=list())
ldap_url = string(default=None)
ldap_format_string = string(default=None)
subject_pulldown_modules = string_list(default=list())

[usrmgt]
host = string(default="localhost")
port = integer(default=2178)
magic = string

[jail]
devmode = boolean(default=False)
suite = string(default="hardy")
extra_sources = string_list(default=list())
extra_packages = string_list(default=list())
extra_keys = string(default=None) # Cannot have triple-quoted list members.

# user_info is for jail-specific settings for the user who owns the jail
# (XXX This should be in a user-specific place but since we're worried a user
# may delete his/her .conf file, we put it here for now).
[user_info]
login = string(default=None)
svn_pass = string(default=None)
