X-Git-Url: https://git.llucax.com/software/pymin.git/blobdiff_plain/296d853cc95fd5bef262248cfe21b507abd26a4f..4f264c497806764649df5bc5a61ffd525d998471:/config.py diff --git a/config.py b/config.py index 059faae..e16262d 100644 --- a/config.py +++ b/config.py @@ -1,36 +1,74 @@ # vim: set et sts=4 sw=4 encoding=utf-8 : +# First of all, we need to setup the logging framework +import logging +logging.basicConfig( + level = logging.DEBUG, + format = '%(asctime)s %(name)-24s %(levelname)-8s %(message)s', + datefmt = '%a, %d %b %Y %H:%M:%S', +) + from pymin.services import * -from pymin.dispatcher import handler +from pymin.dispatcher import Handler +from os.path import join -# XXX for testing only -@handler -def test_func(*args): - print 'func:', args +base_path = join('var', 'lib', 'pymin') +pickle_path = join(base_path, 'pickle') +# FIXME, this should be specific for each service +config_path = join(base_path, 'config') + +class Root(Handler): -routes = dict \ -( - dhcp = DhcpHandler( - pickle_dir = 'var/lib/pymin/pickle/dhcp', - config_dir = 'var/lib/pymin/config/dhcp', - ), - dns = DnsHandler( - pickle_dir = 'var/lib/pymin/pickle/dns', - config_dir = 'var/lib/pymin/config/dns', - ), firewall = FirewallHandler( - pickle_dir = 'var/lib/pymin/pickle/firewall', - config_dir = 'var/lib/pymin/config/firewall', - ), + pickle_dir = join(pickle_path, 'firewall'), + config_dir = join(config_path, 'firewall')) + + nat = NatHandler(pickle_dir = join(pickle_path, 'nat')) + + ppp = PppHandler( + pickle_dir = join(pickle_path, 'ppp'), + config_dir = { + 'pap-secrets': join(config_path, 'ppp'), + 'chap-secrets': join(config_path, 'ppp'), + 'options.X': join(config_path, 'ppp'), + 'nameX': join(config_path, 'ppp', 'peers'), + }) + + vpn = VpnHandler( + pickle_dir = join(pickle_path, 'vpn'), + config_dir = join(config_path, 'vpn')) + ip = IpHandler( - pickle_dir = 'var/lib/pymin/pickle/ip', - config_dir = 'var/lib/pymin/config/ip', - ), + pickle_dir = join(pickle_path, 'ip'), + config_dir = join(config_path, 'ip')) + + dns = DnsHandler( + pickle_dir = join(pickle_path, 'dns'), + config_dir = { + 'named.conf': join(config_path, 'dns'), + 'zoneX.zone': join(config_path, 'dns', 'zones'), + }) + + dhcp = DhcpHandler( + pickle_dir = join(pickle_path, 'dhcp'), + config_dir = join(config_path, 'dhcp')) + proxy = ProxyHandler( - pickle_dir = 'var/lib/pymin/pickle/proxy', - config_dir = 'var/lib/pymin/config/proxy', - ), -) + pickle_dir = join(pickle_path, 'proxy'), + config_dir = join(config_path, 'proxy')) + + vrrp = VrrpHandler( + pickle_dir = join(pickle_path, 'vrrp'), + config_dir = join(config_path, 'vrrp'), + pid_dir = join(config_path, 'vrrp', 'run')) + + vpn = VpnHandler( + pickle_dir = join(pickle_path, 'vpn'), + config_dir = join(config_path, 'vpn')) + + #qos = QoSHandler( + # pickle_dir = join(pickle_path, 'qos'), + # config_dir = join(config_path, 'qos')) bind_addr = \ (