'sysuser': args['system_user'],
'ipsilondir': BINDIR,
'staticdir': STATICDIR,
- 'admindb': args['database_url'] % {
+ 'admindb': args['admin_dburi'] or args['database_url'] % {
'datadir': args['data_dir'], 'dbname': 'adminconfig'},
- 'usersdb': args['database_url'] % {
+ 'usersdb': args['users_dburi'] or args['database_url'] % {
'datadir': args['data_dir'], 'dbname': 'userprefs'},
- 'transdb': args['database_url'] % {
- 'datadir': args['data_dir'], 'dbname': 'transactions'},
+ 'transdb': args['transaction_dburi'] or args['database_url'] %
+ {'datadir': args['data_dir'], 'dbname': 'transactions'},
'secure': "False" if args['secure'] == "no" else "True",
- 'debugging': "True" if args['server_debugging'] else "False",
- }
+ 'debugging': "True" if args['server_debugging'] else "False"}
# Testing database sessions
if 'session_type' in args:
confopts['sesstype'] = args['session_type']
else:
confopts['sessopt'] = 'path'
confopts['sessval'] = os.path.join(args['data_dir'], 'sessions')
- # Whetehr to disable security (for testing)
+ # Whether to disable security (for testing)
if args['secure'] == 'no':
confopts['secure'] = "False"
confopts['sslrequiressl'] = ""
help="Uninstall the server and all data")
parser.add_argument('--yes', action='store_true',
help="Always answer yes")
+ parser.add_argument('--admin-dburi',
+ help='Configuration database URI (override template)')
+ parser.add_argument('--users-dburi',
+ help='User configuration database URI (override '
+ 'template)')
+ parser.add_argument('--transaction-dburi',
+ help='Transaction database URI (override template)')
lms = []
def install_args(self, group):
group.add_argument('--openid', choices=['yes', 'no'], default='yes',
help='Configure OpenID Provider')
+ group.add_argument('--openid-dburi',
+ help='OpenID database URI')
def configure(self, opts):
if opts['openid'] != 'yes':
po.wipe_data()
po.wipe_config_values()
config = {'endpoint url': url,
- 'identity_url_template': '%sid/%%(username)s' % url}
+ 'identity_url_template': '%sid/%%(username)s' % url,
+ 'database url': opts['openid_dburi'] or
+ opts['database_url'] % {
+ 'datadir': opts['data_dir'], 'dbname': 'openid'}}
po.save_plugin_config(config)
# Update global config to add login plugin
env=env, preexec_fn=os.setsid)
self.processes.append(p)
p.wait()
- for d in ['adminconfig', 'userprefs', 'transactions', 'sessions']:
+ for d in ['adminconfig', 'users', 'transactions', 'sessions']:
cmd = ['/usr/bin/createdb', '-h', addr, '-p', port, d]
subprocess.check_call(cmd, env=env)