]> git.llucax.com Git - software/pymin.git/blob - config.py
Make procman.ProcessInfo.process a read-only property.
[software/pymin.git] / config.py
1 # vim: set et sts=4 sw=4 encoding=utf-8 :
2
3 # First of all, we need to setup the logging framework
4 import logging
5 logging.basicConfig(
6         level   = logging.DEBUG,
7         format  = '%(asctime)s %(name)-24s %(levelname)-8s %(message)s',
8         datefmt = '%a, %d %b %Y %H:%M:%S',
9 )
10
11 from pymin.services import *
12 from pymin.dispatcher import Handler
13 from os.path import join
14
15 base_path = join('var', 'lib', 'pymin')
16 pickle_path = join(base_path, 'pickle')
17 # FIXME, this should be specific for each service
18 config_path = join(base_path, 'config')
19
20 class Root(Handler):
21
22     def __init__(self):
23         try:
24             f = file("/proc/sys/net/ipv4/ip_forward","w")
25             f.write("1")
26             f.close()
27         except (IOError, OSError), e:
28             print "Can't set ip_forward:", e
29         #self.ip.device_up_hook(self.dns)
30
31     firewall = FirewallHandler(
32         pickle_dir = join(pickle_path, 'firewall'),
33         config_dir = join(config_path, 'firewall'))
34
35     nat = NatHandler(pickle_dir = join(pickle_path, 'nat'))
36
37     ppp = PppHandler(
38         pickle_dir = join(pickle_path, 'ppp'),
39         config_dir = {
40             'pap-secrets':  join(config_path, 'ppp'),
41             'chap-secrets': join(config_path, 'ppp'),
42             'options.X':    join(config_path, 'ppp'),
43             'nameX':        join(config_path, 'ppp', 'peers'),
44         })
45
46     vpn = VpnHandler(
47          pickle_dir = join(pickle_path, 'vpn'),
48          config_dir = join(config_path, 'vpn'))
49
50     ip = IpHandler(
51         pickle_dir = join(pickle_path, 'ip'),
52         config_dir = join(config_path, 'ip'))
53
54     dns = DnsHandler(
55         pickle_dir = join(pickle_path, 'dns'),
56         config_dir = {
57             'named.conf': join(config_path, 'dns'),
58             'zoneX.zone': join(config_path, 'dns', 'zones'),
59         })
60
61     dhcp = DhcpHandler(
62         pickle_dir = join(pickle_path, 'dhcp'),
63         config_dir = join(config_path, 'dhcp'))
64
65     proxy = ProxyHandler(
66         pickle_dir = join(pickle_path, 'proxy'),
67         config_dir = join(config_path, 'proxy'))
68
69     vrrp = VrrpHandler(
70         pickle_dir = join(pickle_path, 'vrrp'),
71         config_dir = join(config_path, 'vrrp'),
72         pid_dir    = join(config_path, 'vrrp', 'run'))
73
74     vpn = VpnHandler(
75         pickle_dir = join(pickle_path, 'vpn'),
76         config_dir = join(config_path, 'vpn'))
77
78     #qos = QoSHandler(
79     #    pickle_dir = join(pickle_path, 'qos'),
80     #    config_dir = join(config_path, 'qos'))
81
82 bind_addr = \
83 (
84     '',   # Bind IP ('' is ANY)
85     9999, # Port
86 )
87