]> git.llucax.com Git - software/pymin.git/blobdiff - config.py
Add a ProcessManager class to manage processes.
[software/pymin.git] / config.py
index 5ae043d9ac0f3aa10f308c04590d3aed6a8b8f0e..5854e3497073ce11b418592c2e7b7afd8884a571 100644 (file)
--- a/config.py
+++ b/config.py
@@ -2,23 +2,64 @@
 
 from pymin.services import *
 from pymin.dispatcher import Handler
+from os.path import join
+
+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):
-    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 = '/tmp')
+
+    nat = NatHandler(pickle_dir = join(pickle_path, 'nat'))
+
+    ppp = PppHandler(
+        pickle_dir = join(pickle_path, 'ppp'),
+        config_dir = {
+            'pap-secrets':  '/etc/ppp',
+            'chap-secrets': '/etc/ppp',
+            'options.X':    '/etc/ppp',
+            'nameX':        '/etc/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': '/etc',
+            'zoneX.zone': '/var/lib/named',
+        })
+
+    dhcp = DhcpHandler(
+        pickle_dir = join(pickle_path, 'dhcp'),
+        config_dir = '/etc')
+
     proxy = ProxyHandler(
-        pickle_dir = 'var/lib/pymin/pickle/proxy',
-        config_dir = 'var/lib/pymin/config/proxy')
+        pickle_dir = join(pickle_path, 'proxy'),
+        config_dir = '/etc/squid')
+
+    vrrp = VrrpHandler(
+        pickle_dir = join(pickle_path, 'vrrp'),
+        config_dir = join(config_path, 'vrrp'),
+        pid_dir    = '/var/run')
+    
+    vpn = VpnHandler(
+        pickle_dir = join(pickle_path, 'vpn'),
+        config_dir = '/etc/tinc')
+    #qos = QoSHandler(
+    #  pickle_dir = join(pickle_path, 'qos'),
+    #  config_dir = join(config_path, 'qos'))
 
 bind_addr = \
 (